非註解的映射器和適配器

非註解的適配器

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



發佈了334 篇原創文章 · 獲贊 37 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章