Spring MVC实现文件上传及AJAX

文件上传
  • 通过commons-fileupload实现

    • 配置springmvc的xml配置文件

      <!-- 配置解析器 -->
      <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
          <property name="defaultEncoding" value="utf-8"/>
          <property name="maxUploadSize" value="10485760000"/>
          <property name="maxInMemorySize" value="40960"/>
      </bean>
    • Controller类

      public class FileUploadController {
          @RequestMapping("/upload") //必须要添加@RequestParam("file")
          public String fileupload(@RequestParam("file") CommonsMultipartFile file, HttpServletRequest req) throws IOException {
              //获取文件名
              //file.getOriginalFilename();
              //获取上传文件的路径
              String path = req.getRealPath("/fileupload");
              InputStream is = file.getInputStream();
              OutputStream os = new FileOutputStream(new File(path, file.getOriginalFilename()));
      
              int len = 0;
              byte[] buffer = new byte[400];
              while((len = is.read(buffer)) != -1) {
                  os.write(buffer, 0, len);
              }
              os.close();
              is.close();
              return "/index.jsp";
          }
      }
    • 批量上传,通过数组的形势上传文件


AJAX
  • 使用HttpServletResoinse处理

    • Controller

      @RequestMapping("/ajax")
      public void ajax(String name, HttpServletResponse resp) throws IOException {
          System.out.println(name);
          if("char".equals(name)) {
              resp.getWriter().print("true");
          } else {
              resp.getWriter().print("false");
          }
      }
    • Jquery

      <script type="text/javascript">
      $(function() {
          $('#textName').blur(function() {
              $.post("ajax.do", {'name': $('#textName').val()}, function(data) {
                  alert(data);
              });
          });
      });
      </script>
  • 处理Json格式数据

    • 导入相关jar包(jackson jar包)
    • 配置json转换器

      <!-- 配置json类型转换 -->
      <bean id="stringConverter" class="org.springframework.http.converter.StringHttpMessageConverter">
          <property name="supportedMediaTypes">
              <list>
                  <value>text/plain;charset=UTF-8</value>
              </list>
          </property>
      </bean>
      <bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
      <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
          <property name="messageConverters">
              <list>
                  <ref bean="stringConverter"/>
                  <ref bean="jsonConverter"/>
              </list>
          </property>
      </bean>
    • Controller

      @RequestMapping("/json")
      @ResponseBody
      public List<User> json() {
          List<User> list = new ArrayList();
          list.add(new User(1, "char", "男"));
          list.add(new User(2, "eric", "男"));
          list.add(new User(3, "she", "她"));
          return list; // 直接返回json格式的数据
      }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值