관리 메뉴

거니의 velog

230926_Servlet 2 본문

대덕인재개발원_자바기반 애플리케이션

230926_Servlet 2

Unlimited00 2023. 9. 26. 13:26

[requestTest.jsp]

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="UTF-8" />
		<title>reqNresp</title>
	</head>
	<body>
	
		<!--  
			<form> 태그의 속성
			1) action ==> <form>에서 구성한 데이터를 서버로 보내면 이 데이터를 받아서 처리할 문서명(서블릿, JSP)
						  (생략하면 '현재 문서'가 기본값이 된다.)
			2) method ==> 전송방식 지정 (GET 또는 POST) ==> (기본값 : GET)
			3) target ==> 응답이 나타날 프레임(ex. iframe)
			4) enctype ==> 서버로 파일을 전송할 때 이 속성에 'multipart/form-data'값을 지정한다.
		-->
		
		<%--  
			이것은 JSP 주석을 나타낸다...
		--%>
		
		<% 
			// 이 영역은 JSP문서에서 JAVA명령을 사용할 수 있는 영역입니다.
			// 이 영역은 '스크립트릿'이라고 한다.
			String name = "홍길동";
		%>
		
		<%-- 
			<%= 변수 또는 수식 %> ==> JSP문서에서 변수나 수식의 결과를 출력할 때 사용한다.
		--%>
		
		<h2><%= name %>의 Request 연습 Form <%= 3+4 %></h2>
		<form action="/webTest/requestTest01.do" method="get">
			<table border="1">
				<tr>
					<th>이름</th>
					<td><input type="text" size="10" name="username" /></td>
				</tr>
				<tr>
					<th>직업</th>
					<td>
						<select name="job">
							<option value="학생">==학생==</option>
							<option value="회사원">==회사원==</option>
							<option value="전문직">==전문직==</option>
							<option value="무직">==무직==</option>
						</select>
					</td>
				</tr>
				<tr>
					<th>취미</th>
					<td>
						<input type="checkbox" name="hobby" value="여행" />여행
						<input type="checkbox" name="hobby" value="독서" />독서
						<input type="checkbox" name="hobby" value="게임" />게임
						<input type="checkbox" name="hobby" value="테니스" />테니스
						<input type="checkbox" name="hobby" value="배드민턴" />배드민턴
					</td>
				</tr>
				<tr>
					<td colspan="2" style="text-align: center;">
						<input type="submit" value="전송" />
						<input type="reset" value="취소" />
					</td>
				</tr>
			</table>
		</form>
	</body>
</html>

[RequestTest01.java]

package kr.or.ddit.reqNresp;

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

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("/requestTest01.do")
public class RequestTest01 extends HttpServlet {
	
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// POST방식으로 전달되는 데이터의 문자 인코딩 방식 설정
		request.setCharacterEncoding("utf-8");
		
		// 클라이언트에서 보내온 데이터 받기
		
		// Request객체의 getParameter()메서드를 이용한다.
		// 형식) Request객체.getParameter("파라미터명");
		//		==> 해당 '파라미터명'에 설정된 '값'을 가져온다.
		//		==> 가져오는 '값'의 자료형은 'String'이다.
		String userName = request.getParameter("username");
		String job = request.getParameter("job");
		
		// 같은 '파라미터명'이 여러개 일 경우에는 
		// Request객체의 getParameterValues()메서드를 이용한다.
		// 형식) Request객체.getParameterValues("파라미터명");
		// 		==> 가져오는 '값'의 자료형은 String배열('String[]')이다.
		String[] hobbies = request.getParameterValues("hobby");
		
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html; charset=utf-8");
		PrintWriter out = response.getWriter();
		
		out.println("<html lang='ko'>");
		out.println("<head><meta charset='utf-8' /><title>Request 객체 연습</title></head>");
		out.println("<body>");
		out.println("<h3>Request객체 테스트 결과</h3>");
		out.println("<table border='1'>");
		
		out.println("<tr><td>이름</td>");
		out.println("<td>" + userName + "</td></tr>");
		
		out.println("<tr><td>직업</td>");
		out.println("<td>" + job + "</td></tr>");
		
