Servlet(2)

chaeyun·2021년 10월 20일
0

JSP(Java Server Page)

목록 보기
3/12
  • servlet파일 작성(2) - HttpServlet 클래스를 활용
  1. get 방식의 요청에 대해 호출되어 실행되는 메소드
    	@Override
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    	{
    		// get 방식의 요청에 대해 호출되어 실행되는 메소드
    		doGetPost(request, response);
    	}
  2. post 방식의 요청에 대해 호출되어 실행되는 메소드
    	@Override
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    	{
    		// post 방식의 요청에 대해 호출되어 실행되는 메소드
    		doGetPost(request, response);
    	}
  3. get 방식의 요청이든 post 방식의 요청이든 모두 처리할 수 있는 사용자 정의 메소드
    	@Override
    	protected void doGetPost(HttpServletRequest request, HttpServletResponse 	response) throws  ServletException, IOException
    	{
        		String userId = request.getParameter("userId");
    		String userPwd = request.getParameter("userPwd");
    		//respose → 응답객체 → 서버로부터 클라이언트로...
    		response.setContentType("text/html; charset=UTF-8");
    		String str = "아이디 : " + userId + ", 패스워드 : " + userPwd;
            				(생략)
                    out.print("<p>" + str + "</p>");
    		out.print("<p>" + "method : " + request.getMethod() + "</p>");
    		out.print("<p>");
    		out.print("클라이언트 IP Address : " + request.getRemoteAddr());
    		out.print("</p>");
    		out.print("<p>" + "URI : " + request.getRequestURI() + "</p>");

전체코드
jsp

<%@ page contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test005.jsp</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
</head>
<body>

<div>
	<h1>JSP 관찰하기</h1>
	<hr>
</div>

<div>
	<h2>HttpServlet 관련 실습</h2>
	
	<!-- ※form 태그의 action 속성은 데이터 전송 및 페이지 요청을
	       해야하는 대상 페이지를 등록하는 기능 수행
	       (생략 시 데이터 전송 및 요청 페이지는 자기 자신) -->
	<!-- ※form 태그의 method 속성에는 get 또는 post 를 등록
	       (생략 시 get 방식으로 처리)
	       이는 데이터 전송 및 페이지 요청 방식에 해당한다. -->
	<form action="/WebApp04/login" method="get">
		<table>
			<tr>
				<th>아이디</th>
				<td>
					<input type="text" name="userId" size="10" maxlength="10">
				</td>
			</tr>
			<tr>
				<th>패스워드</th>
				<td>
					<input type="password" name="userPwd" size="10">
				</td>
			</tr>
			<tr>
				<td colspan="2">
					<input type="submit" value="로그인" class="btn" style="width: 90px;">
					<input type="reset" value="다시입력" class="btn" style="width: 90px;">
				</td>
			</tr>
		</table>
	</form>
</div>

</body>
</html>

java

package com.test;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Test005 extends HttpServlet
{
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
	{
		doGetPost(request, response);
	}

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
	{
		doGetPost(request, response);
	}

	protected void doGetPost(HttpServletRequest request, HttpServletResponse response) throws  ServletException, IOException
	{
		request.setCharacterEncoding("UTF-8");
		
		String userId = request.getParameter("userId");
		String userPwd = request.getParameter("userPwd");
		
		response.setContentType("text/html; charset=UTF-8");
		
		String str = "아이디 : " + userId + ", 패스워드 : " + userPwd;

		PrintWriter out = response.getWriter();
		
		out.print("<!DOCTYPE html>");
		out.print("<html>");
		out.print("<head>");
		out.print("<title>");
		out.print("Test005.java");
		out.print("</title>");
		out.print("</head>");
		out.print("<body>");
		out.print("<div>");
		out.print("<h1>");
		out.print("서블릿 관련 실습");
		out.print("</h1>");
		out.print("<hr>");
		out.print("</div>");
		out.print("<div>");
		out.print("<h2>");
		out.print("HttpServlet 클래스를 활용한 서블릿 테스트");
		out.print("</h2>");
		out.print("<p>" + str + "</p>");
		out.print("<p>" + "method : " + request.getMethod() + "</p>");
		out.print("<p>");
		out.print("클라이언트 IP Address : " + request.getRemoteAddr());
		out.print("</p>");
		out.print("<p>" + "URI : " + request.getRequestURI() + "</p>");
		out.print("</div>");
		out.print("</body>");
		out.print("</html>");
		
	}
}

0개의 댓글