본문 바로가기
☕ Java 웹 프로그래밍/Servlet & JSP

[Servlet&JSP] 이클립스를 이용한 서블릿 프로그래밍

by 일단연 2023. 5. 23.

* 본 글은 [뉴렉처]의 Servlet&JSP 프로그래밍 강의를 듣고 정리한 글입니다.

 

2020 Servlet&JSP 프로그래밍

 

www.youtube.com

 

Context를 알고 싶다면, 아래의 글을 참고하세요.

[Servlet&JSP] 2일차 | Context 추가하기

 

 이클립스를 이용한 서블릿 프로그래밍 

  • Dynamic Web Project로 만든 프로젝트의 홈 디렉토리는 WebContent

WebContent에 HTML 파일 만들어 실행해보기

  • HTML 파일을 만들고 body에 문자열을 입력한 후 Ctrl+F11 눌러 실행
  • Tomcat 서버가 자동으로 실행되고 이클립스가 제공하는 웹 브라우저에 결과가 출력됨
  • http://localhost:8090/JSPPrj/index.html 에 결과가 출력됨
    • 루트에 해당되는 기본 웹 프로젝트는 Context명을 갖지 않는 게 좋음 (루트 값만 가져야 함)
  •  해당 프로젝트를 기본 웹 프로젝트로 만들기
    • 1) 프로젝트에 오른쪽 버튼>Properties>Web Project Settings>Context root를 /로 변경

  • 2) Tomcat 서버를 중단시키고 Servers탭에서 Context 사이트(JSPPrj)를 제거

  • 3) 실행 결과
    • HTML 파일을 실행하면 http://localhost:8090/index.html 에 결과가 출력됨
    • Context명이 제거되면서 JSPPrj 프로젝트가 루트 프로젝트로써 작동
  • ** 주의할 점 **
    • Tomcat 서버를 시작하는 과정에서 포트가 겹치는 오류가 발생한다면, 따로 실행하고 있던 Tomcat 서버를 꺼줘야 함 (startup.bat을 꺼야 한다는 의미)

이클립스가 제공하는 웹 브라우저가 아니라 외부 브라우저로 출력하는 방법

  • Windows>Web Browser>1 Default system web browser 선택
  • 해당 컴퓨터에 설정되어 있는 기본 브라우저에 출력됨

서블릿 만들기

  • 서블릿은 Java Resources>src에 만들어야 함
  • 1) 클래스를 만들면서 패키지도 생성

  • 2) 코드 입력
package com.newlecture.web;

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 Nana extends HttpServlet {
  @Override
  protected void service(HttpServletRequest req
                        , HttpServletResponse resp)
                        throws ServletException, IOException {
		
    PrintWriter out = resp.getWriter();
    out.println("Hello Servlet");
  }
}
  • 3) JSPPrj>WebContent>WEB-INF에 Tomcat의 web.xml 파일 붙여넣기
    (Tomcat 홈 디렉토리>webapps>ROOT>WEB-INF>web.xml 파일)
    • JSPPrj>WebContent>WEB-INF>lib가 아니라 꼭 WEB-INF에 넣어야 함
  • 4) web.xml에서 servlet 태그 수정
<servlet>
  <servlet-name>na</servlet-name>
  <servlet-class>com.newlecture.web</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>na</servlet-name>
  <url-pattern>/hello</url-pattern>
</servlet-mapping>
  • 5) Nana.java 파일 실행
  • 6) 결과