My server side is a JSP application which is hosted on Appache Tomcat 7(Plugin in eclipse). my Client side is: –
if(("GET").equalsIgnoreCase(request.getMethod())&&("Create Reimbursement").equalsIgnoreCase(request.getParameter("Create Reimbursement"))){
//crresult = lmktweb.createReimbursement(Integer.parseInt(request.getParameter("ID")), request.getParameter("EmpdID"), request.getParameter("DateCreated"), request.getParameter("Amount"),request.getParameter("Vendor"),request.getParameter("picpath"));
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://192.168.80.125:8080/UploadFileServerSide/UploadHandler.jsp");
MultipartEntity entity = new MultipartEntity();
System.out.println(request.getParameter("fname"));
if(request.getParameter("fname")!=""){
File file = new File(request.getParameter("fname"));
entity.addPart("data", new FileBody(file));
httppost.setEntity(entity);
HttpResponse resp = httpclient.execute(httppost);
}
My Server Side is: –
try {
String itemName = item.getName();
String fpath = "";
//item.
File root=File.listRoots()[0];
String extPath;
if(crdate!=""){
extPath = rei.HandlePathWithDate(crdate,getServletContext().getRealPath("images"));
fpath = extPath+"\\"+ppath;
fpath = extPath.replaceAll("/", "\\");
}
else{
extPath= getServletContext().getRealPath("/");
fpath = extPath.concat("\\"+itemName);
fpath = extPath.replaceAll("/", "\\");
}
System.out.println("Saving as: " +fpath);
File f = new File(fpath);
f.setWritable(true);
f.setReadable(true);
item.write(f);
} catch (Exception e) {
e.printStackTrace();
response.setHeader("Error", e.getMessage());
}
but it generates following error while writing the file on given path: –
Saving as: D:\Z-Main\Projects\Android Projects.metadata.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\UploadFileServerSide\
java.io.FileNotFoundException: D:\Z-Main\Projects\Android Projects.metadata.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\UploadFileServerSide (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(Unknown Source)
at java.io.FileOutputStream.(Unknown Source)
at org.apache.commons.fileupload.disk.DiskFileItem.write(DiskFileItem.java:426)
at org.apache.jsp.UploadHandler_jsp._jspService(UploadHandler_jsp.java:154)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1812)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Where is the problem. I am currently using Tomcat Eclipse plugin and this error comes on the console. I am calling the same code in android application and it is working fine.
Please guide with helpful details. I have tried to edit the catalina.policy file which is located in eclipse server plugin folder and added the following line: –
grant codeBase " file:${catalina.base}/webapps/UploadFileServerSide/-" {
ermission java.io.FilePermission "${tomcat.home}/-","read,write"; };
and restarted the server from eclipse, expecting for different results but so far no luck.
Where am I lost?
Problem is solved when I used Servlet rather than JSP and use POST method while submitting the page. Strange!!!! as rest of the stuff is the same almost. Still confused why it happened as I think Servlet has the same level of access rights on server as of JSP. May be my assumption is wrong!