三个处理器映射器
1 BeanNameUrlHandlerMapping
<!-- 配置处理器映射器 1-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
2SimpleUrlHandlerMapping
<!-- 配置处理器映射器2SimpleUrlHandlerMapping 使用自定义bean的id匹配-->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/ss.do">userController</prop>
<prop key="/abc.do">userController</prop>
<prop key="/yyy.do">httpId</prop>
</props>
</property>
</bean>
3ControllerClassNameHandlerMapping
<!-- 配置处理器映射器3ControllerClassNameHandlerMapping:直接使用类名访问,类名.do 但是类名首字母小写 -->
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
4自定义bean
<!-- 配置自定义bean -->
<bean id="userController" name="/hello.do" class="cn.itcast.controller.UserController"></bean>
二个处理器适配器
1SimpleControllerHandlerAdapter
<!-- 配置处理器适配器1 负责执行UserController 实现接口 Controller-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
自定义类UserController 实现接口 Controller
package cn.itcast.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class UserController implements Controller{
@Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView mvAndView = new ModelAndView() ;
mvAndView.addObject("hello", "I love too yeah one");
//
//mvAndView.setViewName("/WEB-INF/jsps/index.jsp");
mvAndView.setViewName("index");
return mvAndView;
}
}
2HttpRequestHandlerAdapter
<!-- 配置处理器适配器2 HttpRequestHandlerAdapter:
用来处理实现接口HttpRequestHandler后端控制类Controller -->
<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"></bean>
配置自定义Bean
<!-- 配置自定义bean -->
<bean id="httpId" class="cn.itcast.controller.HttpController"></bean>
自定义类HttpController ,实现接口HttpRequestHandler
package cn.itcast.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.HttpRequestHandler;
public class HttpController implements HttpRequestHandler{
@Override
public void handleRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//给页面返回值
request.setAttribute("hello", "Hello world");
//设置跳转物理视图地址
request.getRequestDispatcher("/WEB-INF/jsps/index.jsp").forward(request, response);
}
}