非注解的适配器
1.SimpleUrlHandlerMapping
<!-- 简单URL映射 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<!-- 对 itemsController1 进行url映射,url是/queryItems.action -->
<prop key="/queryItems1.action">controller1</prop>
<prop key="/queryItems2.action">controller1</prop>
</props>
</property>
</bean>
多个映射器可以并存,前端控制器判断url能让哪些处理器映射器映射,就让正确的处理器映射器处理。
所有的映射器都实现了HandlerAdapter接口
2.HttpRequestHandler
public class RequestHandler implements org.springframework.web.HttpRequestHandler{
@Override
public void handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
ArrayList<Items>list=new ArrayList<Items>();
list.add(new Items("小米",1244,"性价比最高"));
list.add(new Items("华为",3999,"华为荣耀,你值得拥有"));
arg0.setAttribute("list", list);
arg0.getRequestDispatcher("/items.jsp").forward(arg0, arg1);
}
}
在springmvc中,配置
<bean id="controller2" class="com.ssm.controller.RequestHandler" ></bean>
然后添加进简单url映射
<!-- 简单URL映射 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<!-- 对 itemsController1 进行url映射,url是/queryItems.action -->
<prop key="/queryItems1.action">controller1</prop>
<prop key="/queryItems2.action">controller1</prop>
<prop key="/queryItems3.action">controller2</prop>
</props>
</property>
</bean>
若是报异常javax.servlet.ServletException: No adapter for handler ,则在springmvc.xml中增加<mvc:annotation-driven />
前端控制器,会从/org/springframework/web/servlet/DispatcherServlet.properties中加载处理映射器,适配器,视图解析器,如果不在springmvc.xml中配置,则使用默认加载的。