		out.println("<tr><td>취미</td>");
		out.println("<td>");
		if(hobbies == null) {
			out.println("취미가 없습니다...");
		}else {
			for(String hobby : hobbies) {
				out.println(hobby + "<br />");
			}
		}
		out.println("</td></tr>");
		
		out.println("</table>");
		out.println("</body>");
		out.println("</html>");
	}

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

}

- http://localhost:8090/webTest/basic/reqNresp/requestTest.jsp


[RequestTest01.java]

package kr.or.ddit.reqNresp;

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

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("/requestTest01.do")
public class RequestTest01 extends HttpServlet {
	
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// POST방식으로 전달되는 데이터의 문자 인코딩 방식 설정
		request.setCharacterEncoding("utf-8");
		
		// 클라이언트에서 보내온 데이터 받기
		
		// Request객체의 getParameter()메서드를 이용한다.
		// 형식) Request객체.getParameter("파라미터명");
		//		==> 해당 '파라미터명'에 설정된 '값'을 가져온다.
		//		==> 가져오는 '값'의 자료형은 'String'이다.
		String userName = request.getParameter("username");
		String job = request.getParameter("job");
		
		// 같은 '파라미터명'이 여러개 일 경우에는 
		// Request객체의 getParameterValues()메서드를 이용한다.
		// 형식) Request객체.getParameterValues("파라미터명");
		// 		==> 가져오는 '값'의 자료형은 String배열('String[]')이다.
		String[] hobbies = request.getParameterValues("hobby");
		
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html; charset=utf-8");
		PrintWriter out = response.getWriter();
		
		out.println("<html lang='ko'>");
		out.println("<head><meta charset='utf-8' /><title>Request 객체 연습</title></head>");
		out.println("<body>");
		out.println("<h3>Request객체 테스트 결과</h3>");
		out.println("<table border='1'>");
		
		out.println("<tr><td>이름</td>");
		out.println("<td>" + userName + "</td></tr>");
		
		out.println("<tr><td>직업</td>");
		out.println("<td>" + job + "</td></tr>");
		
		out.println("<tr><td>취미</td>");
		out.println("<td>");
		if(hobbies == null) {
			out.println("취미가 없습니다...");
		}else {
			for(String hobby : hobbies) {
				out.println(hobby + "<br />");
			}
		}
		out.println("</td></tr>");
		
		out.println("</table>");
		
		out.println("<br /><hr /><br />");
		
		out.println("<h2>Request객체의 메서드</h2>");
		out.println("<ol>");
		out.println("<li>클라이언트의 IP주소 : " + request.getRemoteAddr() + "</li>");
		out.println("<li>요청 메서드 : " + request.getMethod() + "</li>");
		out.println("<li>ContextPath : " + request.getContextPath() + "</li>");
		out.println("<li>프로토콜 : " + request.getProtocol() + "</li>");
		out.println("<li>URL정보 : " + request.getRequestURL() + "</li>");
		out.println("<li>URI정보 : " + request.getRequestURI() + "</li>");
		out.println("</ol>");
		
		out.println("</body>");
		out.println("</html>");
	}

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

}

- http://localhost:8090/webTest/basic/reqNresp/requestTest.jsp


[requestTest02.jsp]

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="UTF-8" />
		<title>Request연습 Form</title>
	</head>
	<body>
		<h1>Request연습 Form(숫자 입력은 정수형으로 입력하세요.)</h1><hr /><br />
		<form action="/webTest/requestTest02.do" method="get">
			<input type="text" name="val1" />
			<select name="oper">
				<option value="+">+</option>
				<option value="-">-</option>
				<option value="*">*</option>
				<option value="/">/</option>
				<option value="%">%</option>
			</select>
			<input type="text" name="val2" />
			<input type="submit" value="확인" />
		</form>
	</body>
</html>

[RequestTest02.java]

package kr.or.ddit.reqNresp;

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

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("/requestTest02.do")
public class RequestTest02 extends HttpServlet {
	
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		
		String val1 = request.getParameter("val1");
		int intVal1 = Integer.parseInt(val1);
		
		String oper = request.getParameter("oper");
		
		String val2 = request.getParameter("val2");
		int intVal2 = Integer.parseInt(val2);
		
		double result = 0; //계산 결과가 저장될 변수
		boolean calcOk = true; //계산 성공 여부를 나타내는 변수
		
