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'
请求拦截的配置方式
不同方式开发处理器的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'
请求拦截的配置方式
相关文章推荐
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring和ThreadLocal
- Spring Boot 开发微服务
- Spring AOP动态代理-切面
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- 模拟Spring的简单实现
- Spring整合WebSocket应用示例(上)
- spring+html5实现安全传输随机数字密码键盘
- Spring中属性注入详解
- 监听器获取Spring配置文件的方法
- Java利用Sping框架编写RPC远程过程调用服务的教程
- springmvc 发送ajax出现中文乱码的解决方法汇总
- SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
- 详解Java的MyBatis框架和Spring框架的整合运用
- struts2 spring整合fieldError问题
- spring的jdbctemplate的crud的基类dao