** 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
'JAVA > JSP' 카테고리의 다른 글
JSP - 사용자 정의 태그 (커스텀 태그) 정의 및 만드는 방법 (0) | 2016.07.03 |
---|---|
JSP - filter와 Listener를 결합한 실습 (0) | 2016.07.03 |
JSP - filter 정의 및 두가지 방법 (어노테이션과 web.xml 맵핑) (0) | 2016.07.03 |
JSP - 검색기능 추가 (1) | 2016.07.03 |
JSP - 템플린 페이지 설명 및 방법 (0) | 2016.07.03 |