상세 컨텐츠

본문 제목

JAVA 자바 HttpServlet Request Param 확인

programing/JAVA&JSP&SERVLET&SPRING

by ZelKun 2021. 1. 20. 20:29

본문

반응형

jsp/servlet  하다보면 parameter 확인해야 하는일이 종종 생기는데요

 

request.getParameter("name")  으로 확인하는 방법이 있지만

넘기는 데이터 이름을 일일히 적는게 만만치 않습니다

그리고 데이터를 못받아오는 경우도 생기는데

예로 form.submit  했는데 정작 input 태그가 form 밖에 있거나..

 

이럴때 사용하기 좋은게 request.getParameterNames() 입니다

다만 String으로 주질 않아서 바로 사용할  없다는게 단점..

 

java.util.Enumeration<String> paramNames = request.getParameterNames();
/* 데이터 검증 */
while(paramNames.hasMoreElements()){
        String paramName = (String) paramNames.nextElement();
        String[] paramValues = (String[]) request.getParameterValues(paramName);
        
        System.out.print("\n\t" + paramName + " : ");
        for(int i=0; i<paramValues.length; i++) {
                if(i>0){
                        System.out.print(", ");
                }
                System.out.print(paramValues[i]);
        }
}
System.out.println();

Enumeration 으로 반환해주는데 이걸 while 순회하면서 key값을 읽어서

request.getParamterValues("Key")  출력해주면 됩니다

request.getParameter("key") 안쓰고 Values 쓰는이유는

 

배열로 넘어오는 값은 request.getParameter에서 확인하면 

첫번째 값만 출력했던것 같네요 아니면 Class  출력해주던가..

 

나중에 ajax object(json)  보내면 포함이 안되서 확인 안되는 이슈가 생기긴 하지만…

일단 목표인 paramter 출력은 여기서 마무으리

 

간혹 한글이 깨진다면 인코딩을 추가 해주면 되긴하는데

이미 프로젝트에

request.setCharacterEncoding("UTF-8");

response.setCharacterEncoding("UTF-8");

인코딩 세팅을 해놨을 테니 .. 소스에는 반영하질 않았습니다

* 보내는쪽 인코딩이랑 받는쪽인코딩이 맞아야 정상

 

필터에다 붙여서 parameter 확인하면

매우매우매우 편해집니다

 

사용자 필터는 다음에..

 

관련글

[programing/JAVA&JSP&SERVLET&SPRING] - JAVA 자바 Map, HashMap, EgovMap 값 확인하기

[programing/JAVA&JSP&SERVLET&SPRING] - JAVA 자바 List, ArrayList, array 리스트, 배열 값 확인하기

반응형

관련글 더보기

댓글 영역