por ejemplo yo tengo en mi struts , por que lo tuyo es spring ya vi:
algo asi
esto esta en un action
Código PHP:
public ActionForward subirArchivo(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response ){
String forwar = null;
FileForm fileForm = (FileForm) form;
FormFile document = fileForm.getUploadFile();
String nomFile = document.getFileName();
FileOutputStream outputStream = null;
String path = null;
int size = 0;
TestForm forma = null;
if (request.getSession().getAttribute("user")==null){
return mapping.findForward("error");
}
try{
HttpSession session = request.getSession() ;
ServletContext context = session.getServletContext();
path = context.getRealPath("/archivosCargados/");
size = document.getFileSize();
File folder = new File(path);
if(!folder.exists()) {
folder.mkdir();
}
DataInputStream in = new DataInputStream(document.getInputStream());
byte dataBytes [] = new byte[size];
int byteRead = 0;
int totalBytesRead = 0;
while(totalBytesRead<size) {
byteRead = in.read(dataBytes, totalBytesRead, size);
totalBytesRead += byteRead;
}
String saveFile = path + nomFile;
outputStream = new FileOutputStream(saveFile);
outputStream.write(dataBytes, 0, size-1);
outputStream.flush();
outputStream.close();
System.out.println("Server path:" +path);
forwar = "upload";
}
catch(Exception e){
e.printStackTrace();
forwar = "error";
}
finally {
return mapping.findForward(forwar);
}
}
en el jsp viene algo asi:
Código PHP:
<%@ page contentType="text/html;charsetutf-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/TestAjax.js'></script>
<script type='text/javascript' src='<%=request.getContextPath()%>/dwr/engine.js'></script>
<script type='text/javascript' src='<%=request.getContextPath()%>/dwr/util.js'></script>
<script type='text/javascript'>
function hello()
{
var name=DWRUtil.getValue("message");
TestAjax.sayHello(name,function(data){
DWRUtil.setValue("result",data);
});
}
</script>
<script type="text/javascript" >
jQuery(document).ready(function(){
jQuery('a[name=subirArchivo]').click(
function ()
{
alert('aki subir');
jQuery('#forma').attr("action",'<%=request.getContextPath()%>/muestra.do?showAct=subirArchivo');
jQuery('#forma').submit();
});
});
</script>
<style type="text/css">
</style>
<title>test</title>
</head>
<body>
<%
// response.setHeader("Cache-Control", "no-cache");
// response.setHeader("Pragma", "no-cache");
// response.setHeader("Expires", "Thu, 29 Oct 2000 17:04:19 GMT");
// response.setContentType("text/html; charset=utf-8");
%>
<html:form action="/muestra.do" styleId="forma" enctype="multipart/form-data">
<table cellpadding="2" cellspacing="3">
<tr>
<td>
<div>
<input type="text" name="message" id="message">
<input type="button" value="Say Hello" onclick="hello();">
<span id="result">
</span>
</div>
</td>
</tr>
<tr>
<td width="25%">
<html:file property="uploadFile" value="Seleccionar file" size="10" /><br>
</td>
</tr>
<tr>
<td width="25%">
<div class="right controles">
<a class="button3" name="subirArchivo" ><bean:message key='boton.upload'/></a>
<a onclick="aprobarDocumentos()"; class="boton-rojo" name="AprobarSeleccionados" id="aprobar"><bean:message key='boton.upload'/></a>
<div class="clear"></div>
</div><br>
</td>
</tr>
</table>
</html:form>
</body>
</html>
Cheers, Hope this helps
...Solo transfiere el archivo de un sitio a otro