1.非注解的處理器映射器(HandlerMapping)
1.訪問:
http://localhost:8080/queryItems.action
<bean name="/queryItems.action" class="spring.ssm.controller.ItemsController"/>
<!-- 處理器映射器
將bean的name作為url進(jìn)行查找,需要在配置Handler時(shí)指定beanname(就是url)
所有的映射器都實(shí)現(xiàn)了HandlerMapping接口
-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
2.簡單URL映射
訪問:http://localhost:8080/huan.action
http://localhost:8080/ma.action
<bean name="/queryItems.action" class="spring.ssm.controller.ItemsController"/>
<!--簡單URL映射-->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props >
<prop key="/huan.action">itemsController</prop>
<prop key="/ma.action">itemsController</prop>
</props>
</property>
</bean>
具體配置內(nèi)容見:SpringMVC框架入門--(學(xué)習(xí)筆記)
2.非注解的適配器(HandlerAdapter)
1.適配器
SimpleControllerHandlerAdapter
- 要求所有的
Handler
實(shí)現(xiàn)Controller
接口
<!--要求所有的Handler實(shí)現(xiàn)Controller接口-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
package spring.ssm.controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import spring.ssm.pojo.Items;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
/**
* Created by ubuntu on 17-7-6.
*/
//實(shí)現(xiàn)Controller接口的處理器
public class ItemsController implements Controller{
public ModelAndView handleRequest(HttpServletRequest Request, HttpServletResponse Response) throws Exception {
List<Items> list = new ArrayList<Items>();
Items items_1 = new Items();
items_1.setName("小米筆記本");
items_1.setPrice(6000f);
items_1.setDetail("ThinkPad T430 小米筆記本電腦肺魁!");
Items items_2 = new Items();
items_2.setName("小米手機(jī)");
items_2.setPrice(5000f);
items_2.setDetail("mix小米手機(jī)唆姐!");
list.add(items_1);
list.add(items_2);
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("itemsList",list);
modelAndView.setViewName("WEB-INF/items/itemsList.jsp");
return modelAndView;
}
}
2.適配器HttpRequestHandlerAdapter
- 要求編寫的Handler實(shí)現(xiàn)
HttpRequestHandler
接口
<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/>
package spring.ssm.controller;
import org.springframework.web.HttpRequestHandler;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import spring.ssm.pojo.Items;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* Created by ubuntu on 17-7-6.
*/
//實(shí)現(xiàn)Controller接口的處理器
public class ItemsController2 implements HttpRequestHandler {
public void handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
List<Items> list = new ArrayList<Items>();
Items items_1 = new Items();
items_1.setName("小米筆記本");
items_1.setPrice(6000f);
items_1.setDetail("ThinkPad T430 小米筆記本電腦!");
Items items_2 = new Items();
items_2.setName("小米手機(jī)");
items_2.setPrice(5000f);
items_2.setDetail("mix小米手機(jī)陷寝!");
list.add(items_1);
list.add(items_2);
httpServletRequest.setAttribute("itemsList",list);
httpServletRequest.getRequestDispatcher("WEB-INF/items/itemsList.jsp").forward(httpServletRequest,httpServletResponse);
}
}
總結(jié):映射器就是通過URL找Handler(Controller)
適配器就是按照要求的規(guī)則執(zhí)行Handler(Controller)
.
上一篇文章:SpringMVC框架入門--(學(xué)習(xí)筆記)