【framework】spring3-mvc实例-标准参数

简介:

 

这几篇连续的博文其实是想让大家从几个实际例子中,逐渐理解spring3-mvc在controller层的知识,但并不是从架构角度理解spring-mvc.我觉得标题有误导性,所以换了个名字

前言

所谓标准参数,其实就是我们能够得到与request,response等相关标准实例。习惯了用servlet的人,或者对spring不熟悉,又或者spring不能够满足你过于复杂的需求时,这个例子会对你帮助很大。 

实例:

项目:spring-mvc-showcase

包:org.springframework.samples.mvc.data.standard

类:StandardArgumentsController 

例一:得到HttpServletRequest

 
 
  1. @RequestMapping(value="/data/standard/request"method=RequestMethod.GET)   
  2.     public @ResponseBody String standardRequestArgs(HttpServletRequest request, Principal user, Locale locale) {   
  3.         StringBuilder buffer = new StringBuilder();   
  4.         buffer.append("request = ").append(request).append(", ");   
  5.         buffer.append("userPrincipal = ").append(user).append(", ");   
  6.         buffer.append("requestLocale = ").append(locale);   
  7.         return buffer.toString();   
  8.     } 

 这里例子的参数分别为:

HttpServletRequest  request 这个不需要解释

Principal user 认证用户

Locale locale  本地环境,一般指语言环境  

例二:得到 HttpServletResponse

 
 
  1. @RequestMapping("/data/standard/response")   
  2.     public @ResponseBody String response(HttpServletResponse response) {   
  3.         return "response = " + response;   
  4.     } 

 例三:字符输入流 Reader

 
 
  1. @RequestMapping(value="/data/standard/request/reader"method=RequestMethod.POST)   
  2.     public @ResponseBody String requestReader(Reader requestBodyReader) throws IOException {   
  3.         return "Read char request body = " + FileCopyUtils.copyToString(requestBodyReader);   
  4.     } 

例四:字符输出流 Writer

 
 
  1. @RequestMapping("/data/standard/response/writer")   
  2.     public void availableStandardResponseArguments(Writer responseWriter) throws IOException {   
  3.         responseWriter.write("Wrote char response using Writer");   
  4.     } 

例五:标准字节输入流 InputStream

 
 
  1. @RequestMapping(value="/data/standard/request/is"method=RequestMethod.POST)   
  2. public @ResponseBody String requestReader(InputStream requestBodyIs) throws IOException {   
  3.     return "Read binary request body = " + new String(FileCopyUtils.copyToByteArray(requestBodyIs));   

 例六:标准字节输出流 OutputStream

 
 
  1. @RequestMapping("/data/standard/response/os")   
  2.     public void availableStandardResponseArguments(OutputStream os) throws IOException {   
  3.         os.write("Wrote binary response using OutputStream".getBytes());   
  4.     } 

 例七:HttpSession

 
 
  1. @RequestMapping("/data/standard/session")   
  2. public @ResponseBody String session(HttpSession session) {   
  3.     StringBuilder buffer = new StringBuilder();   
  4.     buffer.append("session=").append(session);   
  5.     return buffer.toString();   
  6. }  

 

这个例子里没有新注解,需要说明。










本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/yjplxq/980216,如需转载请自行联系原作者
目录
相关文章
|
9天前
|
Java 数据库连接 Spring
Spring Boot命令行启动添加参数
Spring Boot命令行启动添加参数
|
27天前
|
XML Java 数据库连接
spring boot 参数的过滤注解与实战
在Spring Boot应用中,对于入参的过滤,通常会涉及到对Web层的数据验证和处理。Spring Boot借助Spring框架提供了强大的验证框架支持,主要基于JSR-303/JSR-380(Bean Validation API)规范,以及Spring自身的@Valid或@Validated注解来实现请求参数的验证。以下是一些常见的使用案例来展示如何对参数进行过滤和验证。
24 1
|
1月前
|
监控 Java 数据处理
【Spring云原生】Spring Batch:海量数据高并发任务处理!数据处理纵享新丝滑!事务管理机制+并行处理+实例应用讲解
【Spring云原生】Spring Batch:海量数据高并发任务处理!数据处理纵享新丝滑!事务管理机制+并行处理+实例应用讲解
|
3月前
|
Java 数据安全/隐私保护
SpringBoot - 优雅的实现【参数分组校验】高级进阶
SpringBoot - 优雅的实现【参数分组校验】高级进阶
39 0
|
1月前
|
前端开发 Java Spring
Java 新手如何使用Spring MVC 中的查询字符串和查询参数
Java 新手如何使用Spring MVC 中的查询字符串和查询参数
|
1月前
|
存储 NoSQL 前端开发
【SpringBoot】Redis集中管理Session和自定义用户参数解决登录状态及校验问题
【SpringBoot】Redis集中管理Session和自定义用户参数解决登录状态及校验问题
|
2月前
|
JSON 前端开发 Java
【JavaEE进阶】 Spring请求如何传递参数详解
【JavaEE进阶】 Spring请求如何传递参数详解
|
3月前
|
JSON 前端开发 Java
开发必备技能:探索Spring MVC请求映射和参数绑定的奇妙之旅!
开发必备技能:探索Spring MVC请求映射和参数绑定的奇妙之旅!
|
3月前
|
消息中间件 Java Spring
RabbitMQ各种模式的含义与Spring Boot实例详解
RabbitMQ各种模式的含义与Spring Boot实例详解
33 0
|
3月前
|
Java Spring
SpringBoot - 优雅的实现【自定义参数校验】高级进阶
SpringBoot - 优雅的实现【自定义参数校验】高级进阶
41 0