		switch(oper) {
			case "+" : result = intVal1 + intVal2; break;
			case "-" : result = intVal1 - intVal2; break;
			case "*" : result = intVal1 * intVal2; break;
			case "/" : 
				if(intVal2 == 0) {
					calcOk = false;
				}else {
					result = (double) intVal1 / intVal2; 			
				}
				break;
			case "%" : 
				if(intVal2 == 0) {
					calcOk = false;
				}else {
					result = (double) intVal1 % intVal2;			
				}
				break;
		}
		
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html; charset=utf-8");
		PrintWriter out = response.getWriter();
		
		out.println("<html lang='ko'>");
		out.println("<head><meta charset='utf-8' /><title>계산 결과</title></head>");
		out.println("<body>");
		
		out.println("<h1>계산 결과</h1><hr /><br />");
		out.println(val1 + " " + oper + " " + val2 + " = ");
		if(calcOk == true) {
			out.println(result + "<br>");
		}else {
			out.println("계산 불능(0으로 나눔)<br>");	
		}
		
		out.println("</body>");
		out.println("</html>");
		
	}

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

}

- http://localhost:8090/webTest/basic/reqNresp/requestTest02.jsp


[선생님 풀이]

[requestTest02.jsp]

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="UTF-8" />
		<title>Request연습 Form</title>
	</head>
	<body>
		<h1>Request연습 Form(숫자 입력은 정수형으로 입력하세요.)</h1><hr /><br />
		<form action="/webTest/requestTest02.do" method="post">
			<table>
				<tr>
					<td><input type="text" name="val1" /></td>
					<td>
						<select name="oper">
							<option value="+">+</option>
							<option value="-">-</option>
							<option value="*">*</option>
							<option value="/">/</option>
							<option value="%">%</option>
						</select>
					</td>
					<td><input type="text" name="val2" /></td>
					<td><input type="submit" value="확인" /></td>
				</tr>
			</table>
		</form>
	</body>
</html>

[RequestTest02.java]

package kr.or.ddit.reqNresp;

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

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("/requestTest02.do")
public class RequestTest02 extends HttpServlet {
	
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html; charset=utf-8");
		PrintWriter out = response.getWriter();
		
		// 파라미터 값 받기
		String strNum1 = request.getParameter("num1");
		String op = request.getParameter("op");
		String strNum2 = request.getParameter("num2");
		
		int num1 = Integer.parseInt(strNum1);
		int num2 = Integer.parseInt(strNum2);
		
		double result = 0.0; // 계산된 결과가 저장될 변수
		boolean calcOk = true; // 계산 성공 여부를 나타내는 변수
		
		switch(op) {
			case "+" : result = num1 + num2; break;
			case "-" : result = num1 - num2; break;
			case "*" : result = num1 * num2; break;
			case "/" : 
				if(num2 != 0) {
					result = (double) num1 / num2; 			
				}else {
					calcOk = false;
				}
				break;
			case "%" : 
				if(num2 != 0) {
					result = (double) num1 % num2;			
				}else {
					calcOk = false;
				}
				break;
		}
		
		out.println("<html lang='ko'>");
		out.println("<head><meta charset='utf-8' /><title>Request 연습 - 계산기</title></head>");
		out.println("<body>");
		
		out.println("<h1>계산 결과</h1><hr /><br />");
		out.printf("%d %s %d = ", num1, op, num2);
		if(calcOk) { // 계산 성공
			out.println(result);
		}else { // 계산 실패
			out.println("계산 불능(0으로 나누기)");	
		}
		
		out.println("</body>");
		out.println("</html>");
		
	}

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

}

- http://localhost:8090/webTest/basic/reqNresp/requestTest02.jsp


