728x90
반응형
[JSP] 9. WAR 파일 생성 및 배포
1. WAR 파일이란?
-WAR(Web Application Archive) 파일은 Java 웹 애플리케이션을 패키징하기 위한 표준 형식이고, 웹 애플리케이션을 구성하는 모든 파일들을 하나의 압축 파일로 묶어 포장한 것이다.
-추가적인 메타 정보와 함께 .jar 파일과 비슷하게 META-INF, WEB-INF 디렉토리를 포함해 패키징한다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://jakarta.ee/xml/ns/jakartaee"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
version="6.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>
<servlet>
<description></description>
<display-name>HelloServlet</display-name>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.tenco.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello-servlet</url-pattern>
</servlet-mapping>
<display-name>hello_servlet</display-name>
<servlet>
<description></description>
<display-name>MyServlet</display-name>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.tenco.MyServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/my-servlet</url-pattern>
</servlet-mapping>
</web-app>
package com.tenco;
import jakarta.servlet.ServletConfig;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* HttpServlet 클래스를 상속받아서 내가 정의한 클래스가 선언이 된다.
* why? HTTP 프로토콜을 통한 request, response 처리를 할 수 있기 때문
*
* URL 맵핑에 대한 개념을 알자.
* 클라이언트가 특정 URL을 요청했을 때 해당 URL에 대응하는 서블릿을
* 실행하도록 설정하는 것을 의미 합니다.
* URL 맵핑 - 2가지 방법 알아 보자.
*/
@WebServlet(urlPatterns = "/example", loadOnStartup = 1)
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
// 생성자
public HelloServlet() {
super();
System.out.println("생성자가 호출 됨");
}
// 해당 서블릿 클래스가 인스턴스화 될 때 단 한번 실행 하는 메서드이다.
public void init(ServletConfig config) throws ServletException {
System.out.println("init() 메서드가 호출 됨");
}
// 메모리에서 내려가기 직전에 호출 되는 메서드이다.
public void destroy() {
System.out.println("destroy 호출");
}
// GET 요청으로 들어 올 때 동작 됨
// 주소 설계 - http://localhost:8080/hello/hello-servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// MIME TYPE - 인터넷 세상에서 데이터의 유형을 나타내는 표준 방식
response.setContentType("application/pdf");
response.setCharacterEncoding("UTF-8");
// 스트림을 어디에서 뽑아야 될까?
response.getWriter().write("<html><body><h1>HELLO</h1><body></html>");
}
// POST 요청으로 들어 올 때 동작 됨
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 문제 -> post 요청이 들어오는 것을 확인 하고
// 응용해서 데이터 또는 html 형식으로 응답처리 하시오!
}
}
728x90
반응형
'JSP' 카테고리의 다른 글
[JSP] 12. URI와 URL (0) | 2024.07.03 |
---|---|
[JSP] 11. Servlet을 사용하여 JSON 파싱하기 (0) | 2024.07.03 |
[JSP] 9. 서블릿 작성, 배포, web.xml에 대한 이해 (1) | 2024.07.03 |
[JSP] 8. 서블릿 생애 주기 (0) | 2024.07.02 |
[JSP] 7. 서블릿을 사용하여 GET/POST 방식으로 데이터 주고 받기 (0) | 2024.07.02 |