티스토리 뷰

src/product

BasketServlet.java

SaveServlet.java

package product;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@WebServlet(name = "SAVE", urlPatterns = { "/save" })
public class SaveServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=UTF-8");
		
		String p=request.getParameter("item");
		HttpSession session=request.getSession();    //세션 객체 획득
		
		ArrayList<String> list=(ArrayList<String>)session.getAttribute("");
		if(list==null) {
			list = new ArrayList<String>();
			list.add(p);
			session.setAttribute("", list);
		}else {
			list.add(p);
		}
		
		//-----------------------------------------------------
		response.getWriter().append("<html><head></head><body>");
		response.getWriter().append("Product Added<br>");
		response.getWriter().append("<a href='edu/basket'>My Cart</a>");
		
		
		response.getWriter().append("</body></html>");
	}
}

 

 

web/product

product.html

 

 

 

JSP정리(Tomcat8).txt
0.03MB

 

 

※ 쿠키와 세션

HTTP는 상태 유지를 못하는 프로토콜 
    : 웹 브라우저(클라이언트)와 웹서버(서버)는 한번 데이터 전송이 완료되면 연결이 끊김

1. 쿠키(Cookie) : 클라이언트의 웹 브라우저에 웹 서버가 전달한 정보를 저장
ex) 자동로그인, 방문 횟수 기록, 오늘하루 창 안띄우기

형식> Set-Cookie: name=value;expiers=date;path=path;domain=domain;secure
         name=value : 쿠키 이름과 값
         expires=date : 쿠키 유효 기간
         domain=domain : 해당 도메인의 컴퓨터에 접근하는 경우에 서버에 전달
         path=path : 유효한 URL 경로
         secure :호스트와 보안성이 있는 채널을 사용

         (1)쿠키생성
           - Cookie cookie = new Cookie(String name, String value);
           - cookie.setValue(newValue);
           - response.addCookie(name);
           
        (2)사용자의 요청에서 모든 쿠키를 얻기
           - Cookie[] cookies = request.getCookies();
        (3)원하는 쿠키 검색(이름)
          - String name = cookies[i].getName();
          - if( name.equals(“id”) ) { … } 
        (4)쿠키로부터 값을 얻음
          - String value = cookies[i].getValue();
        (5)쿠키 삭제 
          - 쿠키 생성 후 setMaxAge(0)을 사용
          -  response.addCookie(name);

2. 세션(Session) :  Server쪽에서 정보를 기억
   ex) Email, 장바구니

(1) 웹 컨테이너 내부에 정보를 저장, 관리하고 저장된 정보에 접근하기 위해 세션 ID를 사용 
    : 쿠키 사용(JSESSIONID)

(2) 서블릿 
    HttpSession의 클래스의 getSession 메소드를 이용
    ex) HttpSession session =  request.getSession();

(3) JSP    
    session 내장 객체이용
            setAttribute()                     :세션설정
            getAttribute()                    :세션리턴
            getAttributeNames()          
            getCreationTime() 
            getId()                             :세션ID리턴
            getLastAccessedTime()
            getMaxInactiveInterval()     : 세션에 설정된시간 리턴
            setMaxInactiveInterval()      : 세션에 시간설정
            invalidate()                       : 모든세션끊기
            isNew()  
            removeAttribute()              : 해당 세션끊기

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함