文件上传
通过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格式的数据 }