非註解的適配器
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中配置,則使用默認加載的。