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'

请求拦截的配置方式

相关文章
相关标签/搜索