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 이름
           
        
       
    
   
  - 
    
실행 결과
   

        
      
      
      
      
  
     
    
      
    
  
Leave a comment