-
Application 객체JSP, Servlet 2021. 12. 12. 22:40
- 상태 유지를 위한 5가지 방법
Application, session, cookie, hidden input, querystring<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>과제</title> </head> <body> <form action="calc" method="post"> 계산할 값을 입력 하세요. <br> <div> <label>입력 : </label> <input type="text" name="value" /> </div> <div> <input type="submit" name="operator" value="+"/> <input type="submit" name="operator" value="-"/> <input type="submit" name="operator" value="="/> </div> </form> </body> </html>
import java.io.IOException; 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.HttpServletResponse; @WebServlet("/calc") public class Calc extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html; charset=utf-8"); ServletContext application = request.getServletContext(); String v_ = request.getParameter("value"); String op = request.getParameter("operator"); int v = 0; if(!v_.equals("")) v = Integer.parseInt(v_); //계산 if(op.equals("=")) { int x = (Integer)application.getAttribute("value"); int y = v; String operator = (String)application.getAttribute("op"); int result = 0; if(operator.equals("+")) { result = x+y; } else { result = x-y; } response.getWriter().printf("결과는 %d입니다. \n", result); //값을 저장 } else { application.setAttribute("value", v); application.setAttribute("op", op); } } }
'JSP, Servlet' 카테고리의 다른 글
Cookie를 이용해 상태값 유지하기 (0) 2021.12.12 Session 객체로 상태 값 저장하기 (0) 2021.12.12 입력 데이터 배열로 보내기 (0) 2021.12.12 계산할 값 x, y를 입력하고 덧셈/뺄셈을 누르면 그에 맞는 결과값 출력 (0) 2021.12.12 계산할 값 x, y를 입력하면 결과값 출력 (0) 2021.12.12