본문 바로가기
Servlet

day-01

by EUN-JI 2023. 11. 8.
package ex02;

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("/getTest")
public class GetTestServlet extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		super.doGet(req, resp);
		
		//요청객체에 대해 한글깨짐 방지..
		req.setCharacterEncoding("UTF-8");
		//응답객체도 응답데이터의 타입과 한글인코딩 지정해야 함.
		resp.setContentType("text/html; charset=utf-8");
		
		
		
		//이 doGet()메소드의 파라미터가 2개 존재..[요청객체 req, 응답객체 resp]
		//사용자가 URL 뒤에 ?하고 보낸 요청 파라미터(데이터)를 받기  [PHP  $_GET 작업].. 요청객체에게 ..
		String title= req.getParameter("title");
		System.out.println("GET방식으로 전달된 title 데이터 : " +title);
		
		String message= req.getParameter("msg");
		System.out.println("GET방식으로 전달된 msg 데이터 : " +message);
		
		//데이터가 사용자가 볼 수 있도록 응답해야 함. response  [php echo 기능 ]
		//이 doget()메소드의 2번째 파라미터의 응답객체 resp를 통해..
		//문자 스트림응로 출력데이터를 내보내는 것이기에 ..
		PrintWriter writer= resp.getWriter();
		
		//사용자가 보는 화면은 웹 브라우저임. 이 브라우저는 HTML 언어 체계를 따름.. 그래서 출력도 thml로 해야함.
		writer.println("<!DOCTYPE html>");
		writer.println("<html>");
		writer.println("<body>");
		
		writer.println("<h4>");
		writer.println(title);
		writer.println("</h4>");
		
		
		writer.println("<p>");
		writer.println(message);
		writer.println("</p>");
		
		writer.println("</body>");
		writer.println("</html>");
		
	}
	
}
package ex02;

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("/postTest")
public class PostTestServlet extends HttpServlet{
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		super.doPost(req, resp);
		
		//요청객체의 한글 깨짐 방지
		req.setCharacterEncoding("utf-8");
		//응답객체의 mime type과 인코딩
		resp.setContentType("text/html; charset=utf-8");
				
				
		//POST방식으로 전달된 요청 파라미터를 요청객체로 부터 받아오기
		String userId= req.getParameter("user_id");
		String userPw= req.getParameter("user_pw");
		
		//같은 name속성으로 여러개가 전달된다면 .. 이를 배열로 받아야함. 메소드이름이 다름..!!
		String[] fruits= req.getParameterValues("fruits");
		
		//실무였다면 이 데이터를 DB와 연동하는 작업을 했음. 연습이라 그냥 출력.
		PrintWriter writer= resp.getWriter();
		
		writer.println("<!DOCTYPE html>");
		writer.println("<html>");
		writer.println("<body>");
		
		writer.println("<h4>");
		writer.println(userId);
		writer.println("</h4>");
		
		
		writer.println("<p>");
		writer.println(userPw);
		writer.println("</p>");
		
		
		writer.println("<p>");
				
				for(String f: fruits) {
					writer.println(f+",");
				}
		writer.println("</p>");
		
		
		writer.println("</body>");
		writer.println("</html>");
		
		
		
	}

}

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	
	<h2>Ex01 Servlet Test</h2>
	
	<fieldset>
		<legend>GET METHOD TEST</legend>
		<form action="getTest" method="get" enctype="application/x-www-form-urlencoded">
			TITLE: <input type="text" name="title"> <br>
			MESSAGE: <input type="text" name="msg"> <br>
			<input type="submit" value="전송">
		</form>
	</fieldset>
	
	<hr>
	
	<fieldset>
		<legend> post method test</legend>
		<form action="postTest" method="post" enctype="application/x-www-form-urlencoded">
			<p>아이디 : <input type="text" name="user_id"></p>
			<p>비밀번호 : <input type="password" name="user_pw"></p>
			
			<p>
				<input type="checkbox" name="fruits" value="apple">사과
				<input type="checkbox" name="fruits" value="orange">오렌지
				<input type="checkbox" name="fruits" value="banana">바나나
			</p>
			
			
			<p><input type="submit" value="로그인"></p>
		</form>
	</fieldset>

</body>
</html>

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

package ex02;

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;

@WebServlet("/both")
public class BothTestServlet extends HttpServlet{
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		super.doGet(req, resp);
		doHandle(req,resp);
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		super.doPost(req, resp);
		doHandle(req,resp);
	}
	
	void doHandle(HttpServletRequest req, HttpServletResponse resp) {
		//do something..
		
	}

}

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