[servletTest.jsp]

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>서블릿 요청 연습</title>
		<script type="text/javascript">
			window.onload = function(){
				document.getElementById("getBtn").addEventListener("click", function(){
					//location.href = "http://localhost:8090/webTest/servletTest03.do";
					//location.href = "/webTest/servletTest03.do";
					location.href = "<%= request.getContextPath() %>/servletTest03.do";
				});
			}
		</script>
	</head>
	<body>
	
		<h2>서블릿 요청 연습</h2>
		<br /><hr /><br />
		
		<h3>GET방식 요청하기1 ==> 링크 방식</h3>
		<!-- <a href="http://localhost:8090/webTest/servletTest03.do">GET방식 요청 1</a>
		<a href="/webTest/servletTest03.do">GET방식 요청 1</a> -->
		<a href="<%= request.getContextPath() %>/servletTest03.do">GET방식 요청 1</a>
		<br /><hr /><br />
		
		<h3>GET방식 요청하기2 ==> form태그의 method속성 이용하기</h3>
		<!--  
			<form>태그의 속성
			action속성 ==> <form>태그에서 구성하여 서버로 보낸 데이터를 받아서 처리할 문서명을 지정하는 속성
			method속성 ==> get 또는 post (이 속성이 생략되면 기본적으로 Get방식으로 처리된다.)
		-->
		<!-- <form action="http://localhost:8090/webTest/servletTest03.do" method="get">
		<form action="/webTest/servletTest03.do" method="get"> -->
		<form action="<%= request.getContextPath() %>/servletTest03.do" method="get">
			<input type="submit" value="GET방식 요청2" />
		</form>
		<br /><hr /><br />
		
		<h3>GET방식 요청하기3 ==> javascript의 location.href속성 이용하기</h3>
		<form>
			<input id="getBtn" type="button" value="GET방식 요청3" />
		</form>
		<br /><hr /><br />
		
		<h3>POST 방식 요청하기 ==> form태그의 method속성을 'post'로 지정한 경우</h3>
		<!-- <form action="http://localhost:8090/webTest/servletTest03.do" method="post">
		<form action="/webTest/servletTest03.do" method="post"> -->
		<form action="<%= request.getContextPath() %>/servletTest03.do" method="post">
			<input type="submit" value="POST방식 요청" />
		</form>
		
	</body>
</html>

[forward 방식]

[redirect 방식]


[responseTest.jsp]

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>Forward방식, Redirect방식 연습</title>
	</head>
	<body>
		<h3>Forward방식, Redirect방식 연습</h3>
		
		<br /><hr /><br />
		
		<form action="<%= request.getContextPath() %>/responseTest01.do" method="post">
			forward 방식 : <input type="text" name="username" />
			<input type="submit" value="확인" />
		</form>
		
		<br /><hr /><br />
		
		<form action="<%= request.getContextPath() %>/responseTest02.do" method="post">
			redirect 방식 : <input type="text" name="username" />
			<input type="submit" value="확인" />
		</form>
	</body>
</html>

[ResponseTest01.java]

package kr.or.ddit.reqNresp;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
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("/responseTest01.do")
public class ResponseTest01 extends HttpServlet {
	
	private static final long serialVersionUID = 1L;
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		/*
		 * - forward
		 * 		특정 문서(서블릿, JSP)에 대한 요청을 다른 문서(서블릿, JSP)로 넘겨준다.
		 * 		(이 때, HttpServletRequest객체와 HttpServletResponse객체를 공유한다.)
		 * 		클라이언트의 주소창의 URL주소는 처음 요청할 때의 주소가 바뀌지 않는다.
		 * 		서버 내부에서만 접근이 가능하다.
		 * 
		 * 		이동할 페이지로 값을 넘기려면 HttpServletRequest객체의 setAttribute()메서드로
		 * 		데이터를 셋팅하여 보내고,
		 * 		받는 쪽에서는 getAttribute()메서드로 데이터를 읽어온다.
		 * 
		 * 		보낼 때 형식) request객체.setAttribute("key값", 셋팅할 데이터);
		 * 			==> 'key값'은 문자열로 지정하고, '셋팅할 데이터'는 자바의 모든 자료형을 지정할 수 있다.
		 * 
		 * 		받을 때 형식) request객체.getAttribute("key값");
		 */
		request.setAttribute("tel", "010-1234-5678");
		
		// 다른 문서로 이동하기
		
		// request객체의 getRequestDispatcher()메서드에 이동할 서블릿이나 JSP를 지정해 주는데
		// 전체 URI경로 중에서 ContextPath 이후의 경로를 지정해 준다.
		
		// 이동할 문서의 경로가 '/webTest/forwardTest.do'일 때
		RequestDispatcher rd = request.getRequestDispatcher("/forwardTest.do");
		rd.forward(request, response);
	}

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

}

