본문 바로가기

웹/jsp

jsp4 - session

A>session

클라이언트와 서버간이 연결되게 해주는 것이다.

http 프로토콜의 특성은 연결 상태를 보전하지 않는다는 것이다.

그래서 이용하는게 session이다

 

클라이언트를 인식할수 있게 서버는 request에 대한 response를 할 시

response와 함께 session id 를 클라이언트에 발급을 한다.

클라이언트는 이 session id 를 자신의 로컬 컴퓨터의 cookie에 넣어 보관한다.

그러면 클라이언트가 다음에 request 를 서버로 보낼때 

서버는 session id를 판별하고

같은 session 레퍼런스를 반환한다.

 

 

 

B>영역

클라이언트의 브라우저 범위이다.

브라우저가 종료되면 session은 사라진다.

 

 

C>예시 session 

HttpSession session = request.getSession();
session.setAttribute("name","내이름");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<h1>이름저장</h1>");

 

HttpSession session = request.getSession();
String name = (String)session.getAttribute("name");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<h1>name=" +name+"</h1>");

 

 

D> RequestDispatcher , forward

RequestDispatcher 의 역할

보통 Dispatcher 는 내보내는 놈이다.

즉 요청사항을 다른곳으로 내보내는 놈이다.

RequestDispatcher d  = request.getRequestDispatcher ("내보낼 경로");

d.forward(request,response)   // 내보낼 경로로 포워딩

 

예시

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("euc-kr");
        response.setContentType("text/html;charset=euc-kr");
        PrintWriter out = response.getWriter();
        String id = request.getParameter("id");
        String pw = request.getParameter("passwd");
        if(id.equals("java"&&pw.equals("java")) {
            HttpSession session = request.getSession();
            session.setAttribute("id",id );
            RequestDispatcher dispatcher = request.getRequestDispatcher("menu.jsp");
            dispatcher.forward(request, response);
        }else {
            out.println("<script>");
            out.println("alert('아이디나 비밀번호가 일치하지 않습니다.')");
            out.println("history.back()");
            out.println("</script>");
        }
cs

' > jsp' 카테고리의 다른 글

jsp-6 내장객체  (0) 2021.01.26
jsp5 - 지시어와 태그  (0) 2021.01.26
jsp4 -한글처리  (0) 2021.01.25
jsp3 - form 처리  (0) 2021.01.25
jsp2 -서블릿 소개  (0) 2021.01.25