zoukankan      html  css  js  c++  java
  • SpringMVC框架的学习(四)

    简单了解一下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-validatejar

         

               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: 处理日期时间参数

  • 相关阅读:
    mongoDB 获取系统时间
    android应用程序监听SMS Intent广播
    安卓开发之探秘蓝牙隐藏API
    Android内存优化解决 资料和总结的经验分享
    android 访问SMS短信收件箱
    Android 和 PHP 之间进行数据加密传输
    Android开发 MMS支持 创建和编辑MMS
    android 动态改变屏幕方向
    Android 使用 Gmail 来发送邮件
    android数据库操作之直接读取db文件
  • 原文地址:https://www.cnblogs.com/meifanghua/p/11469742.html
Copyright © 2011-2022 走看看