简单了解一下Spring Mvc中的文件上传
1首先需要(Fileupload)(commons-io)的jar包
2配置文件上传解析器
<!-- 配置文件上传解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="99999999"/>
</bean>
3 在Controller层
@RequestMapping("upload") //HttpServletRequest获取文件上传路径
public String upload(MultipartFile myfile,HttpServletRequest request) {
//获取文件上传的真实路径
String path=request.getServletContext().getRealPath("/upload");
System.out.println(path);
//创建一个文件对象
File file=new File(path);
if(!file.exists()) {
file.mkdirs();
}
//获取文件名
String name=System.currentTimeMillis()+myfile.getOriginalFilename();
File targetFile=new File(path+"/"+name);
try {
//把文件写入指定目录
FileUtils.writeByteArrayToFile(targetFile, myfile.getBytes());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "login";
}
介绍Spring中的拦截器
1 创建一个类实现接口Handerlnterceptor
<!-- 配置拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="user/**"/> 需要拦截的路径
<mvc:exclude-mapping path="/user/login.jsp"/>// 此标签需要放行的路径
<mvc:exclude-mapping path="/user/denglu"/>
<mvc:exclude-mapping path="/user/toRegister"/>
<bean class="com.zhiyou100.xth.interceptor.MyInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
介绍Spring的数据校验
1.引入Hibernate-validate的jar包
2. 在相应的实体类属性上加上校验注解。
@NotEmpty(message="用户名不能为空")
private String name;
@Length(min=3,max=6,message="密码的长度为[3~6]")
private String password;
3.在控制层接受参数的地方加上 @Valid 如果参数不符合校验 把错误封装到BindingResult对象中。
@RequestMapping("register")
public String register1(@Valid User user, BindingResult br, Model model) {-----@valid:校验 该参数对象
if(br.hasErrors()) {//此处是判断有无错误信息 //BindingResult br把验证的所有测试信息封装到BildingResult类中
Map<String,Object> map=new HashMap<String,Object>();
List<FieldError> fieldErrors = br.getFieldErrors();
for (FieldError fieldError : fieldErrors) {
map.put(fieldError.getField(),fieldError.getDefaultMessage());
}
}
return "list";
}
Springmvc:注解有哪些。
@Controller : 标注该类为控制层类。
@RequestMappint: 标注请求的地址
@ResponseBody: 把java对象转化为json对象。
@Valid: 标注校验该数据
@PathVariable: 接受uri地址的值赋给方法的参数
@SessionAttributes
@RequestParam
@ExceptionAdvice: 标注一个类为异常处理类
@ExceptionHandler: 标注一个方法为异常处理的方法。
@InitBinder: 处理日期时间参数