이어서 설명드리겠습니다.
JSP에서도 init-parm 태그를 web.xml에 등록하여 사용 할 수 있습니다.
서블릿의 등록과 마찬가지로
<web-app>
<servlet>
<servlet-name>winners-jsp</servlet-name>
<jsp-file>/Winners.jsp</jsp-file>
<init-param>
<param-name>FILE_NAME</param-name>
<param-value>winner-list.txt</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>winners-jsp</servlet-name>
<url-pattern>/winners</url-pattern>
</servlet-mapping>
</web-app>
의 형태로 사용 할 수 있습니다. jsp-file태그는 무조건 경로명이므로 /로 시작하여야 합니다.
jsp파일에서 이 값을 가져오기 위해서는 getInitParameter("param-name에 지정해준 이름"); 메소드를 통해 가져올 수 있습니다.
서블릿의 환경 정보를 가져오는 방법에 대해 아시나요??
간단한 인터페이스의 객체를 통해서 쉽게 가져올 수 있습니다.
ServletContext 인터페이스 타입 객체를 이용하면 됩니다.
getServletContext 메서드를 호출하면 객체를 얻을 수 있습니다.
즉
ServletContext context=getServletContext();
context.getServletInfo();를 호출 하면 정보가 리턴 됩니다.
또한 getMajorVersion 과 getMinorVersion메소드를 호출 하면 웹 컨테이너가 지원하는 서블릿 규격서 버전이 리턴 됩니다.
마찬가지로 JSP페이지에서도 가능한데요.
간단하게 application 애트리뷰트를 이용하시면 됩니다.
예를들어서
application.getServerInfo()를 호출하거나 application.getMajorVersion()을 호출 하시면 쉽게 얻을 수 있습니다.
직접 해보시기 바랍니다.
위에서 <init-param>태그를 이용해서 getInitParameter를 통해 초기화값을 얻어오는 형태를 봤습니다.
이와 달리 <context-param>태그를 이용하면 웹 애플리케이션 전체에 해당하는 초기화 파라미터를 기재 할 수 있습니다.
단 이때는 가져올 때 application.getInitParameter()를 이용해야합니다.
또한 로그메시지를 기록할 수 도 있습니다.
application.log("xxxxx"); 를 호출하면 localhost.yyyy-dd.log이름의 파일에 기록합니다.
또한 같은 웹 에플리케이션 내 데이터를 공유하고 싶다면 ???
바로 application.setAttribute 와 application.getAttribute 또한 제거 하고 싶다면 application.removeAttribute를 사용 하시면 됩니다.
application.setAttribute("ID","abc1234");로 키와 값 형태로 작성하고 다른 웹 컴포넌트에서는 application.getAttribute("ID");로 키를 통해 값을 가져올 수 가 있습니다.
또한 파일 경로명을 가져오고 싶다면 application.getContextPath()로 웹 에플리케이션의 URL을 받을 수 있고
application.getRealPath("/sub/intro.html")는 절대 경로명을 받을 수 있습니다.
'웹 > JSP' 카테고리의 다른 글
익스프레션 언어(2) (0) | 2018.10.31 |
---|---|
익스프레션 언어 (0) | 2018.10.29 |
서블릿의 라이프 사이클 (0) | 2018.10.24 |
JSP의 기초(2) (0) | 2018.10.03 |
JSP의 기초 (0) | 2018.09.19 |