今日知识

1. 文件上传
2. ResponseBody和RequestBody
3. SpringMVC多视图
4. 静态资源的处理

文件上传

1. 导包,(commom.io , commons-fileupload)
2. xml配置
* <!--id必须写为multipartResolver-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--文件大小限定-->
<property name="maxUploadSize" value="5120000"/>
</bean>
3. 处理的请求的路径方法
@Controller
public class FileController {
@RequestMapping("upload")
public String upload(MultipartFile file,User user) throws IOException {
//上传路径,文件名
File receive=new File("F://file",file.getOriginalFilename());
//io上传
file.transferTo(receive);
System.out.println(user);
return "success";
}
}
4. jsp页面
* <form action="/upload" enctype="multipart/form-data" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="text" name="password"><br>
头像:<input type="file" name="file"><br>
<input type="submit" value="上传">
</form>
5. 多文件上传
将处理方法的接收参数改成数组即可:MultipartFile[] file

静态资源的处理

1. 方法一:
<!--静态资源处理器
web目录下
classpath
文件路径-->
<mvc:default-servlet-handler/>
2. 方法二
<!-- web目录下-->
<!--mapping;访问的url-->
<!--location:代表静态资源访问的路径-->
<mvc:resources mapping="/pic/**" location="/WEB-INF/pic/"/>
<!-- classpath下-->
<mvc:resources mapping="/pic1/**" location="classpath:/pic1/"/>
<!--访问本地文件路径-->
<mvc:resources mapping="/pic2/**" location="file:F://file/"/>

Spring MVC对json数据的处理

1. ResponseBody
* 把后台pojo转换json对象
1.导包:jackson-core,jackson-mapper
2. RequestBody
* 接受前台json数据,把json数据自动封装javaBean
3. 案例
* @RequestBody:json装换为对象
* @ResponseBody:将对象封装为json返回
*
@RequestMapping("/save")
public @ResponseBody Student list(@RequestBody Student student){
System.out.println(student);
return student;
}
* js代码:
* function register(){
var name=document.getElementById("name").value;
var sex=document.getElementById("sex").value; var url="${pageContext.request.contextPath}/stu/save";
var prmts={"name":name,"sex":sex};
var jsonObj=JSON.stringify(prmts);//转换为json数据提交到后台
$.get(url,prmts,function (data) {
alert(data.name+"------"+data.sex);
},"json");
}
4. @RestController注解代表:该类的所有的方法都返回一个json数据

SpringMVC多视图

1. 概念:多视图是一个方法可以返回json/xml等格式的数据
2. 使用
1. 导包 :spring-oxm.jar
2. <bean
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<!-- 配置支持媒体类型 -->
<property name="contentNegotiationManager">
<bean
class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
<property name="mediaTypes">
<map>
<entry key="json" value="application/json"></entry>
<entry key="xml" value="application/xml"></entry>
</map>
</property>
</bean>
</property> <!-- 指定默认视图 -->
<property name="defaultViews">
<!-- 支持多个视图 -->
<list>
<!-- 对josn格式视图支持 -->
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"/> <!-- xml格式视图支持 -->
<bean class="org.springframework.web.servlet.view.xml.MarshallingView">
<constructor-arg>
<bean class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>com.gyf.backoffice.domain.Student</value>
</list>
</property>
</bean>
</constructor-arg>
</bean>
</list>
</property>
</bean>
3.pojo需要声明 @XmlRootElement
public class Student {
private String name;
private String sex;
4. 访问路径:localhost/stu/save.json(加个后缀即可)
localhost/stu/save.xml

08-SpringMVC02的更多相关文章

  1. iOS系列 基础篇 08 文本与键盘

    iOS系列 基础篇 08 文本与键盘 目录: 1. 扯扯犊子 2. TextField 3. TextView 4. 键盘的打开和关闭 5. 打开/关闭键盘的通知 6. 键盘的种类 7. 最后再扯两句 ...

  2. javaEE基础08

    javaEE基础08 一.继承 特点:继承父类的属性和方法,单继承(多继承) 特性:方法的复写(重写) 比如:人可以养狗 人------>狗:整体和部分(拥有)关系 关键字:extends 结构 ...

  3. 【玩转单片机系列001】 08接口双色LED显示屏驱动方式探索

    前些日子,从淘宝上购得一块08接口的双色LED显示屏(打算做个音乐频谱显示器),捣鼓了好几天,终于搞清楚了其控制原理,在这里做个总结,算是备忘吧. 1.LED显示屏的扫描方式 LED显示屏的扫描方式有 ...

