2016-09-12 1 views
2

서블릿 파일 'LoginServlet.java'와 'SimpleBean.java'라는 빈 파일을 생성하고 같은 폴더에 넣었다. 내가 콩 파일을 컴파일하면 성공적으로 컴파일되지만 서블릿 파일을 컴파일 할 때 '심볼을 찾을 수 없습니다.'오류가 발생하고 서블릿 클래스 내부에서 인스턴스화 한 Bean 클래스를 나타냅니다.자바 서블릿 클래스가 빈 클래스를 찾을 수 없다.

LoginServlet.java

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.RequestDispatcher; 
import javax.servlet.http.HttpSession; 
import javax.servlet.http.HttpServlet; 
import java.io.IOException; 
import java.io.PrintWriter; 
import java.sql.*; 
import java.util.*; 

public class LoginServlet extends HttpServlet { 

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { 
     response.setContentType("text/writer"); 
     PrintWriter pw = response.getWriter(); 
     String name = request.getParameter("username"); 
     String password = request.getParameter("password"); 
     String code = request.getParameter("code"); 
     SimpleBean bean = new SimpleBean(); 
     //admin login 
     if (name.equals("admin") && password.equals("admin")) { 
      RequestDispatcher rd = request.getRequestDispatcher("adminservlet"); 
      rd.forward(request, response); 
     } else { //general login 
      try { 
       Class.forName("com.mysql.jdbc.Driver"); 
       Connection con = DriverManager.getConnection("jdbc:mysql://localhost/" + code, "root", ""); 
       PreparedStatement pst = con.prepareStatement("SELECT * FROM demo_teacher WHERE name = ?"); 
       pst.setString(1, name); 
       ResultSet rs = pst.executeQuery(); 
       if (rs.next()) { 
        HttpSession session = request.getSession(true); 
        session.setAttribute("user", name); 
        ArrayList rows = new ArrayList(); 
        do { 
         List row = new ArrayList(); 
         row.add(rs.getString("name")); 
         row.add(rs.getString("login_time")); 
         row.add(rs.getString("logout_time")); 
         rows.add(row); 
        } while (rs.next()); 
        request.setAttribute("resultSet", rows); 
        RequestDispatcher rd = request.getRequestDispatcher("profile.jsp"); 
        rd.forward(request, response); 
       } else { 
        RequestDispatcher rd = request.getRequestDispatcher("index.jsp"); 
        rd.forward(request, response); 
       } 
      } catch (Exception ex) { 
       ex.printStackTrace(); 
      } 
     } 
    } 
} 

SimpleBean.java

public class SimpleBean { 

    String name; 
    String loginTime; 
    String logoutTime; 

    public void setName(String n) { 
     name = n; 
    } 

    public void setLoginTime(String t) { 
     loginTime = t; 
    } 

    public void setLogoutTime(String t2) { 
     logoutTime = t2; 
    } 

    public String getName() { 
     return name; 
    } 

    public String getLoginTime() { 
     return loginTime; 
    } 

    public String getLogoutTime() { 
     return logoutTime; 
    } 
} 

명령 프롬프트 : command prompt

+0

패키지 – AhmadWabbi

+0

네에서 두 클래스를 넣어, 당신은 사용 패키지 –

+0

네의를 해 패키지는 할 것이다 – GingerHead

답변

1

명령 줄에서 컴파일되어 있기 때문에, 당신의 클래스 경로를 검토합니다. 는 class 파일이 저장되는 디렉토리를 포함하고 있는지 확인 (이 경우는 현재 디렉토리) :

set CLASSPATH=.;%CLASSPATH% 
+0

고마워요. – SHB

+0

당신은 환영합니다. :-) –

관련 문제