У моего Eclipse проблема в режиме отладки, похоже, что он пропустил некоторые файлы - PullRequest
0 голосов
/ 17 июня 2020

Мой проект - это динамический 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);
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...