
상태 유지를 위한 방법 중 Application과 Session은 WAS에 저장하고 사용하는 방법이다. 하지만 Cookie는 Client가 자신이 가지고 다니면서 상태를 유지하는 방법이다. 먼저 서버에 무언가를 요청하면 서버는 쿠키값을 만들어서 클라이언트에게 주고 값을 가지고 가라고 한다. 그래서 다음에 다시 접속하게 되면 그 클라이언트는 쿠키값을 가지고 서버로 들어가기 때문에 상태를 유지할 수 있다. 그러면 코드로 보도록 하자! /*쿠키 저장하기*/ Cookie cookie = new Cookie("c", String.valueof(result)); //쿠키는 키"c"와 값으로 나누어진다. response.addCookie(cookie); //브라우저에 출력하고, 출력은 response에도 저장된다. ..

이전 글에서는 Application 객체에 대해서 다루었다. 이번 글에서는 Session객체에 대해서 알아보자! //Calc2.java package com.newlecture.web; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSer..

Application을 이용한 객체 값 저장 방법에 대해서 알아보자! 서블릿 콘텍스트 ServletContext라는 것을 이용해서 저장한다. 서블릿 콘텍스트는 여러 서 블릿 또는 자신의 서블릿에서 값을 임시로 저장하는 공간을 말한다. 그리고 거기에 저장하고, 가져와서 그 객체들을 사용할 수 있게 한다. ServletContext application = request.getServletContext(); -> ServletContext 변수 application을 만든다. 1. 저장: application.setAttribute(name, object); -> application에 name으로 object를 저장한다. 2. 가져오기: request.getAttribute(); -> application..

두 개의 값을 입력받아서 더하는 프로그램을 만든 적이 있다. 이번에는 여러 개의 값을 받아서 만들어보도록 하자! 자~ 이렇게 만들어서 전달하면 될까? 혹시 10개가 되면 10개를 모두 이런 식으로 수정해야 하나? 그리고 서블릿에서는 이 전달받는 값들을 모두 수정해줘야 할까? 이번에 그렇게 하지 않고 해결하는 방법에 대해서 알아보겠다. 동일한 name속성(같은 키워드)으로 값을 전달할 경우 값이 중복되는 것이 아니라 배열로 전달하게 되어있다! 숫자만 입력하세요 결과? 모든 name을 num으로 통일! 그러면 서블릿에서는 어떻게 받아야 할까? 하나씩 차례로 받아서 배열에 저장하면 된다! //Add2.java package com.newlecture.web; import java.io.IOException; ..

Submit버튼이 한 개일 경우 form 태그의 action을 참조해서 웹 서블릿을 호출한다. 하지만 이번에는 여러 개의 Submit버튼을 사용한다면 모두 동일한 Submit을 호출하게 된다. Submit코드가 한개일 경우에 대해서 한번 보자! F12 개발자도구의 Newtwork를 통해서 버튼을 눌렀을 때 전달되는 값을 확인해보자. *참고: 웹브라우저에서 F12를 누르면 아래의 화면이 나오고, newtwork를 누르면 전달되는 내용이 나온다. Form Data의 값을보면 x=1&y=1 이렇게 값이 전달된다. 자 그러면 두개의 Submit이 있을 경우를 통해서 확인해보자! 두 개의 Submit버튼 모두 Add를 호출한다. 즉, 같은 값을 서블릿에 전달하게 된다. 이렇게 빼기를 눌렀지만 Form Data값은..

더하기 프로그램! 프로그램이라고 할 것도 없지만 일단 만들어보자! Add.html 두개의 숫자를 입력 Add.java package com.newlecture.web; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/Add") public class ..

전달할 내용이 많지 않을 경우에는 get요청을 사용할 수 있다. 하지만 내용이 많아질 경우에는 어떻게 해야 하나? 예를 들어서 피자가게에서 주문을 할 때 피자 라지 하나 주세요 정도는 get으로 할 수 있다. 그런데 피자 라지고요, 양파는 많이 주시고, 소스는 2배, 페퍼로니도 추가하고, 치즈는 3배로, 크러스트는 반은 고구마, 반은 치즈, 도우는 젤 얇은 걸로 해주시고,,, 누군가 이렇게 주문을 한다면? 서로 불편해진다. 센스 있는 직원이라면 form 줄테니까 여기 적어서 주세요~ 이렇게 할 거다. 이렇게 한 번에 form으로 받는 방법이 POST이다. 자 그러면 코드를 한번 만들어보자! reg.html 파일 생성 제목: 내용: Noticereg.java 파일 생성 package com.newlectu..