JSP - Tomcat 환경에서 JSP, Servlet

1 minute read

JDK, Tomcat 설치

1 JSP 생성

  • Tomcat이 설치된 폴더를 찾아 그 하위 폴더인 webapps 폴더 내에 jspTest라는 폴더를 만든다
    • webapps 폴더 내에 새로운 폴더 생성
      • = 새로운 웹 어플리케이션 생성
      • = 새로운 Context 생성 (ServletContext)
  • jspTest 폴더 안에 hellowolrd.jsp 파일을 생성하고 다음 코드를 타이핑 한다
      <%@ page contentType="text/html;charset=UTF-8" language="java" %>
      <html>
          <head>
              <title>title</title>
          </head>
          <body>
              <% out.println("Hello World"); %> <br/>
              <% out.println("안녕하세요"); %>
          </body>
      </html>
    
  • Tomcat 실행 (cmd 창 열고 startup.bat)
  • 결과 화면

  • 실행하는 과정이 간단하게 보이지만 JSP 파일은 실행이 될 때 일단 Servlet인 Java 소스 파일로 변환되고 다시 class 파일로 커마일 된 후 이 클래스 파일이 JSP/Servlet 컨테이너인 Tomcat 내에서 실행되어 그 결과가 최종적으로 웹 브라우저로 전달된다.
    • tomcat 설치 폴더\work\Catalina\localhost\jspTest\org\apache\jsp\index_jsp.java
    • tomcat 설치 폴더\work\Catalina\localhost\jspTest\org\apache\jsp\index_jsp.class

2 Servlet 생성

  • Servlet java 파일 생성 -> class 파일로 컴파일 -> 서블릿 등록 및 URL 매핑 -> 실행
  • Servlet은 Java 코드로 작성을 하기 때문에 컴파일 과정이 필요하다. 별도의 CLASSPATH 환경을 설정 할 필요 없는 sjc.bat 파일을 생성한다
    • sjc.bat 파일을 생성후 편집기를 이용해 다음의 내용을 타이핑 한다
      • javac -cp %CATALINA_HOME%\lib\servlet-api.jar -d ..\classes %1
    • 실행 경로에 상관없이 실행 시키기 위해 “jdk 설치 폴더/bin/” 안에 작성한 sjc.bat 파일을 넣어준다
  • Tomcat 설치 폴더/webapps/jspTest 폴더 내에 WEB-INF 폴더를 만들고 그 안에 classes 폴더와 java_sources폴더를 생성한다
  • java_sources 폴더 내에 HelloWorldServlet.java 파일을 생성한 후 다음의 코드를 타이핑 한다
      import javax.servlet.*;
      import javax.servlet.http.*;
      import java.io.*;
    
      public class HelloWorldServlet extends HttpServlet {
          public void init() {
              System.out.println("Init!!!");
          }	
    
          public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
                  System.out.println("doGet!!!");
              response.setContentType("text/html");
              PrintWriter out = response.getWriter();
              out.println("<html><body bgcolor=\"yellow\">Hello Servlet!</body></html>");
          }	
    
          public void destroy() {
              System.out.println("destroy!!!");
          }
      }
    
  • cmd 창을 열고 다음의 명령어를 실행시킨다
    • 현재 디렉토리 변경
      • cd 'Tomcat 설치 폴더'\webapps\jspTest\WEB-INF\java_sources
    • HelloWorldServlet.java 를 class 파일로 컴파일
      • sjc HelloWorldServlet.java
  • 컴파일 완료 (Tomcat 설치 폴더\webapps\jspTest\WEB-INF\classes\HelloWorldServlet.class)

  • web.xml 에 Servlet 등록 및 URL 매핑
    • Tomcat 설치 폴더\webapps\jspTest\WEB-INF\ 폴더 안에 web.xml 파일을 생성후 다음의 내용을 타이핑 한다
        <?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">
            <servlet>
                <servlet-name>helloServlet</servlet-name>
                <servlet-class>HelloWorldServlet</servlet-class>
            </servlet>
            <servlet-mapping>
                <servlet-name>helloServlet</servlet-name>
                <url-pattern>/helloServlet</url-pattern>
            </servlet-mapping>
        </web-app>
      
      • servlet-name 매핑이 되어야 하기 때문에 같아야함
      • servlet-class는 HelloWorldServlet.java의 클래스 이름
      • url-pattern는 검색될 url 이름
  • 실행 결과

Categories:

Updated:

Leave a comment