본문 바로가기

JAVA/JSP

JSP - Listener 정의 및 만들기

반응형

** Listener

 : 웹 어플리케이션에서 이벤트 처리를 위하여 사용한다.


<이벤트의 종류 6가지>

1) 서버가 가동되고 종료될때

2) application에 값을 설정할때


3) session이 생성되고 소멸될때

4) session에 값을 설정할때


5) request가 생성되고 소멸될때

6) request에 값을 설정할때


** Listener 실습

 : 전체 어플리케이션 어디서라도 사용할 수 있도록 객체를 생성하여 설정하는 Listener를 만들어보자.


** 어플리케이션에 필요한 parameter 전달하기(web.xml 에서 전달함)==> 무조건 문자열!!!

1) 전체어플리케이션에 필요한 값 전달하기

2) 특정 서블릿에 필요한 값 전달하기


1) 만드는방법


1. 경로 : WebContent - WEB-INF - web.xml

<context-param>

<param-name>version</param-name>

<param-value>1.0</param-value>

</context-param>


2. Listener 에서

public void contextInitialized(ServletContextEvent arg0) {

String version = arg0.getServletContext().getInitParameter("version");

System.out.println("버전 : " + version);

}


3-1. jsp 파일로 서버 올려보기

콘솔에서 확인해보기


3-2. servelt 에서 확인해보기 Hello.java

servlet 만들고

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

// TODO Auto-generated method stub

PrintWriter out = response.getWriter();

out.println("Hello");

String version = request.getServletContext().getInitParameter("version");

out.print("version : " + version);

}


3-3. servlet 하나더 만들기 List.java

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

// TODO Auto-generated method stub

PrintWriter out = response.getWriter();

out.println("list");

String version = request.getServletContext().getInitParameter("version");

out.print("version : "+version);

}


4. jsp 파일에서 서블릿 링크걸기

<a href="Hello">hello</a><br>

<a href="List">list</a><br>


5. 실행해보기

결과값

Hello version : 1.0

list version : 1.0



2) 만들어보기

1. servlet 어노테이션 주석 막고 mapping 으로 해보기


2. web.xml 에서 

<servlet>

<servlet-name>list</servlet-name>

<servlet-class>com.hanb.servlet.List</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>list</servlet-name>

<url-pattern>/List</url-pattern>

</servlet-mapping>  


<servlet>

<servlet-name>hello</servlet-name>

<servlet-class>com.hanb.servlet.Hello</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>hello</servlet-name>

<url-pattern>/Hello</url-pattern>

</servlet-mapping>  


3. jsp로 서버 켜서 확인해보기 - 아까와 동일한지


4. web-xml 에 추가하기 (init-param)

<servlet>

<servlet-name>list</servlet-name>

<servlet-class>com.hanb.servlet.List</servlet-class>

<init-param>

<param-name>user</param-name>

<param-value>scott</param-value>

</init-param>

<init-param>

<param-name>pwd</param-name>

<param-value>tiger</param-value>

</init-param>

</servlet>


5. List 서블릿에서 추가하기

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

// TODO Auto-generated method stub

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("list");

String version = request.getServletContext().getInitParameter("version");

out.print("version : "+version+"<br>");


String user = getInitParameter("user");

String pwd = getInitParameter("pwd");

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

out.println("pwd: " + pwd);

}


6. Hello 서블릿에도 추가하기

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

// TODO Auto-generated method stub

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("hello");

String version = request.getServletContext().getInitParameter("version");

out.print("version : "+version+"<br>");


String user = getInitParameter("user");

String pwd = getInitParameter("pwd");

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

out.println("pwd: " + pwd);

}


7. 실행해보기 둘이 비교(현재 list만 줌)

Hello 결과값

hello version : 1.0

user: null

pwd: null

List 결과값

list version : 1.0

user: scott

pwd: tiger 

반응형