SpringMVC-Controller Dear 丶 2022-12-16 09:19 206阅读 0赞 在SpringMVC中,控制器Controller负责处理由DispatcherServlet分发的请求,它把用户请求数据经过业务处理层处理之后封装成一个Model,然后再把该Mode返回给对应的View进行展示。SpringMVC中提供了一个非常简便的定义Controller的方法,只需使用@Controller标记一个类是Controller ,然后使用@RequestMapping和@RequestParam 等一些注解用以定义URL请求和Controller方法之间的映射,这样的Controller就能被外界访问到。Controller不会直接依赖于HttpServletRequest和HttpServletResponse等HttpServlet对象,它们可以通过Controller的方法参数灵活的获取到。 先定义一个简单的Controller @Controller public class MyController \{ @RequestMapping ( “/showView” ) public ModelAndView showView() \{ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName( “viewName” ); modelAndView.addObject( " model中的属性名称 " , " 对应的属性值,是一个对象 " ); return modelAndView; \} \} @Controller是标记在类MyController上面的,所以类MyController就是一个SpringMVC Controller对象了,然后使用@RequestMapping(“/showView”)标记在Controller方法上,表示当请求/showView.do的时候访问的是MyController的showView方法,该方法返回了一个包括Model和View的ModelAndView对象。 使用@RequestMapping来映射Request请求与处理器 @Controller public class MyController \{ @RequestMapping ( “/showView” ) public ModelAndView showView() \{ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName( “viewName” ); modelAndView.addObject( "model 中的属性名称 " , "对应的属性值,是一个对象 " ); return modelAndView; \} \} 在这个控制器中,因为MyController没有被@RequestMapping标记,所以当需要访问到里面使用了@RequestMapping标记的showView方法时,就是使用的绝对路径/showView.do请求就可以了。 @Controller @RequestMapping ( “/test” ) public class MyController \{ @RequestMapping ( “/showView” ) public ModelAndView showView() \{ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName( “viewName” ); modelAndView.addObject( " model 中的属性名称 " , "对应的属性值,它是一个对象 " ); return modelAndView; \} \} 控制器上加了@RequestMapping注解,所以当需要访问到里面使用了@RequestMapping标记的方法showView()的时候就需要使用showView方法上@RequestMapping相对于控制器MyController上@RequestMapping的地址,所以是/test/showView.do。
还没有评论,来说两句吧...