您的位置:首页 > 编程语言 > Java开发

springMvc 的三种url映射处理器的实现

2016-06-24 00:00 267 查看
摘要: springMvc有三种开发处理器的方式:1 实现org.springframework.web.HttpRequestHandler ,2 实现org.springframework.web.servlet.mvc.Controller , 3 使用注解@Controller
不同方式开发处理器的url映射方式也不相同,本文介绍这几种方式的映射方式及开发方式

1 . 实现接口org.springframework.web.HttpRequestHandler

当进行跳转时是jsp文件

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

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

<!-- 根据bean的name 映射 处理器 -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!-- 请求控制适配器 -->
<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/>

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

此时请求的url:http://localhost:8080/wxdl-springmvc/item

2. 实现接口org.springframework.web.servlet.mvc.Controller

ModelAndView modelAndView = [b]new[/b] ModelAndView();
modelAndView.addObject("list", list); //封装需在前端操作的数据
modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
//指定需要显示的页面
[b]return[/b] 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
[b]public[/b] [b]class[/b] ItemController{
@RequestMapping("/itemlist")
[b]public[/b] ModelAndView itemsList(){
....
ModelAndView modelAndView = [b]new[/b] ModelAndView();
modelAndView.addObject("list", list); //封装需在前端操作的数据
modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
//指定需要显示的页面
[b]return[/b] 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



[b]注:涉及指向.jsp页面时, Web.xml中配置的拦截应该是/[/b]

<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>[b]/[/b]</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'

请求拦截的配置方式

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring springmvc