본문 바로가기

기존카테고리/JSP

context path, web.xml을 이용한 서블릿 초기화


// 컨텍스트 패스(Context Path)


// WAS(Web Application Server)에서 웹어플리케이션을 구분하기 위한 path를 말한다.

// 이클립스에서 프로젝트를 생성할때마다 자동으로 server.xml에 입력을 한다.



// 서블릿 초기화 : ServletConfig 클래스


// 특정 Servlet이 생성될때 초기에 필요한 데이터(아이디 정보, 특정경로)들을 초기화 하는 것을 서블릿 초기화라고 한다.

// 1. 초기화 파라미터(서블릿이 생성될때 필요한 데이터)는 web.xml에 기술한다.

// ServletConfig클래스를 이용해서 초기화 파라미터 사용이 가능하다.

// 2. 초기화 파라미터를 web.xml대신 Servlet 파일에 직접 기술하는 방법도 있다.



// web.xml에 초기화 파라미터 기술하기


// Servlet 클래스 작성

//      |

// web.xml에 초기화 파라미터를 입력

//      |

// ServletConfig의 메소드를 이용해서 데이터를 사용(접근)한다.

// ServletConfig의 getInitParameter()메소드를 이용해서 접근할 수 있다.



// Servlet 파일에 초기화 파라미터를 직접 기술하는 방법

// Servlet 클래스 작성

// |

// @WebInitParam 에 초기화 파라미터를 작성

//    |

// ServletConfig 메소드를 이용한다.








InitServlet.java

---------------------------------------------------------------


package com.test.ex;


import java.io.IOException;

import java.io.PrintWriter;

import java.util.Arrays;


import javax.servlet.ServletException;

import javax.servlet.*;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


/**

 * Servlet implementation class InitServlet

 */

//@WebServlet("/InitS")

public class InitServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

       

    /**

     * @see HttpServlet#HttpServlet()

     */

    public InitServlet() {

        super();

        // TODO Auto-generated constructor stub

    }


/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String id=getInitParameter("id");

String pw=getInitParameter("pw");

String local=getInitParameter("local");

response.setContentType("text/html;charset=UTF-8");

PrintWriter out=response.getWriter();

out.println("<html>");

out.println("<html>");

out.println("<head>");

out.println("</head>");

out.println("<body>");

out.println("id :"+id+"<br/>");

out.println("pw :"+pw+"<br/>");

out.println("local :"+local+"<br/>");

out.println("</body>");

out.println("</html>");

out.close();

}


/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}


}



-----------------------------------------------------------------------------------------------------



web.xml


<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">

  <display-name>servlet01</display-name>

  <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>

  <servlet-name>ServletInit</servlet-name>

  <servlet-class>com.test.ex.InitServlet</servlet-class> //클래스 경로 정확히 확인, 아니면 에러남, 경로 못 찾음.

  <init-param>

  <param-name>id</param-name>

  <param-value>test</param-value>

  </init-param>

  <init-param>

  <param-name>pw</param-name>

  <param-value>1234</param-value>

  </init-param>

  <init-param>

  <param-name>local</param-name>

  <param-value>seoul</param-value>

  </init-param>  

  </servlet>

  

  <servlet-mapping>

  <servlet-name>ServletInit</servlet-name>

  <url-pattern>/SI</url-pattern>

  </servlet-mapping>

  

  

</web-app>