반응형

톰캣만 가지고 진행하도록 하겠습니다.

 

📝톰캣으로 페이지 띄우기

 

톰캣 경로 : C:\tomcat9

경로 : C:\tomcat9\conf\server.xml

 

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="it" docBase="C:\tomcat9\webapps\ITWeb" privileged="true"/>
....

 

 

페이지에 띄울 텍스트파일 경로 : C:\tomcat9\webapps\ITWeb\nana.txt

nana.txt 내용 : 안녕하세요

페이지 호출 URL : http://localhost:8080/it/nana.txt

 

📝클래스파일 만들기

 

test.java 내용 :

 

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;


public class test extends HttpServlet {
	public void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
		System.out.println("hello Servlet");
    }
}

 

cmd 후 test.java 있는 경로로 이동 (c드라이브에서는 안 되고 c드라이브 하위디렉토리가 있어야함)

javac -cp C:\tomcat9\lib\servlet-api.jar test.java

 

WEB-INF안에 있는 파일은 직접 요청이 불가능하다.

 

 

📝web.xml로 URL 호출 매핑 만들기

 

 

WEB-INF 호출하기 위한 설정 파일 경로 : C:\tomcat9\webapps\ROOT\WEB-INF\web.xml

실행시킬 class파일 : C:\tomcat9\webapps\ROOT\WEB-INF\classes\test.class

 

 

<servlet>
	<servlet-name>testing</servlet-name>
	<servlet-class>test</servlet-class>
</servlet>

<servlet-mapping>
	<servlet-name>testing</servlet-name>
	<url-pattern>/hello</url-pattern>
</servlet-mapping>

 

 

hello라는 url 요청이 오면 testing이라는 서블릿의 이름을 가진 애를 실행시켜라

testing이라는 이름을 가지는 서블릿의 클래스파일은 test이다

 

 

이렇게 매핑정보를 xml으로 할수도 있지만(2.x) annotation(3.x)으로도 사용 가능하다.

 

annotation 방식을 이용하고 싶을 경우 metadata-complete를 false로 바꿔줘야 web.xml 뿐만 아니라 annotation도 인식한다. (@WebServlet)

경로 : C:\tomcat9\webapps\ROOT\WEB-INF\web.xml

 

<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"
metadata-complete="false">

 

 

반응형