SpringMVC处理器映射器 与适配器

一、处理器映射器
     1、BeanNameUrlHandlerMapping
        功能:寻找Controller
  根据url请求去匹配bean的name属性url,从而获取Controller
        <bean
        class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
        </bean>
        <bean name="/hello.do" class="cn.ithuplion.controller.UserController">
        </bean>
        public class UserController implements Controller{
@Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView mv=new ModelAndView();
mv.addObject("hello", "helloworld");
//设置逻辑视图
mv.setViewName("index");
return mv;
}
     }
     2、SimpleUrlHandlerMaping
        功能:寻找Controller
  根据浏览器url匹配简单url的key,key又Controller的id找到Controller
        <bean
         class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello.do">userController</prop>
</props>
</property>
</bean>
     <bean id="userController" class="cn.ithuplion.controller.UserController">
     3、ControllerClassNameHandlerMapping
        功能:寻找Controller
   根据类名(MyController)类名.do来访问,类名首字母小写
<bean
class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">
</bean>
二、处理器适配器
    1、SimpleControllerHandlerAdapter
       功能:执行controller
  调用controller里面方法,返回modelAndView
      <bean
       class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter">
      </bean>
     public class UserController implements Controller{

@Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView mv=new ModelAndView();
mv.addObject("hello", "helloworld");
//设置逻辑视图
mv.setViewName("index");
return mv;
}

}
    2、HttpRequestHandlerAdapter
       功能:执行controller
      <bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter">
      </bean>
     public class HttpController implements HttpRequestHandler{
@Override
public void handleRequest(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
request.setAttribute("hello", "hello tom");
request.getRequestDispatcher("/WEB-
           INF/jsps/index.jsp").forward(request, response);
}

}

猜你喜欢

转载自ithuplion.iteye.com/blog/2372886
今日推荐