브라우저에서 페이지 간에 통신할 수 있는 대표적인 방법은 form에서 제공되는 get 방식과 post 방식이 있다. 이 두 방식은 form을 통해서 보내는 것은 같지만 전송되는 방식은 상이하다. get 방식은 url을 통해서 전송되지만 post는 html 헤더에 요청 정보와 같이 전달된다.
get 방식
일반적으로 검색이나 조건을 다른 페이지로 전송할 때 사용하는 방식이다. 그리고 get 방식으로 요청을 하면 url에 노출이 되는 특징이 있기 때문에 보안적인 내용은 절대 get 방식으로는 사용하면 안 된다.
getJsp.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Get Servlet 방식</h1>
<form method="get" action="GetServlet">
msg : <input name="msg">
<input type="submit" value="전송">
</form>
</body>
</html>
GetServlet.java
package ch08;
import java.io.IOException;
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 java.io.*;
@WebServlet("/ch08/GetServlet")
public class GetServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String msg = request.getParameter("msg");
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>Get Servlet 방식</h1>");
out.println("<h2>msg : " + msg + "</h2>");
out.println("</body>");
out.println("</html>");
}
}
출력 결과


post 방식
브라우저에서 게시판에 글을 입력하거나 또는 회원가입을 하는 기능으로 다른 페이지에 전송할 때 사용하는 방식이다. get 방식과 다르게 url 상에 노출되지 않고 html 헤더 값이 전송된다.
postJsp.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Post Servlet 방식</h1>
<form method="post" action="ch08/PostServlet">
id : <input name="id"><br/>
pwd : <input type="password" name="pwd"><br/>
email : <input name="email"><br/>
<input type="submit" value="가입">
</form>
</body>
</html>
PostServlet.java
package ch08;
import java.io.IOException;
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 java.io.*;
@WebServlet("/ch08/PostServlet")
public class PostServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String id = request.getParameter("id");
String pwd = request.getParameter("pwd");
String email = request.getParameter("email");
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>Post Servlet 방식</h1>");
out.println("<h3>id : " + id + "</h3>");
out.println("<h3>pwd : " + pwd + "</h3>");
out.println("<h3>email : " + email + "</h3>");
out.println("</body>");
out.println("</html>");
}
}
출력 결과


'Web Programming > JSP' 카테고리의 다른 글
| [JSP] 자바빈즈 (0) | 2024.10.07 |
|---|---|
| [JSP] 서블릿에서 세션 사용하기 (0) | 2024.10.07 |
| [JSP] 서블릿 기초 문법 (1) | 2024.10.04 |
| [JSP] 에러 처리 (0) | 2024.10.04 |
| [JSP] 예외 내부 객체 (0) | 2024.10.04 |