CookieLowerCaseResponseWrapper.java
(쿠키 데이터에 포함된 모든 대문자를 소문자로 바꾸는 응답래퍼 클래스)
package filter;
import javax.servlet.ServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
public class CookieLowerCaseResponseWrapper extends HttpServletResponseWrapper {
private HttpServletResponse response;
public CookieLowerCaseResponseWrapper(HttpServletResponse response) {
super (response);
// TODO Auto-generated constructor stub
this .response = response;
}
public void addCookie(Cookie cookie){
String value = cookie.getValue();
String newValue = value.toLowerCase();
cookie.setValue(newValue);
response.addCookie(cookie);
}
}
CookieLowerCaseFilter.java
(응답 래퍼 클래스를 사용하는 필터 클래스)
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;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet Filter implementation class CookieLowerCaseFilter
*/
@WebFilter ("*.jsp" )
public class CookieLowerCaseFilter implements Filter {
public void init(FilterConfig config) throws ServletException{
}
/**
* Default constructor.
*/
public CookieLowerCaseFilter() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
// place your code here
CookieLowerCaseResponseWrapper responseWrapper =
new CookieLowerCaseResponseWrapper((HttpServletResponse) response);
// pass the request along the filter chain
chain.doFilter(request, responseWrapper);
}
}
CookieSaver.jsp
<%@ page language= "java" contentType ="text/html; charset=UTF-8"
pageEncoding= "UTF-8" %>
<%
Cookie cookie = new Cookie("CART" , "Lemon, Apple, Chocolate");
response.addCookie(cookie);
%>
<! DOCTYPE html>
< html>
< head>
< meta charset= "UTF-8" >
< title> Insert title here </title >
</ head>
< body>
쿠키가 저장되었습니다.
</ body>
</ html>
CookieRetriever.jsp
<%@ 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>
CART = ${cookie.CART.value}
</ body>
</ html>
'JSP' 카테고리의 다른 글
래퍼(Wrapper) 클래스 실습 (0) | 2013.03.22 |
---|---|
필터 클래스의 init메서드와 destroy메서드 (0) | 2013.03.22 |
필터(filter) 클래스 (0) | 2013.03.22 |
부모 자식 관계를 갖는 커스텀 액션 (0) | 2013.03.22 |
변수를 지원하는 커스텀 액션을 만드는 태그 클래스 (0) | 2013.03.22 |