일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- #.war #Export
- #JAVA #정보은닉 #접근제어자 #private
- #Git #Git Merge #깃 병합
- #JSP #Servlet #세션 #Session #제이에스피 #서블릿
- #JSP #Servlet #Ajax #에이젝스 #HTML #success #.HTML() #HTML로붙이기
- #JSP #Servlet #Exception #errorPage #web.xml #error-page #error-code #에러 #익셉션 #java
- Git #Stash #깃 #스테시 #임시저장 #소스트리 #협업툴
- #JSP #Servlet #contextroot #contentdirectory
- #JSP #Servlet #제이에스피 #서블릿 #필터 #Filter @WebFilter #어노테이션필터
- #JSP #Servlet #서블릿 #쿠키 #cookie #Cookie #쿠키클래스 #쿠키유틸클래스 #cookieClass #cookieUtilClass #Cookie #제이에스피
- JAVA #JSP #Servlet #Exception #custom #익셉션 #에러처리 #에러
- #유틸클래스 #VO
- #JSP #Servlet #@WebServlet #urlPatterns
- JSP #Servlet #Exception #errorPage #web.xml #error-page #error-code #에러 #익셉션 #java
- #JSP #Servlet #세션 #Session #제이에스피 #서블릿 #web.xml #세션알림 #알림팝업 #세션알림팝업 #session-timeout
- #Servlet #servletClass #servletURL #servlet구현 #JSP
- #게터 #세터
- #JSP #Servlet #제이에스피 #서블릿 #필터 #filter #web.xml #필터예제 #filter예제
- JSP #Servlet #Exception #error #page #errorpage #exceptionPage #Customerror #톰캣 #404 #에러페이지 #java
- #깃 #Git #Git cherry-pick #체리픽 #깃 체리픽
- Listener #jsp #servlet #ServletContextListener #리스너
- #JSP #Servlet #제이에스피 #서블릿 #세션 #session #세션로그인 #세션예제
- Today
- Total
David의 블로그
[JSP/Servlet]전처리 역할을 하는 Filter.필터 두번째 본문
필터 두번째로는 어노테이션 방식을 알아보겠다.
앞서 포스팅 한 예제는 web.xml 적용이었다. https://78alswo.tistory.com/20
바로 어노테이션 적용방법을 알아보자.
[AnnoFilter.java]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
package filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
@WebFilter(filterName = "AnnoFilter", urlPatterns = "/15FilterListener/AnnoFilter.jsp")
public class AnnoFilter implements Filter{
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
String searchField = request.getParameter("searchField");
String searchWord = request.getParameter("searchWord");
System.out.println("검색 필드 : " + searchField);
System.out.println("검색어 : " + searchWord);
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
|
cs |
14Line : 필터를 구현하기 위해 Filter인터페이스를 구현한다.
13Line : @WebFilter어노테이션을 적용한다. filterName은 필터로 적용할 클래스의 이름이다. urlPatterns은 필터로 매핑할 URL이다. 또 여러개의 urlPatterns를 적용하고 싶을 때는 배열형태{}로 {"요청명", "요청명"} 명시해주면 되겠다.
17, 36Line : 필터의 default메소드로 수정이 필요하면 오버라이딩을 해 작성해주면 되겠다. 그럴필요가 없다면 없어도 무방하다.
23Line : doFilter()로 반드시 오버라이딩을 해야하는 메소드이다.
32Line : chain.doFilter()는 브라우저에서 보낸 요청을 서버로 보내는 역할을 하거나 다음 필터로 보낼 때 필요한 메소드이다. 또 서버에서 브라우저로 응답을 보낼 때도 필요하므로 반드시 없으면 안되는 메소드이다.
26 ~ 27Line: JSP에서 <form>에 정의한 input name값을 가져온다.
[AnnoFilter.jsp]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form>
<select name="searchField">
<option value="title">제목</option>
<option value="content">내용</option>
</select>
<input type="text" name="searchWord" value="애너테이션" />
<input type="submit" value="검색하기">
</form>
</body>
</html>
|
cs |
searchWord에는 하드코딩으로 '애너테이션'값을 지정했다.
searchField로는 select값으로 title이나 content값이 전송될 것이다.
[결과]
처음 실행될 때는 값이 없으므로 null로 들어온다.
후에 검색필드랑 검색어를 다르게 선택하거나 작성해보고 전송하기를 해보면 위 이미지와 같다.
'프로그래밍 > Jsp_Servlet' 카테고리의 다른 글
[JSP/Servlet]전처리 역할을 하는 Filter.필터 첫번째 (0) | 2024.01.28 |
---|---|
[JSP/Servlet] 서블릿과 Ajax로 통신 후에 결과를 HTML로 뿌려주기. (1) | 2024.01.21 |
[JSP/Servlet]상태를 유지할 수 있는 Session, 세션(세번째) (0) | 2024.01.20 |
[JSP/Servlet]상태를 유지할 수 있는 Session, 세션(두번째) (0) | 2024.01.20 |
[JSP/Servlet]상태를 유지할 수 있는 Session, 세션(첫번째) (0) | 2024.01.20 |