java-SpringMVC 后台怎么获取前台jsp页面中file中的文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java-SpringMVC 后台怎么获取前台jsp页面中file中的文件相关的知识,希望对你有一定的参考价值。

1.打开SpringMVC的文件上传功能:***-servlet.xml中配置

2.创建上传文件的file.jsp

3.Controller层创建代码

以上操作步骤准确无误,本人JAVA学的很好。

参考技术A 可以这么写
前台
<form action="你的地址" method="post" enctype="multipart/form-data">
<input type="file" name="file">

</form>

后台进行接收的时候
@RequestMapping(value="/你的地址",method = RequestMethod.POST)
public 方法(HttpServletRequest request,MultipartFile file)
//上面的file是按文件名接收的

inputStream is = file.getInputStream();//按此可以得到流

//也可以直接对file进行操作

String name = file.getOriginalFilename();

别忘了配置视图解析器
可以参考这个http://blog.csdn.net/wutbiao/article/details/7454353
参考技术B @RequestMapping("updateHead")
public void updateHead(HttpServletRequest request, HttpServletResponse response) throws Exception
//转换成multi 。。。。

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
//获取文件表单
CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("headFile");
//。。。


这个是需要在spring中配置的文件上传视图解析器
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--1024*1024*100即100M-->
<property name="maxUploadSize" value="104857600" />
</bean>
参考技术C 你后台用java.io.File类型直接去接收就可以,spring直接封装好的本回答被提问者和网友采纳 参考技术D MultipartHttpServletRequest

前台怎么接受后台的数据

参考技术A 通过 await  async

一、通过ajax

二、在action中请求后台的方法

三、通过dom获取标签,触发标签的submit方法,直接提交数据到后台

四、最简单的标签

五、用的最多的表单

六、目前最流行的ajax异步请求 

1、第一步:首先构造需要发送给后台的json格式数据

2、第二步:使用jquery的ajax、load、get、post、getJSON、getScript、getHTML等方法。

七、对于构造json格式对象的数据,有以下几种方法

一、通过ajax

传给后台的数据通过json封装起来,再用ajax将json传到后台,ajax是用到Jquery的ajax,在jsp先加入Jquery的引用

js传值的方法如下

functiontestAjax()

varusers=[name:'张三',age:'21',birth:'1994-12-12',

name:'李四',age:'20',birth:'1995-12-11',

name:'wangwu',age:'20',birth:'1995-12-11'];

    $.ajax(

type:'POST',

data:JSON.stringify(users),

contentType:'application/json',

dataType:'json',

url:'user/saveJsonUser.do',

success:function(data)

alert("OK");

        ,

error:function(e)

alert("error");

       

    );



后台处理:用到springmvc这里参数中要加上@RequestBody,@RequestBody将HTTP请求正文转换为适合的HttpMessageConverter对象。

@RequestMapping(value="/saveJsonUser.do",method=RequestMethod.POST)

publicMapsaveJsonUser(@RequestBodyUser[]users)

for(Useru:users)

System.out.println(u.getName()+"  "+u.getAge()+"  "+u.getBirth());

     

    Map result=newHashMap(); 

result.put("success","123");

returnresult;

</code> 

二、在action中请求后台的方法

但是如果数值在传给后台之前需要校验,可以在form中的onsubmit调用js方法进行校验,js方法的返回值为true时,触发action,返回false时,action不起作用。

三、通过dom获取标签,触发标签的submit方法,直接提交数据到后台

functionquery()

varinputs =document.getElementsByName("sex");//对象是单选选项

for(vari =0; i < inputs.length; i++)

if(inputs[i].checked) //是否选中

            varsex = inputs[i].value;

document.getElementById("query").action = projectName+"/query.do?currentPage=1&stsex="+ sex;

break;

else

document.getElementById("query").action = projectName+"/query.do?currentPage=1";

       

   

document.getElementById("query").submit();//提交到后台



四、最简单的标签

请求服务器

五、用的最多的表单

用户名:

密码:

六、目前最流行的ajax异步请求

1、第一步:首先构造需要发送给后台的json格式数据

varsendData =

forgetType:flag,

loginID:recevData.loginID,

contactType:contactType,

countryCode:countryCode,

areaCode:areaCode,

phone:phone,

email:email,

token:recevData.userInfo.token,

purpose:purpose,

;

2、第二步:使用jquery的ajax、load、get、post、getJSON、getScript、getHTML等方法。

$.ajax(

type:"post",

url:"ResetLoginIDorPwd.action",

data:sendData,

success:function(data)

if(isStrEmpty(data.error))

$("#sendResult").text(sendResult);

        gotoStep3();

else

        $.alert(data.error);

        gotoLoginForm();

       

    ,

error:function()

$.alert("<s:text name="err.system"/>");

        gotoLoginForm();

   

);

七、对于构造json格式对象的数据,有以下几种方法

1:vardata1 =newObject();

data1.username ="liufu";

data1.userpwd ="abc";

data1.age =22;

2:vardata2 =

username:"liufu",

userpwd:"abc"

   

data2.age =22;

  data1 和data2里面的数据是一样的。都可以放在jquery的所有ajax请求功能的方法中的第二个参数位置。

注意:在ajax方法的第二个位置的数据必须是*json格式的对象*  ,而不能够用JSON.stringify(data1)转化为String后再放入

以上是关于java-SpringMVC 后台怎么获取前台jsp页面中file中的文件的主要内容,如果未能解决你的问题,请参考以下文章

asp.net后台怎么返回一个 bool给前台js用

Java在前台怎么获取后台的数据

js前台页面与后台如何传参

jquery ajax获取后台request中的值 ,前台AJAX如下,后台如图

后台封装成jsonarray,前台js如何接收并存储到下拉列表中,急急急。。。

后台传回的Json数据怎么在HTML表单中显示并能动态编辑(添加、删除)