简单了解一下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: 处理日期时间参数