Java错误找不到符号

标签 java jsp servlets

您好,我正在尝试通过 JSP 获取登录信息。编译 LoginServlet.java

时出现错误 Can't find symbol : Login

这是我的代码,你能告诉我这个问题的解决方案吗?

Login.java

 public class Login
{
public static boolean validate(String name, String pass) 
{       
    boolean status = false;
    Connection conn = null;
    PreparedStatement pst = null;
    ResultSet rs = null;

    String url = "jdbc:oracle:thin:@localhost:1521:xe";
    String driver = "oracle.jdbc.driver.OracleDriver";
    String userName = "system";
    String password = "dad";
    try 
      {
        Class.forName(driver).newInstance();
        conn = DriverManager.getConnection(url,userName, password);

        pst = conn.prepareStatement("select * from login where user=? and password=?");
        pst.setString(1, name);
        pst.setString(2, pass);

        rs = pst.executeQuery();
        status = rs.next();

    } 
catch (Exception e) 
   {
        System.out.println(e);
    } 
    finally 
        {
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (pst != null) {
            try {
                pst.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    return status;
}
}

LoginServlet.java

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

public void do Post(HttpServletRequest request, HttpServletResponse response)throws      ServletException, IOException
    {  
    response.setContentType("text/html");  
    PrintWriter out = response.getWriter();  

    String n=request.getParameter("username");  
    String p=request.getParameter("userpass"); 

    HttpSession session = request.getSession(false);
    if(session!=null)
    session.setAttribute("name", n);
    session.setAttribute("pass", p);

    if(Login.validate(n,p))
    {  
        Request Dispatcher rd=request.getRequestDispatcher("welcome.jsp");  
        rd.forward(request,response);  
    }  
    else
    {  
        out.print("<p style=\"color:red\">Sorry username or password error</p>");  
        Request Dispatcher rd=request.getRequestDispatcher("index.jsp");  
        rd.include(request,response);  
    }  

    out.close();  
}  

}

最佳答案

您需要在 Servlet 中导入 Login 类。

这可能是由于您的 Login 类和 LoginServlet 都位于不同的中。因此,在使用之前,您需要在 LoginServlet 中导入 Login 类。

您需要添加类似的内容,

import yourpackage.Login;LoginServlet 的开头

关于Java错误找不到符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24651378/

相关文章:

java - 无法打开 Html 页面,请下载文件

java - 调用 getResponseCode、getContentLength 时 HttpURLConnection 卡住

java - Java 将枚举编译成什么?

java - 显示没有输入的软键盘

java - 如何发送/接收日期对象以 JSON 格式而不是时间戳格式?

jsp - 显示非英文字符 ??在 Action 类

java - 测试@NotNull 时集成测试失败

javascript - 在IE中用JSP动态生成Javascript

java - 如何在jsp页面中获取像${Some}这样的JSTL标签,但Some不是一个值

使用请求 header 的 Tomcat 身份验证