[ForwardTest.java]

package kr.or.ddit.reqNresp;

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

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("/forwardTest.do")
public class ForwardTest extends HttpServlet {
	
	private static final long serialVersionUID = 1L;
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		
		// 파라미터 값 구하기
		String userName = request.getParameter("username");
		
		// setAttribute()메서드로 보낸 데이터 구하기
		String tel = (String) request.getAttribute("tel");
		
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html; charset=utf-8");
		PrintWriter out = response.getWriter();
		
		out.println("<html lang='ko'>");
		out.println("<head><meta charset='utf-8' /><title>Forward 연습</title></head>");
		out.println("</body>");
		
		out.println("<h3>Forward 결과</h3>");
		out.println("<table border='1'>");
		out.println("<tr><td>이름</td>");
		out.println("<td>" + userName + "</td></tr>");
		out.println("<tr><td>전화</td>");
		out.println("<td>" + tel + "</td></tr>");
		out.println("</table>");
		
		out.println("</body>");
		out.println("</html>");
	}
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

- http://localhost:8090/webTest/basic/reqNresp/responseTest.jsp


[ResponseTest02.java]

package kr.or.ddit.reqNresp;

import java.io.IOException;
import java.net.URLEncoder;

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("/responseTest02.do")
public class ResponseTest02 extends HttpServlet {
	
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		/*
		 * - redirect
		 * 		다른 문서로 이동한다. (직접 파라미터를 넘길 수 없다.)
		 * 		응답 시 브라우저에게 '이동할 URL'을 전송하여 브라우저가 해당 URL로
		 * 		재 요청하는 방식이다. 
		 * 		(이 때 GET방식으로 요청하기 때문에 URL주소의 길이에 제한이 있다.)
		 * 
		 * 		사용은 HttpServletResponse객체의 sendRedirect()메서드를 이용한다.
		 * 		형식) response객체.sendRedirect("이동할 URL주소");
		 * 			==> '이동할 URL주소'는 전체 URI경로를 지정해 주어야 한다.
		 */
		
		// redirect는 Request객체를 공유하지 않는다.
//		request.setAttribute("tel", "010-9999-8888");
//		
//		response.sendRedirect(request.getContextPath() + "/redirectTest.do");
		
		request.setCharacterEncoding("utf-8");
		
		// 파라미터 데이터를 받는다.
		String userName = request.getParameter("username");
		String tel = "010-9999-9999";
		
		// URI경로에 한글이 포함될 경우에는 URLEncoder객체를 이용하여
		// 인코딩해서 지정해 주어야 한다.
		userName = URLEncoder.encode(userName, "utf-8");
		
		response.sendRedirect(request.getContextPath()
				+ "/redirectTest.do?username=" + userName + "&tel=" + tel);
	}

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

}

[RedirectTest.java]

package kr.or.ddit.reqNresp;

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

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("/redirectTest.do")
public class RedirectTest extends HttpServlet {
	
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		
		// 파라미터 값 구하기
		String userName = request.getParameter("username");
		
		// setAttribute()메서드로 보낸 데이터 구하기
//		String tel = (String) request.getAttribute("tel");
		String tel = request.getParameter("tel");
		
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html; charset=utf-8");
		PrintWriter out = response.getWriter();
		
		out.println("<html lang='ko'>");
		out.println("<head><meta charset='utf-8' /><title>Redirect 연습</title></head>");
		out.println("</body>");
		
		out.println("<h3>Redirect 결과</h3>");
		out.println("<table border='1'>");
		out.println("<tr><td>이름</td>");
		out.println("<td>" + userName + "</td></tr>");
		out.println("<tr><td>전화</td>");
		out.println("<td>" + tel + "</td></tr>");
		out.println("</table>");
		
		out.println("</body>");
		out.println("</html>");
	}

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

}

- http://localhost:8090/webTest/basic/reqNresp/responseTest.jsp

'대덕인재개발원_자바기반 애플리케이션' 카테고리의 다른 글

231002_Servlet 4  (0) 2023.09.27
230927_Servlet 3  (2) 2023.09.27
230925_Servlet 1  (0) 2023.09.25
230922_Log4J  (0) 2023.09.22
230921_MyBatis 과제_myBatisBoardTest  (0) 2023.09.21