본문 바로가기
Back-End/java

HttpServletResponse.getHeader 메소드 없다면 서블릿 버전 확인

by 인기쟁이 돌고래 2021. 2. 12.

servlet version 3 이상부터만 getHeader 메소드가 사용 가능하다.

 

따라서 3버전 이하에서는 쿠키를 굽고 (response.setHeader("Set-Cookie", cookieString.toString());)

바로 response에서 빼올 수 (Collection<String> cookies = response.getHeader("Set-Cookie");) 없다. 

 

 

oracle docs

 

docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html#getHeader(java.lang.String)

 

 

 서버 버전별 서블릿 버전 확인하기 

서블릿 버전은 서버 버전에 따라 다르다. 서버 버전 확인 후 해당 버전에서 어떤 서블릿 버전을 사용하는지 확인한다.

 

Tomcat :  tomcat.apache.org/whichversion.html

Jboss    :  access.redhat.com/ko/articles/299283

 

 

Java Servlet version history

ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%EC%84%9C%EB%B8%94%EB%A6%BF

 

 

 

 

 

 Java내에서 서블릿 버전을 확인하려 했지만 실패함 

Servlet 객체에서 servletInfo가져 오는게 있길래  getServletInfo (docs.oracle.com/javaee/7/api/toc.htm) 를 사용해보려했음.

 

ServletContext까진 뽑아냈는데 Servlet을 Return하는 애들이 죄다 Deprecated

tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/ServletContext.html

 

Servlet정보는 실패하고 괜한 Server Info 확인하는 방법만 알아냄;;;

//HttpServletRequest 에서 ServletContext 추출
ServletContext context = request.getSession().getServletContext();
context.getServerInfo();
// WildFly Full xx.x.x.Final (WildFly Core x.x.x.Final) - x.x.x.Final 
// 이런식으로 서버정보 확인가능

 

 

댓글