【framework】spring3-mvc实例-标准参数
2012-09-02 21:42
357 查看
这几篇连续的博文其实是想让大家从几个实际例子中,逐渐理解spring3-mvc在controller层的知识,但并不是从架构角度理解spring-mvc.我觉得标题有误导性,所以换了个名字 |
所谓标准参数,其实就是我们能够得到与request,response等相关标准实例。习惯了用servlet的人,或者对spring不熟悉,又或者spring不能够满足你过于复杂的需求时,这个例子会对你帮助很大。
实例:
项目:spring-mvc-showcase
包:org.springframework.samples.mvc.data.standard
类:StandardArgumentsController
例一:得到HttpServletRequest
@RequestMapping(value="/data/standard/request", method=RequestMethod.GET) public @ResponseBody String standardRequestArgs(HttpServletRequest request, Principal user, Locale locale) { StringBuilder buffer = new StringBuilder(); buffer.append("request = ").append(request).append(", "); buffer.append("userPrincipal = ").append(user).append(", "); buffer.append("requestLocale = ").append(locale); return buffer.toString(); }
这里例子的参数分别为:
HttpServletRequest request 这个不需要解释
Principal user 认证用户
Locale locale 本地环境,一般指语言环境
例二:得到 HttpServletResponse
@RequestMapping("/data/standard/response") public @ResponseBody String response(HttpServletResponse response) { return "response = " + response; }
例三:字符输入流 Reader
@RequestMapping(value="/data/standard/request/reader", method=RequestMethod.POST) public @ResponseBody String requestReader(Reader requestBodyReader) throws IOException { return "Read char request body = " + FileCopyUtils.copyToString(requestBodyReader); }
例四:字符输出流 Writer
@RequestMapping("/data/standard/response/writer") public void availableStandardResponseArguments(Writer responseWriter) throws IOException { responseWriter.write("Wrote char response using Writer"); }
例五:标准字节输入流 InputStream
@RequestMapping(value="/data/standard/request/is", method=RequestMethod.POST) public @ResponseBody String requestReader(InputStream requestBodyIs) throws IOException { return "Read binary request body = " + new String(FileCopyUtils.copyToByteArray(requestBodyIs)); }
例六:标准字节输出流 OutputStream
@RequestMapping("/data/standard/response/os") public void availableStandardResponseArguments(OutputStream os) throws IOException { os.write("Wrote binary response using OutputStream".getBytes()); }
例七:HttpSession
@RequestMapping("/data/standard/session") public @ResponseBody String session(HttpSession session) { StringBuilder buffer = new StringBuilder(); buffer.append("session=").append(session); return buffer.toString(); }
这个例子里没有新注解,需要说明。
相关文章推荐
- 【framework】spring3-mvc实例-redirect(请求转发)
- 【framework】spring3-mvc实例-信息转换
- spring mvc url 参数传递出现中文乱码解决办法
- Spring3 MVC请求参数获取的几种方法小结
- Spring3 MVC请求参数获取的几种方法
- Spring Framework MVC 学习感想!
- spring+springmvc+ibatis整合注解方式实例(附带数据库)
- Spring3 MVC请求参数获取的几种方法
- Spring MVC+Ajax创建实例
- 30、SSH框架-Spring+Mybatis+SpringMVC后台与前台分页展示实例(附工程)(5)
- MyBatis代码实例系列-05:Mybatis初步整合Spring + Spring MVC框架,实现Web请求实例
- Spring MVC Framework Tutorial
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(七)JDBC url的连接参数
- springmvc+hibernate的一个简单实例 推荐
- ASP.NET MVC Framework体验(1):从一个简单实例开始
- SSM框架整合实例,包能用( Spring SpringMVC Mybatis )
- springmvc + jquery + pager分页实例
- Spring MVC+FastJson+hibernate-validator整合的完整实例教程
- SpringMVC+Hibernate+Spring整合实例(二)
- ###Springmvc封装复杂表单数据:表单提交多个实体类的参数【对象类型参数,自动封装】name属性值不能重复。和实体类属性名一致