Мой проект - это динамический c веб-проект с jdk 1.8. Это очень простая программа загрузки файлов c, использующая tomcat 7.0 в качестве сервера, включающая только один файл jsp и один файл сервлета. Когда я устанавливаю несколько точек и щелкаю снизу отладки, выдается исключение «java. net .ConnectException: соединение отказано: соединение». Затем появилось окно подтверждения переключения перспективы. В окне отладки
Thread [main] (Suspended (exception FileNotFoundException))
owns: URLClassPath (id=35)
owns: Class<T> (org.apache.tomcat.util.res.StringManager) (id=28)
owns: Object (id=36)
URLClassPath$JarLoader.getJarFile(URL) line: 891
URLClassPath$JarLoader.access$700(URLClassPath$JarLoader, URL) line: 756
URLClassPath$JarLoader$1.run() line: 838 [local variables unavailable]
...
Кажется, он ищет файл с именем «C: / Program% 20Files / Java / jdk1.8.0_65 / jre / lib / sunrsasign.jar». Извините за меньшую информацию. В соответствии с политикой компании я не могу размещать изображения с внутренней информацией. К вашему сведению, вот мой код сервлета
package org.student.servlet;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class Uploadservlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public Uploadservlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart){
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> items = null;
try {
items = upload.parseRequest(request);
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Iterator<FileItem> iter = items.iterator();
while(iter.hasNext()){
FileItem item = iter.next();
int sno=-1;
String sname=null;
String itemName = item.getFieldName();
if(item.isFormField()){
if(itemName.equals("sno")){
sno=Integer.parseInt(item.getString("utf-8"));
}
else if(itemName.equals("sname")){
sname=item.getString("utf-8");
}
else{
System.out.println("XXXX");
}
}
else{
String filename = item.getName();
//String path = request.getSession().getServletContext().getRealPath("upload");
String path = "C:\\Users\\SY1604\\workspace\\upload";
File file = new File(path, filename);
try {
System.out.print("succeed");
item.write(file);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}