2020.12.04 고급자바 수업 filter. getParameter (" ")

 필터 filter 자바


 package kr.or.ddit.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;


public class CustomEncodingFilter implements Filter {

    //인코딩 정보가 저장될 변수 선언 

    private String encoding; 

    

    public void init(FilterConfig fConfig) throws ServletException{

      //초기화 파라미터에 등록된 인코딩 방식을 읽어오기


    if(fConfig.getInitParameter("encoding" ) == null ) {

        encoding = "utf-8";

    }else {

        encoding = fConfig.getInitParameter("encoding"); 

    }


}


public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

//request(요청) 인코딩 설정하기

request.setCharacterEncoding(encoding);

chain.doFilter(request, response);

//response(응답) 인코딩 설정하기 

//인코딩 방식이 영향을 주지 않는다. 

//response.setCharacterEncoding(encoding);

}

}

]

    public void destroy() {

}


----------------------------------------------------------------------------------------------------

package kr.or.ddit.filter;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@WebServlet("/filterEncodingTestServlet.do")
public class FilterEncodingServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
       
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String name = request.getParameter("userName"); 
System.out.println("name ==> " + name);
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter(); 
out.println("<html><head><meta charset='utf-8'></head>");
out.println("<body>");
out.println("<h1>당신이 입력한 이름은 " + name + "</h1>");
out.println("</body>");
out.println("</html>");

}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

}





-----------------------------------------------------------------------------------------------------

html 문서 


 <%@ 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 action="<%=request.getContextPath()%>/filterEncodingTestServlet.do">

이름 : <input type="text" name="userName"><br>

<input type="submit" value="전송">


</form>



</body>

</html>


댓글