[Web] HttpServletResponse를 이용하기
2024. 8. 6. 15:19ㆍ자바 웹 개발/서블릿 기초
아래는 기존의 로그인창이다. action="login2"만 변경하였다.
<!DOCTYPE html>
<html lang="ko">
<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>
서블릿이 클라이언트에게 응답하기 위해서는 다음 과정을 거친다.
1. setContentType()을 이용해서 MIME-TYPE을 지정한다.
2. 데이터를 출력할 PrintWriter 객체를 생성한다.
3. 출력 데이터를 HTML 형식으로 만든다.
4. PrintWriter의 print()와 println()을 이용하여 데이터를 출력한다.
@WebServlet("/login2")
public class LoginServlet2 extends HttpServlet {
@Override
public void init() throws ServletException {
System.out.println("init 메서드 호출");
}
@Override
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 += "<p>아이디 : " + id;
data += "</p>";
data += "<p>패스워드 : " + pw;
data += "</p>";
data += "</body>";
data += "</html>";
out.print(data);
}
@Override
public void destroy() {
System.out.println("destroy 메서드 호출");
}
}
-HttpServletResonse response
응답은 HttpServletResponse 객체를 이용한다.
-request.setCharacterEncoding("utf-8")
웹 브라우저에서 전송된 데이터의 인코딩을 설정한다.
-response.setContentType("text/html;charset=utf-8")
setContentType()을 이용해 응답할 데이터 종류가 HTML임을 설정한다.
-PrintWriter out = response.getWriter()
HttpServletResponse 객체의 getWriter()을 이용하여 출력 스트림 PrintWriter 객체를 받아온다.
입력 시 HTML에 따라 다음과 같이 출력된다.
'자바 웹 개발 > 서블릿 기초' 카테고리의 다른 글
[Servelt] 데이터베이스 연동하기 (0) | 2024.08.09 |
---|---|
[servlet] web.xml에서 서블릿 매핑하기 (0) | 2024.08.08 |
[Web] getParameterNames() 메서드를 이용한 요청 처리 (0) | 2024.08.05 |
[Web] 여러 개의 값을 전송할 때의 요청 처리 (0) | 2024.08.05 |
[Web] 서블릿의 기능 : 요청 - form 태그로 서블릿에 요청하기 (0) | 2024.08.05 |