<servlet> <servlet-name>springMvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
在WEB-INF下添加spring的配置文件spring-mvc.xml 文件内容如下:
<!-- 启动spring自动扫描 --> <context:component-scan base-package="com.morel.tiger.control"/> <!-- 支持spring3.0新的mvc注解 --> <mvc:annotation-driven />
创建UserController如下:
@Controller @RequestMapping("/user.do") public class UserController { @RequestMapping(params="method=add") public String addUser(Model model){ model.addAttribute("message", "添加了一个用户"); System.out.println("UserController.addUser()"); return "/WEB-INF/jsp/addsuc.jsp"; } }
其中@RequestMapping("/user.do")的配置是指:该controller的请求url为:user.do
@RequestMapping(params="method=add"):凡是请求的url为:user.do而带了参数method=add的请求会由方法addUser来处理。
return "/WEB-INF/templates/success.vm"; 是告诉spring完成处理之后直接进入该视图。
可以编写多个处理请求的方法,而这些方法的调用都是通过@RequestMapping的属性类控制调用的。
RequestMapping的设置
在类的上面注解@RequestMapping("/ex.do")意思为所有的ex.do请求全部进入该类处理。
当然可以编写多个处理请求的方法,而这些方法的调用都是通过@RequestMapping的属性类控制调用的。
value:指定请求的实际地址(value可以省略不写)
method:指定请求的method类型,GET、POST、PUT、DELETE等;(也就是说只有制定类型的请求才会进入该方法处理)
consumes:指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
params: 指定request中必须包含某些参数值是,才让该方法处理。
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。
value属性:
@Controller @RequestMapping("/user") public class UserController{ @RequestMapping(value="/some.do") public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { System.out.println("handleRequest"); return new ModelAndView("/WEB-INF/jsp/addsuc.jsp"); } }
value:指定请求的实际地址,指定的地址可以是URI Template模式(最终请求的url为:类注解的url+方法注解的url)
value的uri值为以下三类:
A)可以指定为普通的具体值:@RequestMapping(value="/some.do")
该注解的是说:请求的url为”user/some.do”就会进入该方法(handleRequest)处理。
B)可以指定为含有某变量的一类值:@RequestMapping(value="/{userId}/delete.do",method=RequestMethod.GET)
这个注解:url中带了参数的数据userId url:user/1123/delete.do
C)可以指定为含正则表达式的一类值
如:
@RequestMapping(value="/{userBirth:\\d{4}-\\d{2}-\\d{2}}/update.do") public String update(@PathVariable String userBirth){ System.out.println("userBirth:"+userBirth); return "/WEB-INF/jsp/addsuc.jsp"; }
请求的url类似:user/1990-11-11/update.do
使用@PathVariable指定形参接收url中的数据
当类没有@RequestMapping注解时,则直接参考方法的注解匹配对于的url。如:
@Controller public class UserController{ @Controller @RequestMapping("/user.do") public void managerUser(){} }
在这里url为user.do则直接使用managerUser处理请求。
相关推荐
maven spring-mvc框架搭建maven spring-mvc框架搭建
代码为本人查看源码后,对于SpringMVC的理解,搭建的简易版框架,与源码有一定差距,主要是用于理解SpringMVC框架。如有不实之处,请予以指出。
以上jar包是搭建Spring-mvc框架时所用到的全部jar包。
只包含了spring-mvc部分,而且使用maven搭建的,全空框架,没有集成持久层框架!
通过maven搭建的spring-mvc+hibernate+druil的框架所有已经配置OK里面也有例子很简单的。
springMVC与hibernate整合实例
spring web mvc 框架搭建jar包 版本 4.1.2 -jar
Spring MVC 框架搭建及详解 适合郁闷程序员 超级有用
spring mvc 框架搭建,实践系统操作
Spring MVC是时下流行的MVC框架,配置使用都很方便。欢迎大家一起学习提升。
应用Spring3.2.6以及Hibernate4搭建MVC模式的网络开发框架
Spring MVC 框架搭建及详解 - OPEN 开发经验库.htm
此文档是一个有关spring_MVC 框架搭建以及详解的文档
现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来...
该项目为MetroNic+Mybatis+ Spring MVC框架搭建的web项目
为了方便学习ssm自己建了一个ssm框架的通用模版,方便自己以后直接在上面扩展
Spring+Spring MVC+Mybatis框架搭建,压缩包中有详细文档,表结构sql.前段采用jsp.请使用IDEA打开。
一个动态的java web 工程,使用了spring_mvc框架搭建了一个小小的实例,愿和大家一起共享之,谢谢。希望能帮助到搭建,最近也在打算再次使用spring_mvc框架,却发现网上却少有实例可以提供参考,故而得空自己写了一...