본문 바로가기

JSP

래퍼(Wrapper) 클래스 실습



MyRequestWrapper.java


package filter;

 

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletRequestWrapper;

 

public class MyRequestWrapper extends HttpServletRequestWrapper {

 

    HttpServletRequest request;

   

    public MyRequestWrapper(HttpServletRequest request) {

         super(request);

         // TODO Auto-generated constructor stub

         this.request = request;

        

    }

 

    @Override

    public String getParameter(String name) {

         // TODO Auto-generated method stub

        

         System.out.println("getParameter호출");

         String str = request.getParameter("name");

         if(str ==null) return null;

         return str.toUpperCase();

        

    }

 

}

 

 MyFilter.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.HttpServletRequest;

 

/**

 * Servlet Filter implementation class MyFilter

 */

@WebFilter("*.jsp")

public class MyFilter implements Filter {

 

    /**

     * Default constructor.

     */

    public MyFilter() {

        // 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

        

         System.out.println("doFilter 호출");

        

         MyRequestWrapper requestWrapper = new MyRequestWrapper((HttpServletRequest)request);

 

         // pass the request along the filter chain

         chain.doFilter(requestWrapper, response);

    }

 

    /**

     * @see Filter#init(FilterConfig)

     */

    public void init(FilterConfig fConfig) throws ServletException {

         // TODO Auto-generated method stub

    }

 

}

 

 


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

 

 

<%

    String name = request.getParameter("name");

%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body>

입력된 이름 : <%=name %>

</body>

</html>