Session 기본 응용 프로그램
Session 소개
Session은 서버 기술입니다. 이 기술을 이용하세요.이 기술을 이용하여 서버가 실행될 때 모든 사용자의 브라우저에 독특한session 대상을 만들 수 있다. Session은 사용자의 브라우저에 독특하기 때문에 사용자가 브라우저 자원에 접근할 때 각자의 데이터를 각각의session에 놓고 사용자가 서버의 다른 웹 자원에 다시 접근할 때 다른 웹 자원은 사용자의 각각의session에서 데이터를 추출하여 사용자에게 서비스를 제공할 수 있다.
Session을 만들거나 가져오고 JSESSIONID를 쿠키로 다시 씁니다.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
//Session , 。 , , Session。
// request.getSession(false);
String sessionid = session.getId();
Cookie cookie = new Cookie("JSESSIONID",sessionid);
cookie.setPath("/");
// cookie 30 , Session 30 , 。。。
cookie.setMaxAge(30*60);
response.addCookie(cookie);
session.setAttribute("name"," ");
}
세션의 내용 가져오기
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
String product = (String) session.getAttribute("name");
out.write(" :"+product);
}
JESSIONID를 브라우저 URL에 쓰기
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
request.getSession();
// SessionId, cookies SessionId
String url1 = response.encodeURL("/SessionDemo1");
String url2 = response.encodeURL("/SessionDemo2");
out.print("구입
");
out.print("계산하다");
}
세션 로그인 인스턴스
홈페이지: index.jsp
Heinika Web
:${user.userName}
로그인
로그아웃
this my first web app
로그인 페이지:login.html
Servlet 로그인:
@WebServlet(name = "LoginDemo")
public class LoginDemo extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String username = request.getParameter("username");
String password = request.getParameter("password");
List users = DB.getAll();
for (User user:users){
if(user.getUserName().equals(username)&&user.getPassword().equals(password)){
request.getSession().setAttribute("user",user);
response.sendRedirect("/index.jsp");
}
}
out.write(" !");
}
}
//
class DB{
public static List list = new ArrayList();
static {
list.add(new User("aaa","111"));
list.add(new User("bbb","222"));
list.add(new User("ccc","333"));
}
public static List getAll(){
return list;
}
}
로그온을 종료하려면 다음과 같이 하십시오.
@WebServlet(name = "LogoutDemo")
public class LogoutDemo extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession(false);
if(session == null){
response.sendRedirect("/index.jsp");
return;
}
session.removeAttribute("user");
response.sendRedirect("/index.jsp");
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.