[MVC] 深入浅出Spring MVC
转:http://4925054.blog.51cto.com/4915054/1176855

<ignore_js_op style="word-wrap: break-word;">
- /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。
复制代码
<ignore_js_op style="word-wrap: break-word;">

- 将报文体转换为字符串绑定到方法入参中
- @RequestMapping(value= "/handle41")
- publicString handle41(@RequestBody StringrequestBody ) {
- System.out.println(requestBody);
- return "success";
- }
复制代码
- 读取一张图片,并将图片数据输出到响应流中,客户端将显示这张图片
- @ResponseBody
- @RequestMapping(value= "/handle42/{imageId}")
- public byte[]handle42(@PathVariable("imageId") String imageId) throwsIOException {
- System.out.println("load image of"+imageId);
- Resource res = newClassPathResource("/image.jpg");
- byte[] fileData=FileCopyUtils.copyToByteArray(res.getInputStream());
- return fileData;
- }
复制代码
- @RequestMapping(value= "/handle43")
- publicString handle43(HttpEntity<String> httpEntity){
- long contentLen = httpEntity.getHeaders().getContentLength();
- System.out.println(httpEntity.getBody());
- return "success";
- }
- @RequestMapping(params= "method=login")
- public ResponseEntity<String>doFirst(){
- HttpHeaders headers = new HttpHeaders();
- MediaType mt=newMediaType("text","html",Charset.forName(“UTF-8"));
- headers.setContentType(mt);
- ResponseEntity<String> re=null;
- String return = newString("test");
- re=newResponseEntity<String>(return,headers, HttpStatus.OK);
- return re;
- }
复制代码
<ignore_js_op style="word-wrap: break-word;">
-wrap:
<ignore_js_op style="word-wrap: break-word;">
<ignore_js_op style="word-wrap: break-word;">
- <servlet-mapping>
- <servlet-name>default</servlet-name>
- <url-pattern>*.jpg</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>default</servlet-name>
- <url-pattern>*.js</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>default</servlet-name>
- <url-pattern>*.css</url-pattern>
- </servlet-mapping>
复制代码
- Tomcat,Jetty, JBoss, and GlassFish 默认 Servlet的名字 --"default"
- GoogleApp Engine 默认 Servlet的名字 -- "_ah_default"
- Resin 默认 Servlet的名字 --"resin-file"
- WebLogic 默认 Servlet的名字 -- "FileServlet"
- WebSphere 默认 Servlet的名字 --"SimpleFileServlet"
复制代码
- <!-- 对静态资源文件的访问-->
- <mvc:resourcesmapping="/images/**" location="/images/" />
复制代码
- <mvc:default-servlet-handler/>
复制代码
- DefaultAnnotationHandlerMapping的order属性值是:0
- <mvc:resources/>自动注册的 SimpleUrlHandlerMapping的order属性值是:2147483646
- <mvc:default-servlet-handler/>自动注册 的SimpleUrlHandlerMapping的order属性值是: 2147483647
复制代码
[MVC] 深入浅出Spring MVC的更多相关文章
- 深入浅出Spring MVC
摘要 本文旨在详细分析SpringMVC工作原理以及作为开发者如何基于SpringMVC做扩展.因为SpringMVC分析的文章比较多,所以本文重点讲解如何利用SpringMVC的扩展点实现我们的需求 ...
- Spring MVC - 配置Spring MVC
写在前面的话: 现在开始一段新的学习历程:Spring MVC.还是按照原来的三步走学习模式(what.why.how)进行讲解. 1.Spring MVC是什么(what) Spring MVC属于 ...
- java MVC架构-spring mvc,struct2(理解)
MVC架构实现基础: 基于filter或者servlet实现请求地址分析,如果需要控制类处理请求,则调用相应的控制类.调用控制类时,根据配置文件初始化控制类相关的参数.数据库连接可持久化存在.控制类处 ...
- Spring MVC 笔记 —— Spring MVC 文件上传
文件上传 配置MultipartResolver <bean id="multipartResolver" class="org.springframework.w ...
- spring MVC(十)---spring MVC整合mybatis
spring mvc可以通过整合hibernate来实现与数据库的数据交互,也可以通过mybatis来实现,这篇文章是总结一下怎么在springmvc中整合mybatis. 首先mybatis需要用到 ...
- 【MVC】Spring MVC常用配置
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 <!--conf ...
- 【Spring MVC】spring mvc中相同的url请求返回不同的结果
在项目中凡是使用Spring MVC这种控制器的,大多都是返回JSON数据对象,或者JSP页面. 但是相同的URL请求如何让他自动的选择放回的是什么? 在这里有由于鄙人没有亲自测试过,就不敢乱贴代码, ...
- 【spring mvc】spring mvc POST方式接收单个字符串参数,不加注解,接收到的值为null,加上@RequestBody,接收到{"uid":"品牌分类大”},加上@RequestParam报错 ---- GET方式接收单个参数的方法
spring mvc POST方式 接收单个参数,不加任何注解,参数名对应,接收到的值为null spring mvc POST方式 接收单个参数,加上@RequestBody,接收到参数格式:{&q ...
- Spring MVC(二)--Spring MVC登陆实例
本文通过一个简单的登陆实例实现Spring MVC的流程,同时整合 MyBatis使用,流程是这样的: 1.访问一个URL进入登陆界面 2.输入正确的用户名和密码,成功则进入index页面,否则留在登 ...
随机推荐
- Linux基础入门(新版)(实验九-实验十二)
实验九 简单文本入门 一.常用的文本处理命令 二.文本处理命令 1.tr 命令 tr 命令可以用来删除一段文本信息中的某些文字.或者将其进行转换. 使用方式: tr [option]...SET1 [ ...
- Rest文件上传
文件上传时传过来一个stream 代码如下: /// <summary> /// 上传文件 /// </summary> /// <param name="fi ...
- magento添加分类属性
在magento中给产品添加自定义属性是很容易实现在后台就可以很轻易添加,但是给分类就不行了,magento本身没有提供给category添加自定义属性.在实际的运用过程中我们想给cagegory添加 ...
- MySQL的Explain解释器的部分理解
Explain 部分说明进行解释 (1) Extra列的Using Where 表示在进行过滤后在进行Where语句的过滤 (2) type为ref,直接按索引顺序返回,没有 Using fileso ...
- 【题解】【BST】【Leetcode】Validate Binary Search Tree
Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ...
- Windows服务弹出MessageBox对话框
Windows服务弹出MessageBox对话框 自从Windows升级到Vista版本后,系统服务就不在允许弹出那些惨绝人寰的MessageBox了(至于为什么不让弹出,原理有点小复杂,我也不是很门 ...
- 长方形—C++
编程之美一道简单的热身题,活生生的组合数学例子啊. 题意如下: 在 N 条水平线与 M 条竖直线构成的网格中,放 K 枚石子,每个石子都只能放在网格的交叉点上.问在最优的摆放方式下,最多能找到多少四边 ...
- .net利用本地播放器播放视频文件代码
前台点击按钮,执行js事件,跳转到后台代码: function funShowVideo(index) { var iTop = (window.screen.availHeig ...
- 软件工程课程作业(二)--四则运算2改进版(c++)
题目要求: 1.避免题目重复 2.可定制(数量/打印方式) 3.可以控制下列参数 (1)是否有乘除法 (2)是否有括号 (3)数值范围 (4)加减有无负数 (5)除法有无余数 关键设计思想: oper ...
- 关于JSP的C标签之forEach循环分隔符
页面中可能说出现在forEach循环中间需要出力分隔符的问题, 比如: 小明 1年级,小王 2年级, 小张 3年级(循环单位是 ${bean.name} ${bean.class}) 此时的逗号出力, ...