Tomcat으로 Dynamic Web Project 실행하기

zihooy·2023년 5월 19일
2

Web Development

목록 보기
3/8
post-thumbnail

🏹 Mac Eclipse에 Tomcat 설치하기

설치에 앞서 Tomcat 파일을 다운받아야 한다.
Tomcat 다운받기

Eclipse를 열고 File > New > Server를 클릭한다.
Apache 폴더를 클릭하고 > Tomcat v9.0 Server를 클릭한다.

다운받은 Tomcat이 있는 경로를 선택해주고,
Finish 버튼을 누르면 설치 완료 !

🏹 Dynamic Web Project 만들기

Dynamic Web Project 생성

이제 새로운 Web을 생성해보자.
File > New > Dynamic Web Project를 클릭한다.
만들어진 프로젝트의 /src/main/webapp 밑에 새로운 파일(index.jsp)를 생성한다.

Projcet Facet 확인

이후에는 프로젝트명 우클릭 > Properties > Project Facet에 들어가서 Java 버전을 11로 변경해주고, 오른쪽 Runtimes에서 Tomcat이 체크되어 있는지 확인한다.

Server 실행하기

index.jsp 파일에 간단하게 <h1>안녕</h1> 이라고 추가하였다.
프로젝트 우클릭 > Run as > Run on Server를 클릭하면 ! 다음과 같은 화면이 뜬다.

🏹 Server에 문제가 생겼을 경우 확인해야 하는 것들

  • 왼쪽 Project Explorers에 Servers 폴더가 존재하는지 확인
  • 프로젝트 우클릭 > Properties > Project Facet에 들어가서 오른쪽 Runtimes에 Tomcat이 체크되어 있는지 확인
  • Server Tab을 더블 클릭 > Port > Tomcat admin port가 8005인지 확인
  • Server Tab의 Start 확인
  • 프로젝트 우클릭 > Run on Server 클릭해보기
  • Server Tab의 Server가 여러개인 경우 삭제하기
    Window > Preferences > Server > Runtime Environment 확인, 필요 없는 서버 클릭 후 Remove 버튼 클릭
  • 상단바의 Project > Clean 선택 후 다시 실행해보기
  • Eclipse를 껐다 키기 !

🏹 Servlet이란

Servlet은 Java 언어를 기반으로 웹 애플리케이션을 개발하기 위한 기술로, 서버 측에서 동적인 웹 콘텐츠를 생성하고 관리하는 데 사용된다.
특히 Java 기반의 다양한 프레임워크 (예: Spring MVC)에서도 활용되고 있다.

Jsp와 Servlet의 차이
Jsp는 주가 HTML로, HTML에서 Java를 작동하는 반면,
Servlet은 Java 안에서 HTML을 작동시킨다.

그러나 결국 JSP는 실행될 때 Servlet으로 변환되어 실행된다. 따라서 JSP 파일은 서블릿 파일(.java)로 변환되고, 컴파일된 후 웹 애플리케이션 서버에서 실행된다.

🏹 Servlet 생성하기

프로젝트 우클릭 > New > Servelet
Java package, Class name 입력

생성된 Servlet에서 @WebServlet("/hello")로 바꿔주고,
나는 프로젝트 이름이 Web02이기 때문에
http://localhost:8080/Web02/hello 에 접속하면 다음과 같은 결과가 나온다.

doGet 메소드를 다음과 같이 수정해보자.

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("doGet 호출됨");
		//response.getWriter().append("Served at: ").append(request.getContextPath());
		PrintWriter out = response.getWriter();
		out.println("<html>");
		out.println("<head>");
		out.println("</head>");
		out.println("<body>");
		out.println("<h1>This is new Project !</h1>");
		out.println("</body>");
		out.println("</html>");
		out.close();
	}

🏹 Config 파일 만들기

프로젝트 하위 폴더 중 WEB-INF 우클릭 > New > XML 파일 선택 > 파일 이름 web.xml로 설정

XML이란

XML(Extensible Markup Language)은 데이터를 구조화하고 전송하기 위한 마크업 언어이다. 요즘은 데이터 송수신을 할 때 Json을 주로 사용한다.

내용 생성

  1. <web-app> 태그 추가
  2. Welcome 파일 설정
  3. <servlet>태그 추가
<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
	version="4.0">

	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>

	<!-- Pack.HelloServlet tiger = new Pack.HelloServlet(); 과 같은 의미의 코드 -->
	<servlet>
		<servlet-name>hello</servlet-name>
		<servlet-class>Pack.HelloServlet</servlet-class>
	</servlet>

	<!-- /hello로 요청을 하면 hello servlet으로 응답하도록 -->
	<servlet-mapping>
		<servlet-name>hello</servlet-name>
		<url-pattern>/hello</url-pattern>
	</servlet-mapping>

</web-app>

profile
thisIsZihooLog

0개의 댓글