서블릿의 초기화 파라미터란 서블릿의 초기화 작업에 필요한 데이터를 의미합니다.
그리고 초기화 파라미터는 web.xml에 기재합니다.
<init-param>으로 묶고 <param-name> 파라미터 이름 </param-name> <param-value>파라미터 값 </param-value>
서블릿 클래스안에 초기화 파라미터 값을 가져오려면 getInitParameter 메소드를 이용하면 됩니다.
예제 구성은 다음과 같습니다.
InputName.html
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
이름을 입력하세요.<br>
<form action=GreetingServlet>
이름: <input type=text name=NAME>
<input type=submit value='확인'>
</form>
</body>
</html>
GreetingServlet.java
package com.exam.kch;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.GregorianCalendar;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GreetingServlet extends HttpServlet {
private PrintWriter logFile;
@Override
public void init() throws ServletException {
String filename = getInitParameter("FILE_NAME");//web.xml에 정의된 값을 가져온다.
try{
logFile = new PrintWriter(new FileWriter(filename, true));
}catch(IOException e){
throw new ServletException(e);
}
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String name = req.getParameter("NAME");
String greeting = "안녕하세요, " + name + "님.";
if(logFile != null){
GregorianCalendar now = new GregorianCalendar();
logFile.printf("%TF %TT - %s %n", now, now, name);//파일에 쓰기
}
resp.setContentType("text/html;charset=euc-kr");
PrintWriter out = resp.getWriter();
out.println("<HTML>");
out.println("<HEAD><TITLE>인사하기</TITLE></HEAD>");
out.println("<BODY>");
out.println(greeting);//안녕하세요 누구님 값 띄우기
out.println("</BODY>");
out.println("</HTML>");
}
public void destroy(){
if(logFile != null)
logFile.close();//파일을 닫습니다.
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>ch6_jsp_init</display-name>
<servlet>
<servlet-name>greeting-servlet</servlet-name>
<servlet-class>com.exam.kch.GreetingServlet</servlet-class>
<init-param>
<param-name>FILE_NAME</param-name>
<param-value>C:\\Users\\kch\\Documents\\datalog.txt</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>greeting-servlet</servlet-name>
<url-pattern>/GreetingServlet</url-pattern>
</servlet-mapping>
</web-app>
실행 화면
다음과 같이 입력하면
서블릿을 출력하게 됩니다.
파일에도 제대로 저장됨을 알 수 있습니다.(파일에 아무것도 안뜨면 반드시 서버를 리부팅 시키기바랍니다.)
'프로그래밍 > JSP Servlet' 카테고리의 다른 글
JSP/Servlet - 웹애플리케이션 초기화 파라미터 (0) | 2016.01.05 |
---|---|
JSP/Servlet - 서버 및 서블릿 환경 정보 가져오기(ServletContext) (0) | 2016.01.05 |
JSP/Servlet - jsp 페이지 초기화 파라미터 설정하기 (0) | 2016.01.04 |
JSP/Servlet - jspInit 메소드와 jspDestroy 메소드 활용 (0) | 2016.01.04 |
JSP/Servlet - init 메소드와 destroy 메소드 사용하기 (0) | 2016.01.03 |
JSP/Servlet - 익셉션(exception) 타입별로 에러페이지 등록하기 (0) | 2016.01.02 |
JSP/Servlet - 서블릿 클래스에서 에러페이지 호출하기 (0) | 2015.12.30 |
JSP/Servlet - jsp 페이지에서 에러 발생시 다른 페이지로 이동하기 (0) | 2015.12.30 |