설치에 앞서 Tomcat 파일을 다운받아야 한다.
Tomcat 다운받기
Eclipse를 열고 File > New > Server를 클릭한다.
Apache 폴더를 클릭하고 > Tomcat v9.0 Server를 클릭한다.
다운받은 Tomcat이 있는 경로를 선택해주고,
Finish 버튼을 누르면 설치 완료 !
이제 새로운 Web을 생성해보자.
File > New > Dynamic Web Project를 클릭한다.
만들어진 프로젝트의 /src/main/webapp 밑에 새로운 파일(index.jsp)를 생성한다.
이후에는 프로젝트명 우클릭 > Properties > Project Facet에 들어가서 Java 버전을 11로 변경해주고, 오른쪽 Runtimes에서 Tomcat이 체크되어 있는지 확인한다.
index.jsp 파일에 간단하게 <h1>안녕</h1>
이라고 추가하였다.
프로젝트 우클릭 > Run as > Run on Server를 클릭하면 ! 다음과 같은 화면이 뜬다.
Servlet은 Java 언어를 기반으로 웹 애플리케이션을 개발하기 위한 기술로, 서버 측에서 동적인 웹 콘텐츠를 생성하고 관리하는 데 사용된다.
특히 Java 기반의 다양한 프레임워크 (예: Spring MVC)에서도 활용되고 있다.
Jsp와 Servlet의 차이
Jsp는 주가 HTML로, HTML에서 Java를 작동하는 반면,
Servlet은 Java 안에서 HTML을 작동시킨다.
그러나 결국 JSP는 실행될 때 Servlet으로 변환되어 실행된다. 따라서 JSP 파일은 서블릿 파일(.java)로 변환되고, 컴파일된 후 웹 애플리케이션 서버에서 실행된다.
프로젝트 우클릭 > 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();
}
프로젝트 하위 폴더 중 WEB-INF 우클릭 > New > XML 파일 선택 > 파일 이름 web.xml로 설정
XML(Extensible Markup Language)은 데이터를 구조화하고 전송하기 위한 마크업 언어이다. 요즘은 데이터 송수신을 할 때 Json을 주로 사용한다.
<web-app>
태그 추가<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>