Struts2中文件上传请求转发问题求解

问题描述

嗨,各位,我想实现一个Struts2的文件上传功能,客户端通过jsp页面上传文件,Struts2服务器端根据一定的策略将这个上传请求转发到别的机器上的Struts2子服务器端,并在子服务器端接收该服务。目前我使用的方式是Struts2+socket传输。试过用Servlet的转发和重定向都不行,不知道有没有人做过相关的工作 问题补充:283433775 写道

解决方案

一般来说,不同域的request是不可以重用的,所以按理说是不行的,但我觉得既然是request请求,他们的差别就在于这个请求里面的内容,包括 http header 和一些参数内容,你可以在A服务器调用B服务器的时候,将A发送的这些request模拟出来,给B服务器构造一个类型的request请求。但是我又想了,这样对于上传文件并不可行啊,因为前台与服务器之间建立连接了,所以会传个文件,如果你模拟了http请求,可是你将这些请求转给B服务器的时候,客户端与B服务之间并没有建立连接,所以不可能能传文件的。我不明白你为什么非要去转?在jsp里面直接调用B的webservice进行上传不久行了吗?
解决方案二:
除了你自己使用的Socket传输之外,我说一说我的想法:假设本地服务器为A,对应于web应用webA远端的服务器为B,对应于web应用webBwebA是当前用于上传文件的应用,webB是你所说的子服务器方法一:1、先将文件file.rar上传到当前A服务器的指定目录上,如/opt/upload2、两种可选方案1)webA通过Java的FTP操作,将文件发送到服务器B的指定目录上2)上传完毕后,webA向webB发送一条信息,告诉他到A服务器的指定位置获取文件
解决方案三:
既然是不同的服务器之间,不如将服务端上传功能做成webservice,然后去调用。A服务器的jsp发送上传文件请求,然后到struts2 的后台处理,这时A服务器的后台处理调用B服务器的上传Webservice,这样不就解决问题了?

时间: 2024-08-01 23:30:22

Struts2中文件上传请求转发问题求解的相关文章

struts2中文件上传拦截器 是不是不能在多个action中引用???

问题描述 <global-results> <result name="input">/message.jsp</result></global-results><!--定义全局的返回视图--><action name="updateHead" class="updateHead"> <interceptor-ref name="fileUpload"

struts2中文件上传详解

struts2中文件上传的二个限制,一个是struts.multipart.maxSize,如果不设置,struts2 的核心包下的default.properties文件里有默认的大小设置struts.multipart.maxSize=2097152,即2M. 这是struts2文件上传的第一道关. 第二道关是inteceptor中的maximumSize. 当真实的文件大小能通过第一道关时.针对不同的action中配置的inteceptor,maximumSize才能发挥相应的拦截作用.

struts2的文件上传和文件下载

实现使用Struts2文件上传和文件下载: 注意点: (1)对应表单的file1和私有成员变量的名称必须一致  <input type="file" name="file1"/>        private File file1;   (2)限制上传文件大小和类型的格式是定死的,最好记住,记不住知道去哪里查:虽然不做要求,完全懂框架内部的机制,但是找一些东西还是需要能找到的,这样你可以很好的实现一些功能,因为这些关键字都是框架底层定义好的,图一是找到配

JavaWeb中struts2实现文件上传下载功能实例解析_java

在做B/S系统时,通常会涉及到上传文件和下载文件,在没接struts2框架之前,我们都是使用apache下面的commons子项目的FileUpload组件来进行文件的上传,但是那样做的话,代码看起来比较繁琐,而且不灵活,在学习了struts2后,struts2为文件上传下载提供了更好的实现机制,在这里我分别就单文件上传和多文件上传的源代码进行一下讲解,这里需要导入文件下载上传的两个jar文件,一个是commons-fileupload-1.2.2.jar,另一个是commons-io-2.0.

java中struts2实现文件上传下载功能_java

先谈一谈struts2实现文件的上传和下载实例实现的原理: Struts 2是通过Commons FileUpload文件上传. Commons FileUpload通过将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中.从而我们就能够以本地文件方式的操作浏览器上传的文件. 具体实现: 一.创建index.jsp页面 <body> <s:form action="upload" method="p

JavaEE中struts2实现文件上传下载功能实例解析_java

本文实例为大家分享了struts2实现文件上传下载的具体实现代码,供大家参考,具体内容如下 一.文件上传 struts提交的文件组件上传, 前台: 1).提交方式POST 2).表单类型 multipart/form-data 3).input type=file 后台: Apache提供的FileUpload组件 核心类: FileItemFactory FileItem的工厂 ServletFileUpload servlet 中的文件上传的核心类 FileItem 封装了上传的表单文件项的

java中struts2实现文件上传下载功能实例解析_java

本文实例讲述了java中struts2实现文件上传下载功能实现方法.分享给大家供大家参考.具体分析如下: 1.文件上传 首先是jsp页面的代码 在jsp页面中定义一个上传标签   复制代码 代码如下: <tr>      <td align="right" bgcolor="#F5F8F9"><b>附件:</b></td>      <td bgcolor="#FFFFFF">

Struts2的文件上传

以前感觉文件上传不怎么会,都是从网上粘贴的代码就行了,这两天学习了下Struts2的文件上传,感觉很好用啊!记录以便己用. 在JavaEE中的文件上传需要注意一点的是就是:表单的enctype属性了. enctype主要有三种属性: 1.application/x-www-form-urlencoded:这个是默认的编码方式,它只处理表单域中的value值,采用这种方式会把表单域中的值处理成URL的形式. 2.multipart/form-data:这种方式会以二进制的方式来处理表单中的数据,它

【SSH网上商城项目实战13】Struts2实现文件上传功能

版权声明:尊重博主原创文章,转载请注明出处哦~http://blog.csdn.net/eson_15/article/details/51366384 目录(?)[+]         上一节我们做完了添加和更新商品的功能,这两个部分里有涉及到商品图片的上传,并没有详细解说.为此,这篇文章详细介绍一下Struts2实现文件上传的功能. 1. 封装文件信息         我们首先得有一个Model来封装文件的信息,这个Model里需要有三个属性:文件.文件类型和文件名.针对我们要传的图片,我们