-
서블릿 9 - 상태유지를 위한 객체 Sessionservlet/servlet 2021. 11. 26. 19:27728x90반응형
application 다루는법이랑 똑같다.
application은 모든 사용자가 쓸수 있는 저장소
웹서버(WAS)가 현재사용자(Session)을 구분하는 방법
사용자마다 구분할수있는 Session공간이 따로있다.
1. HttpSession session = req.getSession();
2. int x = (Integer)session.getAttribute("value");
3. String operator = (String)session.getAttribute("op");
4. session.setAttribute("value", v);session.setAttribute("op", op);한번 요청하면 출력받을때 SID값을 부여받는다.
다시 요청시 SID값과 같이 요청하여 SID에 저장된 저장소를 쓸수있다.
@WebServlet("/calc2") public class Calc2 extends HttpServlet{ @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext application = req.getServletContext(); HttpSession session = req.getSession(); req.setCharacterEncoding("UTF-8"); resp.setCharacterEncoding("UTF-8"); resp.setContentType("text/html; charset=UTF-8"); PrintWriter out = resp.getWriter(); String v_ = req.getParameter("v"); String op = req.getParameter("op"); int v = 0; if(v_!=null && !v_.equals("")) v = Integer.parseInt(v_); //계산 if(op.equals("=")) { // int x = (Integer)application.getAttribute("value"); // object로 반환하기 떄문에 형변환 int x = (Integer)session.getAttribute("value"); // object로 반환하기 떄문에 형변환 int y = v; // String operator = (String)application.getAttribute("op"); // object로 반환하기 떄문에 형변환 String operator = (String)session.getAttribute("op"); // object로 반환하기 떄문에 형변환 int result = 0; if(operator.equals("+")) result = x+y; else result = x-y; out.print(result); }else { //값을 저장 // application.setAttribute("value", v); // application.setAttribute("op", op); session.setAttribute("value", v); session.setAttribute("op", op); } } }
HttpSession session = req.getSession();
int x = (Integer)session.getAttribute("value");
String operator = (String)session.getAttribute("op");
session.setAttribute("value", v);session.setAttribute("op", op);세션 메소드
728x90반응형'servlet > servlet' 카테고리의 다른 글
서블릿 12 - 서버의 페이지 전환(계산기) (0) 2021.11.26 서블릿 11 - application/session/cookie 정리 (0) 2021.11.26 서블릿 7 - 입력 데이터 배열로 받기 (0) 2021.11.26 서블릿 6 - submit이 여러개 일 경우 (0) 2021.11.26 서블릿 5 - 서블릿 필터 (0) 2021.11.26