  4. 《HelloGitHub月刊》第08期

    <HelloGitHub>第08期 兴趣是最好的老师,<HelloGitHub>就是帮你找到兴趣! 简介 最开始我只是想把自己在浏览GitHub过程中,发现的有意思.高质量.容 ...

  5. Spring Security(08)——intercept-url配置

    http://elim.iteye.com/blog/2161056 Spring Security(08)--intercept-url配置 博客分类: spring Security Spring ...

  6. [DFNews] EnCase v7.08发布

    EnCase v7.08 近日正式发布,7.08增加了Evidence Processor Manager以及Evidence Processor,不仅可以在本地实现证据处理队列,也支持了通过网络进行 ...

  7. 【博客美化】08.添加"扩大/缩小浏览区域大小" 按钮

    博客园美化相关文章目录: [博客美化]01.推荐和反对炫酷样式 [博客美化]02.公告栏显示个性化时间 [博客美化]03.分享按钮 [博客美化]04.自定义地址栏logo [博客美化]05.添加Git ...

  8. JavaScript学习08 Cookie对象

    JavaScript学习08 Cookie对象 JavaScript Cookie Cookie对象: Cookie是一种以文件的形式保存在客户端硬盘的Cookies文件夹中的用户数据信息(Cooki ...

  9. AC日记——石头剪刀布 openjudge 1.6 08

    08:石头剪刀布 总时间限制:  1000ms 内存限制:  65536kB 描述 石头剪刀布是常见的猜拳游戏.石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负. 一天,小A和小B正好在 ...

  10. AC日记——字符替换 openjudge 1.7 08

    08:字符替换 总时间限制:  1000ms 内存限制:  65536kB 描述 把一个字符串中特定的字符全部用给定的字符替换,得到一个新的字符串. 输入 只有一行,由一个字符串和两个字符组成,中间用 ...

随机推荐

  1. python之对象回收机制

    python中,当程序执行完毕之后,python的垃圾回收机制就会将所有对象回收,清除占用的内存 请看如下代码 class Parent(): def __init__(self,name): sel ...

  2. Spring(一)开篇

    目录 1.Spring 介绍 2.Spring 框架的演变 3.Spring 整体架构 Core Container Data Access/Integration Web AOP Test 最后 1 ...

  3. 7月17日刷题记录 分治Getting!循环比赛日程表

    通过数:1 ┭┮﹏┭┮ qdoj.xyz 1053 分治-循环比赛日程表 其实今天晚上留给编程的时间并不多,做出一道... 不过收获还是非常大的 毕竟本人从来没有学习过分治算法,今天竟然攻克了我人生中 ...

  4. 被裁的第50天,我终于拿到心仪公司Offer

    今天分享的是之前分享文章中被裁的小C,可以看这篇文<寒冬之下,被cai的那些人到底去哪了?>,最近他已经找到心仪公司今日头条Offer,并且即将入职,在应我要求下,他写了篇总结文如下.下文 ...

  5. 阿里云Centos7.X 如何对外开放端口

    一句话:如果你是买的各大厂商的云服务器,去安全组配置对应需要使用到的端口就可以啦! 因为博主用的是阿里云,所以这里就只介绍下阿里云如何开放端口,按着下面三张图来操作就行嘞 这个时候有同学就说了,不通过 ...

  6. Nginx安装目录讲解

    查看nginx相关目录 rpm -ql nginx 查看到如下目录 /etc/logrotate.d/nginx 配置文件 作用:nginx日志轮转,用于logrotate(轮替)服务的日志切割 /e ...

  7. Linux.vim编辑器显示行号

    显示行号 :set number 取消显示行号:set nonumber

  8. shell 条件测试

    1.文件相关 -e 判断文件或者文件夹是否存在 -d 判断目录是否存在 -f 判断文件是否存在 -r 判断是否有读权限 -w 判断是否有写权限 -x 判断是否有执行权限 1.1命令行使用 [root@ ...

  9. RocketMQ 解决 No route info of this topic 异常步骤

    原文地址:https://blog.csdn.net/chenaima1314/article/details/79403113 rocketmq运行时提示 No route info of this ...

  10. (ES6)JavaScript中面向对象类的实现

    在ES5中,我们就知道JS是不支持面向对象的,所以用函数模拟了一个构造函数来实现类的.那么在ES6中,在ES5的原理基础上,将代码书写更为简单,明了. 一.怎样用ES6创建类?首先看一看例子: cla ...