springMvc 的三種url映射處理器的實現

1 . 實現接口org.springframework.web.HttpRequestHandler前端

 

當進行跳轉時是jsp文件web

request.getRequestDispatcher("/WEB-INF/jsp/items/itemsList.jsp").forward(request, response);spring

 

springMvc.xml中指定映射器和適配器mvc

<!-- 根據bean的name 映射  處理器 -->app

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>jsp

<!-- 請求控制適配器 -->url

<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/>spa

 

<bean name="/item" class="cn.wxdl.controller.ItemController2"></bean>.net

此時請求的url:http://localhost:8080/wxdl-springmvc/itemcomponent

 

2. 實現接口org.springframework.web.servlet.mvc.Controller

    ModelAndView modelAndView = new ModelAndView();

modelAndView.addObject("list", list); //封裝需在前端操做的數據

modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");

   //指定須要顯示的頁面

return modelAndView;

 

springMvc.xml中指定適配器,映射器仍是BeanNameUrlHandlerMapping

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

 

<bean name="/item" class="cn.wxdl.controller.ItemController2"></bean>

此時請求的url:http://localhost:8080/wxdl-springmvc/item

 

3註解@Controller ,實現了org.springframework.web.servlet.mvc.Controller

@RequestMapping 中的value就是請求的url

@Controller

public class ItemController{

@RequestMapping("/itemlist")

 public ModelAndView itemsList(){

          ....

    ModelAndView modelAndView = new ModelAndView();

modelAndView.addObject("list", list); //封裝需在前端操做的數據

modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");

   //指定須要顯示的頁面

return modelAndView; 

}

 

springMvc.xml中指定映射器和適配器

<!-- 註解 請求映射的映射器 和 適配器 -->

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>

開啓自動掃描就不須要手動配置bean映射了

<context:component-scan base-package="cn.wxdl.controller"/>

此時請求的url是:http://localhost:8080/wxdl-springmvc/itemlist

 

注:涉及指向.jsp頁面時, Web.xml中配置的攔截應該是/

<servlet-mapping>

<servlet-name>springmvc</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

若配置成/* ,則會將指向jsp文件的請求攔截掉,會發出警告

警告: No mapping found for HTTP request with URI [/wxdl-springmvc/WEB-INF/jsp/items/itemsList.jsp] in DispatcherServlet with name 'springmvc'

請求攔截的配置方式

相關文章
相關標籤/搜索