Java ClassNotFoundException的捕获块不可访问。决不会从try语句体引发此异常

Java ClassNotFoundException的捕获块不可访问。决不会从try语句体引发此异常,java,exception-handling,compiler-errors,Java,Exception Handling,Compiler Errors,下面是Eclipse中简单登录Servlet的代码,它检查现有数据库表中的用户名和密码,如果存在,则将其带到主页,或者发送到登录页面。当我在服务器上运行它并将信息放入登录页面时,它显示以下错误。你能帮忙吗。多谢各位 一,。要解决的错误 编码 您发布的错误: ClassNotFoundException的捕获块不可访问。决不会从try语句体引发此异常 您的挡块就是问题所在: catch(ClassNotFoundException e){ e.printStackTrace();

下面是Eclipse中简单登录Servlet的代码,它检查现有数据库表中的用户名和密码,如果存在,则将其带到主页,或者发送到登录页面。当我在服务器上运行它并将信息放入登录页面时,它显示以下错误。你能帮忙吗。多谢各位

一,。要解决的错误

编码

您发布的错误: ClassNotFoundException的捕获块不可访问。决不会从try语句体引发此异常

您的挡块就是问题所在:

catch(ClassNotFoundException e){
        e.printStackTrace();
} 

ClassNotFoundException是一个已检查的异常,决不会被try块中的代码抛出-请参见

我已在doGet方法中删除catchClassNotFoundException e。它工作得很好


ClassNotFoundException是一个选中的异常,它永远不会出现在doGet方法代码中。

tomcat中有mysql jar吗??lib目录?你能发布你的web.xml吗。我在WebInf/lib forder中有mysql jar。下面是web.xml文件。谢谢。ClassNotFoundException的不可访问捕获块的哪一部分。这个异常永远不会从try语句体抛出,你不明白吗?当我删除catch块时,它显示了这个错误。错误:未解决的编译问题:未处理的异常类型ClassNotFoundException。有什么办法解决这个问题吗?谢谢。你删除了doGet方法中的那个吗?这就是我所指的,通过堆栈跟踪可以看出:com.loginapps.servlets.LoginServlet.doGetLoginServlet.java:90
    package com.loginapps.servlets;

    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.ResultSet;
    import java.sql.PreparedStatement;

    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;

 /*** Servlet implementation class LoginServlet* @param <con>*/

    public class LoginServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;


    Connection con;
    PreparedStatement pst;

    public void init(ServletConfig config) throws ServletException {
    String dname = config.getInitParameter("drivername");
    String uname = config.getInitParameter("username");

    System.out.println(dname);
    System.out.println(uname);

    try{
        Class.forName(dname);
        con =   DriverManager.getConnection("jdbc:mysql://localhost:3306/logindb",uname,"");
    }

    catch(SQLException e){
        e.printStackTrace();
    }

    catch(ClassNotFoundException e){
        e.printStackTrace();
    }   

 }



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


    HttpSession session = request.getSession();

    String uname = request.getParameter("txtuname");
    String pwd = request.getParameter("txtpwd");

    session.setAttribute("username",uname);


     try {
     pst = con.prepareStatement("select * from users where username = ? and  password = ?");
     pst.setString(1,uname);
     pst.setString(2,pwd);

     ResultSet rs = pst.executeQuery();
     if(rs.next()){
         response.sendRedirect("home.jsp");
     }
     else   {
         response.sendRedirect("login.html");
     }
  }

    catch(SQLException e){
        e.printStackTrace();
    }

    catch(ClassNotFoundException e){
        e.printStackTrace();
    }

 }




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

        doGet(request, response);
    }
  }
catch(ClassNotFoundException e){
        e.printStackTrace();
}