로그인 서블릿이 있는데 제대로 작동합니다. 하지만 여러 서블릿이 다른 기능을 수행하기 위해 유효한 사용자 ID & facultyCB 값에 액세스 할 수 있기를 바랍니다. 가장 좋은 방법은 세션과 함께하는 것입니다. some1은 로그인 서블릿과 ViewRegisteredCoursesServlet을 사용하여 세션 작성 및 쓰기의 예제를 제공 할 수 있습니다. 객체 (bean)가 다음과 같이 저장되는 경우 :Java - 서블릿, 프로젝트 (세션 빈) 전체에서 로그인 정보를 가지고 있습니다.
session.setAttribute("currentSessionUser", user);
서블릿에서 어떻게 다른 값을 얻을 수 있습니까? 전의. 사용자 ID & facultyCB. 내가 세션이 (뭔가 탐색 막대가 호출되는 DIFF 서블릿을 클릭에 따라 같은 옵션을하지 이잖아) 전달 될 필요가 이해하는 것과 또한
HttpSession session = request.getSession();
session.getAttribute("currentSessionUser");
. 옳은?
LoginServlet :
LoginBean user = new LoginBean();
try {
String checkBox = request.getParameter("facultyCB");
user.setID(request.getParameter("id"));
user.setPassword(request.getParameter("password"));
if (checkBox != null) {
user.setFacultyCB(true);
} else {
user.setFacultyCB(false);
}
user = LoginDAO.login(user);
if (user.isValid()) {
HttpSession session = request.getSession(true);
if (checkBox != null) {
user.setFacultyCB(true);
} else {
user.setFacultyCB(false);
}
session.setAttribute("currentSessionUser", user);
response.sendRedirect("success_login.jsp"); //logged-in page
} else {
response.sendRedirect("invalid_login.jsp"); //error page
}
ViewRegisteredCoursesServlet :
String userID = "100000001";
//Created code to determine term based on course dates
String year = "2012";
String term = "FALL";
try {
List<RegisteredCoursesBean> registeredCoursesArray = ViewRegisteredCoursesDAO.viewRegisteredCourses(userID, year, term);
request.setAttribute("registeredCoursesBean", registeredCoursesArray);
request.getRequestDispatcher("registered_courses.jsp").forward(request, response);
} catch (Throwable theException) {
System.out.println(theException);
}
LoginBean :
private String id;
private String password;
private boolean facultyCB;
public boolean valid;
미리 감사드립니다 많이!
나는 혼자 생각합니다. 나는 단지 내가 원하는 3 개의 값을 전달한다. 빈을 세션에 전달한 다음 다른 서블릿에서 값을 가져 오는 방법이 있습니까? – SuperNub2TheRescue