`

@RequestMapping的用法

 
阅读更多

 @RequestMapping不但支持标准的URL,还支持Ant风格(即?、*和**的字符,参见3.3.2节的内容)的和带{xxx}占位符的URL。以下URL都是合法的:
user/*/createUser
    匹配/user/aaa/createUser、/user/bbb/createUser等URL。

  • /user/**/createUser      匹配/user/createUser、/user/aaa/bbb/createUser等URL。

  • /user/createUser??      匹配/user/createUseraa、/user/createUserbb等URL。

  • /user/{userId}               匹配user/123、user/abc等URL。

  • /user/**/{userId}           匹配user/aaa/bbb/123、user/aaa/456等URL。

  • company/{companyId}/user/{userId}/detail         匹配company/123/user/456/detail等的URL。

 控制器如果处理方法自行使用HttpServletResponse返回响应,处理方法的返回值设置成void即可。

Spring MVC在org.springframework.web.context.request包中定义了若干个可代理Servlet原生API类的接口,如WebRequest和NativeWebRequest,它们也允许作为处理类的入参,通过这些代理类可访问请求对象的任何信息。

 

@RequestMapping(value="/handle1")
	public void handle(HttpServletRequest request,HttpServletResponse response){
		String username = WebUtils.findParameterValue(request, "username");	
	}
 将user保存到session中

 

 

	@RequestMapping(value="handle1")
	public String handle(HttpSession session,@RequestParam("username")String username){
		session.setAttribute("user",username);
		return "success";
	}
      Spring MVC允许控制器的处理方法使用java.io.InputStream/java.io.Reader及java.io.OutputStream/java.io.Writer作为方法的入参。
Spring MVC将获取ServletRequest的InputStream/Reader或ServletResponse的OutputStream/Writer,然后按类型匹配的方式,传递给控制器的处理方法入参。
	@RequestMapping(value="handle2")
	public void handle(OutputStream os) throws Exception{
		Resource res = new ClassPathResource("");
		FileCopyUtils.copy(res.getInputStream(), os);
	}
 使用HttpEntity<T> ResponseEntity<t>
		public ResponseEntity<User> handle2(HttpEntity<User> requestEntity){
		User user = requestEntity.getBody();
		user.setAge(12);
		return new ResponseEntity<User>(user,HttpStatus.OK);
}
数据类型转换
 低版本的Spring 只支持标准
public class User {
      @DateTimeFormat(pattern="yyyy-MM-dd")
      private Date birthday;
}
 的PropertyEditor类型体系, Spring 3.0同时支持PropertyEditor和ConversionService 进行类型转换,在Bean配置、Spring MVC处理方法入参绑定中使用类型转换体系进行工作。
PropertyEditor
由于ConversionService在进行类型转换时,可以使用到Bean所在宿主类的上下文信息(包括类结构,注解信息),所以可以实施更加高级的类型转换,如注解驱动的格式化等功能。
<bean id="expireManager"  
            class="com.book.core.cache.expire.SimpleCacheLogicExpireManager">
        <property name="cacheSpaceList">
            <list>
                <value>comBookSpace:com/comBook/**</value>
                <value>bookSpace:com/book/**:100</value>
                <value>companySpace:com/company/**</value>
            </list>
        </property>
    </bean>
   注册自定义转换器:
 

 

 

 

 

分享到:
评论

相关推荐

    基于框架的Web开发-RequestMapping通配符和占位符.doc

    类上指定的URL相对于应用根目录 @RequestMapping注解可以使用在控制器类和控制器类的方法上,一般情况下,类定义处的@ RequestMapping提供初步的请求映射信息,方法定义处的@ RequestMapping 类上指定的URL相对于...

    Springmvc中 RequestMapping 属性用法归纳.docx

    简介: @RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该...RequestMapping注解有六个属性(分成三类进行说明)与六个基本用法,

    JSF常见注解

    JSF常用注解,常见的JSF注解的使用方法及其解释。

    springmvc-RequestMapping:根据映射的 URL 定位具有 @RequestMapping 注释的整个类或特定处理程序方法

    springmvc-RequestMapping 根据映射的 URL 定位具有 @RequestMapping 注释的整个类或特定处理程序方法目的 : 大多数时候,当我们不熟悉基于 spring 框架的 Web 应用程序时,我们只有一种选择来定位 Controller 类或...

    springmvc02.zip

    使用方法直接下载导入到自己的eclipse工具中,tomcat进行部署,访问地址:http://ip:port/springmvc02/toLogin.do;将login.jsp中的form表单中的action请求路径修改为LoginController类中的相应的@RequestMapping("/...

    基于SSM的高职院校教学中心可视化教学分析系统(源码+部署说明+演示视频).zip

    该系统的源码和部署说明可以帮助开发者更好地理解和使用该系统,同时演示视频也可以让用户更加直观地了解系统的使用方法和操作流程。如果您需要开发或管理类似的教学中心管理系统,这款基于SSM的高职院校教学中心...

    Spring mvc中 RequestMapping 6个基本用法小结

    Spring mvc中@RequestMapping 6个基本用法小结

    license.txt

    但是,如果我们每次使用Json都要在@RequestMapping()中配置produces = "application/json;charset=utf-8"的话就有点麻烦了。 还有一种方法就是在Springmvc 的 中配置Json格式乱码。代码如下: &lt;!--json...

    Bootstrap分页

    * 方法二请求使用ModelAndView * * @param request * @param response * @return * @throws Exception */ @RequestMapping(value = "/userList2.do") public ModelAndView userList2...

    SpringMVC注解开发的详解.doc

    分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理器。

    基于Springboot +activiti实现的一个前后端分离的企业级OA管理系统(源码+数据库)

    基于Springboot +activiti实现...&gt; 在Spring MVC中,被@RequestMapping注解的方法,可以接收 &gt; RedirectAttributes ra参数,通过ra.addFlashAttribute(key,value) &gt; 可以向模板文件中注册名称为key,值为value的对象。

    spring mvc

    只有对应的HandlerMapping (为了实现类型级别的注解)和/ 或HandlerAdapter (为了实现方法级别的注解)出现在 dispatcher中时, @RequestMapping 才会被处理。 这在DispatcherServlet 和DispatcherPortlet 中都是...

    前后端分离—JSON

    Json在后端中常用的用法 @RequestMapping(/json) @ResponseBody public String json1() { User u = new User(张三,18); ObjectMapper obj = new ObjectMapper(); return obj.writeValueAsString(u); } 需要注意...

    reboot:ReBoot:一种重构工具,可在Java Spring-Boot应用程序中自动应用最佳实践

    Spring为@RequestMapping提供了HTTP方法特定的。 与@RequestMapping @GetMapping ,这些自定义注释( @GetMapping , @PostMapping等)不那么冗长且更具表达力。 这种重构也适用于使用项目,因为它们也重复使用...

    netty-http-server:这是一个基于流行的netty项目和spring框架的非常轻便的http服务器

    要求JDK 1.7以上用法1.将spring config类com.xjd.nhs.core.ServerConfig spring config文件中。 // spring-test.xml&lt; bean xss=removed&gt;2.定义一个控制器类来处理请求@Controller@RequestMapping ( value = " /api/...

    SpringBoot常用注解详解含使用示例(值得珍藏)

    Spring Boot是一个开源框架,旨在简化Spring应用程序的创建和部署。它通过提供自动配置和约定优于配置的...通过了解这些常用注解的特性和使用方法,读者可以更有效地利用Spring Boot框架的功能,提高开发效率和质量。

    springmvc 发送ajax出现中文乱码的解决方法汇总

     方法一:  在@RequestMapping里面加入produces = “text/html;charset=UTF-8” @RequestMapping(value = "/configrole", method = RequestMethod.GET, produces = "text/html;charset=UTF-8") public @Respons

    xss-filter-spring-boot-starter:springboot自动xss

    使用方法在项目的pom.xml中加入依赖即口 &lt;groupId&gt;com.djk&lt;/groupId&gt; &lt;artifactId&gt;xss-filter-spring-boot-starter &lt;version&gt;0.0.1 目前支持3种入参数xss过滤 @RequestMapping("/test1") public String test1...

    Spring 4 + REST Web Service + JSON Example with Tomcat

    要映射REST Web服务URL,请使用注释@RequestMapping。Web服务方法参数包含@RequestParam,该属性具有defaultValue属性 ,该值将为请求中不可用的请求参数分配默认值。 要设置环境,我们可以使用Spring Boot快速启动...

Global site tag (gtag.js) - Google Analytics