重定向
redirect:success.jsp:会完成一个到 success.jsp 的重定向的操作 地址会改变
forward:success.jsp:会完成一个到 success.jsp 的转发操作
文件上传
springMVC 的上传经过封装十分简单
- jsp页面中表单的提交方法要为post,form标签添加属性enctype=“multipart/form-data”
- 在mvc的handler方法中定义MultipartFile类型来接收用户上传的文件
- 在应用上下文中配置Multipart解析器
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 上传文件的最大值, 单位为:字节 50*1024*1024 <property name="maxUploadSize" value="52428800"/> -->
<property name="maxUploadSize" value="#{50*1024*1024}"></property>
</bean>
maxUploadSize 属性注入是如果value值解析为字符串报错,就将双标签搞为单标签
具体上传文件的代码
public String add(MultipartFile avatar,UserInfor ui) {
userService.addUser(ui);
if(avatar.isEmpty()) {//判断是对象是否为空
return "error";
}
String orginName = avatar.getOriginalFilename();//获取文件名称
String destFileName = UUID.randomUUID().toString() + "." + FilenameUtils.getExtension(orginName);//使用uuid重新生成文件名称,加上文件后缀
File destFile = new File("C:\\Users\\12145\\Desktop\\" + destFileName);//生成File对象
try {
avatar.transferTo(destFile);//保存文件
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return "redirect:manage";
}
json数据交互
- 在应用上下文中将解析器配置好
<mvc:annotation-driven></mvc:annotation-driven>
- 在需要返回对象的方法上加上注解
@RequestMapping("userWs")
@ResponseBody
public UserInfor userWsList(){
return userService.getUserList().get(0);
}