* 본 글은 [뉴렉처]의 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-class>태그에 Nana.java 파일의 패키지명(com.newlecture.web) 넣기
<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) 결과
'☕ Java 웹 프로그래밍 > Servlet & JSP' 카테고리의 다른 글
[Servlet&JSP] Servlet 출력 형식의 이해 (0) | 2023.05.24 |
---|---|
[Servlet&JSP] 어노테이션을 이용한 URL 매핑 (0) | 2023.05.23 |
[Servlet&JSP] 서블릿 프로젝트의 web.xml에서 발생하는 오류 해결 (0) | 2023.05.23 |
[Servlet&JSP] 웹 개발을 위한 이클립스 IDE 설치하기 (0) | 2023.05.23 |
[Servlet&JSP] Servlet 문자열 출력 (0) | 2023.05.23 |