프로그래밍 언어/자바 웹

HttpServletResponse를 이용한 서블릿 응답 실습

· 코딩마이데이

서블릿이 클라이언트(웹 브라우저)에 응답하는 과정은 다음과 같습니다.

 

1. login.html을 다음과 같이 수정합니다. 로그인창에서 ID와 비밀번호를 입력한 후 login2 서블릿으로 전송합니다.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인 창</title>
</head>
<body>
  <form name="frmLogin" method="get" action="login2"  encType="UTF-8">
	   아이디  :<input type="text" name="user_id"><br>
     비밀번호:<input type="password" name="user_pw" ><br>
    <input type="submit" value="로그인">  <input type="reset" value="다시입력">
  </form>
</body>
</html>

 

2. sec02.ex01 패키지에 LoginServlet2 클래스를 추가하고 다음과 같이 작성합니다. 브라우저에서 전달받은 ID와 비밀번호를 HTML 태그로 만든 후 다시 브라우저로 응답합니다.

package sec01.ex01;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/login2")
public class LoginServlet2 extends HttpServlet {
	public void init() throws ServletException
	{
		System.out.println("init 메서드 호출");
	}
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		String id = request.getParameter("user_id");
		String pw = request.getParameter("user_pw");
		
		String data = "<html>";
		data += "<body>";
		data += "아이디 : " + id;
		data += "<br>";
		data += "패스워드: " + pw;
		data += "</body>";
		data += "</html>";
		out.print(data);
	}

	public void destory() {
		System.out.println("destory 메소드 호출");
	}

}

 

3. 브라우저에서 http://localhost:8090/login.html로 접속하여 ID와 비밀번호를 입력한 후 로그인을 클릭합니다.

login.html로 접속하여 로그인 클릭

 

4. 그러면 서블릿이 ID와 비밀번호를 전달 받아 다시 브라우저로 출력합니다.

서블릿의 응답 실행 결과