简单了解一下 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) {[email protected]: 校验 该参数对象
- 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: 处理日期时间参数
SpringMVC 框架的学习(四)
来源: http://www.bubuko.com/infodetail-3184863.html