Servlet - #2 servelt

임다이·2023년 10월 25일

Jsp/Servlet

목록 보기
3/10

Servlet이란?

  • Server + Applet(Java 프로그램이 웹 서버에서 자동으로 설치되어 동작하는 프로그램)
  • Server상에서 작동하는 Java기반의 웹 어플리케이션 프로그래밍 기술
  • Servlet은 HttpServlet클래스를 상속 받는다.
  • . java 확장자를 가진다.
  • Client의 요청에 동적으로 작동하고 HTML문서로 응답한다.
  • 멀티쓰레드를 이용하여 동작해서 속도, 메모리 면에서 효율적이다.
  • 객체지향적 대규모 Web Application 개발에 적합함
  • Apache Tomcat
  • WAS의 한 종
  • Jsp와 Servlet을 실행할 수 있는 환경을 제공
  • Request
    Client로부터 들어온 요청과 관련된 정보를 담고 있는 객체
  • 인코딩 방식
    • 인코딩(Encoding)
      문자를 코드로 변환
    • 디코딩(Decoding)
      코드를 문자로 변환

실습

//URL Mapping : 실제 경로 대신에 특정 문자열과 servlet을 Mapping(연결)하는 방법
@WebServlet("/dai")
								   // Servlet은 HttpServlet 상속 받음
public class Ex01_request_response extends HttpServlet {
				   // service 메소드 : Java의 main메소드 역할
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 1. request 객체 : 사용자가 요청을 했을 때, 요청에 대한 정보를 담고 있는 객체
		// ex) 요청이 들어온 주소, 요청할 때 넘겨준 데이터(id, pw 등)
		
		// 실습1. 내 servlet을 요청한 ip주소 확인하기
		String client_ip = request.getRemoteHost();
		System.out.println("요청 들어온 ip주소 : " + client_ip);
		
		// 2. response 객체 : 사용자에게 응답할 때 사용하는 객체
		// ex) html문서, text, 페이지 이동
		
		// 응답 할 문서에 대한 설정
		// 이 설정은 출력 전에 코드 작성
		response.setContentType("text/html; charset=utf-8");
		
		// 웹에 출력 -> PrintWriter 객체
		PrintWriter out = response.getWriter();
		out.print("뇽안뇽안");
		out.print("<h1> 지켜보고있다 </h1>");
		out.print("<button> 좋아효! </button>");
		
		// 이미지 출력
		// servlet이 실행되는 위치 : webapp 폴더
		out.print("<img src='./img/쥬레곤.jpg'>");
		
		// 500 에러 : 문법에러 -> 코드 수정
	}

}

  • Servlet은 HttpServlet 상속 받음
  • service 메소드 : Java의 main메소드 역할
    1. request 객체 : 사용자가 요청을 했을 때, 요청에 대한 정보를 담고 있는 객체
      ex) 요청이 들어온 주소, 요청할 때 넘겨준 데이터(id, pw 등)
  • response 객체 : 사용자에게 응답할 때 사용하는 객체
    ex) html문서, text, 페이지 이동
  • 웹에 출력 -> PrintWriter 객체
  • servlet이 실행되는 위치 : webapp 폴더
  • 500 에러 : 문법에러 -> 코드 수정

실습2)
팀원들만 웰컴, 팀원 아닌사람들은 안뜸

@WebServlet("/Ex02_request_response_prac")
public class Ex02_request_response_prac extends HttpServlet {
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String client_ip = request.getRemoteHost();
		System.out.println("요청 들어온 ip주소 : " + client_ip);

		if (client_ip.equals("119.200.31.33") || client_ip.equals("121.147.0.230") || client_ip.equals("59.0.234.65")
				|| client_ip.equals("59.0.234.161")) {
			response.setContentType("text/html; charset=utf-8");

			PrintWriter out = response.getWriter();
			out.print("어서와");
			out.print("<h1> 환영해 </h1>");

			out.print("<img src='./img/웰컴.jpg'>");
		} else {
			response.setContentType("text/html; charset=utf-8");

			PrintWriter out = response.getWriter();
			out.print("저리가");
			out.print("<h1> 여기 아니야 </h1>");

			out.print("<img src='./img/저리가.jpg'>");
		}
	}

}

→ 팀원이 아니면
→ 팀원이면 웰컴


profile
노는게 제일 좋아~!

0개의 댓글