2014-07-09 68 views
0

嗨我想通过JSP获取登录信息。我在编译时遇到了一个错误Can't find symbol : LoginLoginServlet.javaJava错误找不到符号

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

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(); 
} 

}

+0

都是在同一个软件包中的文件? – SparkOn

回答

1

你需要导入你在你的servlet Login类。

这可能是由于您的Login类和LoginServlet都在不同的。所以你需要在使用LoginServlet之前导入Login类。

您需要在LoginServlet

1

进口登录类的开头到LoginServlet.java添加类似,

import yourpackage.Login;。 如果两者都在同一个包中,则必须将其添加到类路径中。

推荐您自动登陆本次报告或提供建议。 谢谢