在这里,我使用 HTTP-CLIENT 来调用 servlet,但如果我只是点击“http://:8080/RemediPRMS/WritePingData”这个链接,它会给我响应代码 200,但如果我从小程序运行它,它会给我 404。
Deployment descriptor mapping is :
<servlet>
<servlet-name>WritePingData</servlet-name>
<servlet-class>com.clientToServer.FileUploader.WritePingData</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WritePingData</servlet-name>
<url-pattern>/WritePingData</url-pattern>
</servlet-mapping>
try{
System.out.println("folder.listFiles().length"+folder.listFiles().length);
if(folder.listFiles().length > 0){
System.out.println("inside if file found[][][[[][][][][][][");
String remediEndpoint = "http://<endpoint>:8080/RemediPRMS/WritePingData";
FileInputStream fis = null;
System.out.println("above for loop");
File arr[] =folder.listFiles();//file array
System.out.println("array pass");
PostMethod post = null;
System.out.println("just above for loop");
for(int i=0;i<arr.length;i++){
try{
System.out.println("inside for loop");
File targetFile = new File(path+"\\"+arr[i].getName());
fis = new FileInputStream(targetFile);
post = new PostMethod(remediEndpoint);
post.setRequestEntity(new InputStreamRequestEntity(fis, targetFile.length()));
post.setRequestHeader("Content-type","text/plain; UTF-8");
HttpClient httpclient = new HttpClient();
httpclient.setConnectionTimeout(10000);
int status = httpclient.executeMethod(post);
fis.close();
//boolean deletestatus= targetFile.delete();
System.out.println("status from server : "+status);
}catch(Exception e){
LOGGER.info("Exception in file upload (http client): "+e);
}
}
post.releaseConnection();
}else{
LOGGER.info("THERE IS NO MORE FILE TO UPLOAD ");
}
}catch(Exception e){
LOGGER.info("No directory inside LogData: "+e);
}