SpringMVC 后台怎么获取前台jsp页面中file中的文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC 后台怎么获取前台jsp页面中file中的文件相关的知识,希望对你有一定的参考价值。
参考技术A SpringMVC默认是关闭fileupload功能的,开启该能够并验证文件上传,需要做如下几件事情:第一:打开SpringMVC的文件上传功能:
***-servlet.xml中配置:
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="100000"/>
<property name="maxInMemorySize" value="10240" />
</bean>
配置后,当SpringMVC接受到multipartRequest的时候,就会把HttpServletRequest转为MultipartHttpServletRequest类型,
第二步:创建上传文件的file.jsp:
<form action="dynamicFields.action?method=uploadFile" method="post" enctype="multipart/form-data"><input type="file" name="myfile" id="myfile" value="" /><br/><input type="submit" value="确认提交"></form>
一定不要漏掉enctype="multipart/form-data",否则web容器认为这不是一个MultipartRequest请求,会报错org.springframework.web.multipart.MultipartException: The current request is not a multipart request。
第三步:Controller层创建代码:
@RequestMapping(params = "method=uploadFile")
public ModelAndView uploadFile(@RequestParam("myfile") MultipartFile myfile,
HttpServletRequest request, HttpServletResponse response) throws Exception
if(!myfile.isEmpty())
logger.info(myfile.getName());
byte[] bs= myfile.getBytes() ;
logger.info(new String(bs));
return null;
部署web应用运行后,能够看到控制台中打印出上传文件的内容,BINGO搞定(SpringMVC依赖common-fileupload.jar,需要加载该jar包)
在springMVC中的Controller层中怎么获取页面中的input中用户输入的值?
参考技术A在springMVC中的Controller层中获取页面中的input中用户输入的值的方法:
后台在采集jsp页面表单里面的数据时没有用到传统的request.getParameter(),而是在controller的传入参数多了几个对象。
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.zyl.nonglin.base.BaseController;
import com.zyl.nonglin.base.entity.Vacate;
@Controller
@RequestMapping(value="/admin/qingjia")
public class VacateController extends BaseController
/**
* 跳转到请假页面
* @param req
* @param resp
* @return
*/
@RequestMapping(value="/toVacate")
public ModelAndView toVacate(HttpServletRequest req,HttpServletResponse resp)
Map<String,Object> context = getRootMap();
return forword("/qingjia/vacate", context);
/**
* 提交请假信息
* @param vacate
* @param req
* @param resp
*/
@RequestMapping(value="/addVacate")
public void addVacate(Vacate vacate,HttpServletRequest req,HttpServletResponse resp)
System.out.println(vacate.getClassNum());//
System.out.println(vacate.getReason());
System.out.println(vacate.getsName());
System.out.println(vacate.getsNum());
System.out.println(vacate.getsPhone());
Spring MVC:
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts2等。
以上是关于SpringMVC 后台怎么获取前台jsp页面中file中的文件的主要内容,如果未能解决你的问题,请参考以下文章
SpringMVC中,前台jsp封装参数,绑定参数,传递参数到后台controller的过程详解123