Java 添加此servlet代码时,服务器停止

Java 添加此servlet代码时,服务器停止,java,tomcat,servlets,Java,Tomcat,Servlets,我有一个登录表单程序。因此有一个JSP和servlet页面。在创建servlet代码时,tomcat服务器被停止 @WebServlet("/validateLogin") public class validateLogin extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExcepti

我有一个登录表单程序。因此有一个JSP和servlet页面。在创建servlet代码时,tomcat服务器被停止

@WebServlet("/validateLogin")
public class validateLogin extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


        try {
            response.setContentType("text/html");
            PrintWriter out=response.getWriter();
        String username = request.getParameter("Username");
        String password = request.getParameter("Password");

        FileInputStream file = new FileInputStream(new File("userData.xlsx"));
        XSSFWorkbook workbook = new XSSFWorkbook(file);
        Sheet sheet = workbook.getSheetAt(0);
        Iterator<Row> rowIterator = sheet.iterator();

        while (rowIterator.hasNext()) {

            // Next row.
            Row row = rowIterator.next();

            // Get column records.
            Cell column1 = row.getCell(0);
            Cell column2 = row.getCell(1);

            // Read records.
            if (column1 != null && column2 != null) {

                String recordUsername = ""; 
                String recordPassword  = "";

                if (column1.getCellType().toString().contains("STRING")) {
                    recordUsername = column1.getStringCellValue();
                } else if (column1.getCellType().toString().contains("NUMERIC")) {
                    recordUsername = Integer.toString((int)column1.getNumericCellValue());
                }

                if (column2.getCellType().toString().contains("STRING")) {
                    recordPassword = column2.getStringCellValue();
                } else if (column2.getCellType().toString().contains("NUMERIC")) {
                    recordPassword = Integer.toString((int)column2.getNumericCellValue());
                }


                if (username.equals(recordUsername) && password.equals(recordPassword)) {

                    RequestDispatcher rd=request.getRequestDispatcher("logged.jsp");
                    rd.forward(request, response);
                } else {
                    out.print("Invalid");
                    RequestDispatcher rd=request.getRequestDispatcher("viewLogin.jsp");
                    rd.include(request, response);                      
               }    
            }
            out.close();
        }
        }catch(Exception e) {

        }
    }    

    //protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        //doGet(request, response);
//  }

}
虽然只有特定的JSP页面服务器在工作。但当这些代码被添加后,它就停止了

@WebServlet("/validateLogin")
public class validateLogin extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


        try {
            response.setContentType("text/html");
            PrintWriter out=response.getWriter();
        String username = request.getParameter("Username");
        String password = request.getParameter("Password");

        FileInputStream file = new FileInputStream(new File("userData.xlsx"));
        XSSFWorkbook workbook = new XSSFWorkbook(file);
        Sheet sheet = workbook.getSheetAt(0);
        Iterator<Row> rowIterator = sheet.iterator();

        while (rowIterator.hasNext()) {

            // Next row.
            Row row = rowIterator.next();

            // Get column records.
            Cell column1 = row.getCell(0);
            Cell column2 = row.getCell(1);

            // Read records.
            if (column1 != null && column2 != null) {

                String recordUsername = ""; 
                String recordPassword  = "";

                if (column1.getCellType().toString().contains("STRING")) {
                    recordUsername = column1.getStringCellValue();
                } else if (column1.getCellType().toString().contains("NUMERIC")) {
                    recordUsername = Integer.toString((int)column1.getNumericCellValue());
                }

                if (column2.getCellType().toString().contains("STRING")) {
                    recordPassword = column2.getStringCellValue();
                } else if (column2.getCellType().toString().contains("NUMERIC")) {
                    recordPassword = Integer.toString((int)column2.getNumericCellValue());
                }


                if (username.equals(recordUsername) && password.equals(recordPassword)) {

                    RequestDispatcher rd=request.getRequestDispatcher("logged.jsp");
                    rd.forward(request, response);
                } else {
                    out.print("Invalid");
                    RequestDispatcher rd=request.getRequestDispatcher("viewLogin.jsp");
                    rd.include(request, response);                      
               }    
            }
            out.close();
        }
        }catch(Exception e) {

        }
    }    

    //protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        //doGet(request, response);
//  }

}
@WebServlet(“/validateLogin”)
公共类validateLogin扩展了HttpServlet{
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
试一试{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
字符串username=request.getParameter(“用户名”);
字符串密码=request.getParameter(“密码”);
FileInputStream文件=新的FileInputStream(新文件(“userData.xlsx”);
XSSF工作簿=新XSSF工作簿(文件);
工作表=工作簿。getSheetAt(0);
迭代器rowIterator=sheet.Iterator();
while(roweiterator.hasNext()){
//下一排。
行=行迭代器。下一步();
//获取列记录。
Cell column1=row.getCell(0);
Cell column2=row.getCell(1);
//阅读记录。
if(column1!=null&&column2!=null){
字符串recordUsername=“”;
字符串recordPassword=“”;
如果(column1.getCellType().toString()包含(“字符串”)){
recordUsername=column1.getStringCellValue();
}else if(column1.getCellType().toString()包含(“数字”)){
recordUsername=Integer.toString((int)column1.getNumericCellValue());
}
如果(column2.getCellType().toString()包含(“字符串”)){
recordPassword=column2.getStringCellValue();
}else if(column2.getCellType().toString()包含(“数字”)){
recordPassword=Integer.toString((int)column2.getNumericCellValue());
}
if(username.equals(recordUsername)和password.equals(recordPassword)){
RequestDispatcher rd=request.getRequestDispatcher(“logged.jsp”);
转发(请求、响应);
}否则{
打印出来(“无效”);
RequestDispatcher rd=request.getRequestDispatcher(“viewLogin.jsp”);
包括(请求、响应);
}    
}
out.close();
}
}捕获(例外e){
}
}    
//受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)引发ServletException、IOException{
//TODO自动生成的方法存根
//doGet(请求、响应);
//  }
}

我需要从JSP页面获取值并进行验证,然后移动到另一个JSP页面。

是否停止?你有错误吗?您是否也理解为什么隐藏异常不能真正帮助您在代码中查找错误?代码中没有显示错误。添加此servlet页面后,服务器将不会启动。代码从不显示错误。日志可以。而且,在你的情况下,如果代码确实运行,如果发生错误,你永远不会知道是哪个,因为你隐藏了它们。请你澄清一下。我是这方面的初学者。也许你会遇到一个例外,但你却什么也没做。至少要将异常打印到stdout,并查看TomCat ogsis是否停止?你有错误吗?您是否也理解为什么隐藏异常不能真正帮助您在代码中查找错误?代码中没有显示错误。添加此servlet页面后,服务器将不会启动。代码从不显示错误。日志可以。而且,在你的情况下,如果代码确实运行,如果发生错误,你永远不会知道是哪个,因为你隐藏了它们。请你澄清一下。我是这方面的初学者。也许你会遇到一个例外,但你却什么也没做。至少将异常打印到stdout,并查看TomCat ogs