[서블릿/JSP] web.xml에서 org.apache.jasper.servlet.JspServlet의 mappedfile 설정
Servlet&Jsp 2018. 7. 27. 23:17org.apache.jasper.servlet.JspServlet
JspServlet은 톰캣의 서블릿으로 JSP를 컴파일하는 역할을 담당합니다. web.xml을 통해 JSP JspServlet의 초기화 옵션을 주어 컴파일 에 관련된 설정을 할 수 있습니다.
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>mappedfile</param-name>
<param-value>false</param-value>
</init-param>
</servlet> |
cs |
mappedfile 옵션
그 중 mappedfile 옵션이 있습니다. 클라이언트로부터 요청된 JSP페이지를 서블릿으로 변환하는 과정에서 JSP 페이지에 작성된 HTML 요소들은 out.write('<html>') 과 같은 형태의 출력문으로 변환됩니다. 이 때 mappedfile 값을 true로 주게 되면 JSP가 서블릿으로 변환되었을 때 HTML 출력문이 작성된 JSP 페이지와 같이 줄넘김 단위로 작성되어 디버깅시 유용할 수 있습니다. false인 경우에는 출력문들을 하나의 문자열로 바꾼 뒤 한꺼번에 출력하는 방식으로 변환됩니다. 톰캣7을 기준으로 mappedfile 기본값은 true입니다.
JSP 페이지
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
</body>
</html> |
cs |
옵션 true 일 때 서블릿으로 변환된 JSP 페이지의 내용
out.write("\r\n");
out.write("<html>\r\n");
out.write("<head>\r\n");
out.write("<title>Insert title here</title>\r\n");
out.write("</head>\r\n");
out.write("<body>\r\n");
out.write("\r\n");
out.write("</body>\r\n");
out.write("</html>");
|
cs |
옵션 false 일 때 서블릿으로 변환된 JSP 페이지의 내용
out.write("\r\n<html>\r\n<head>\r\n<title>Insert title here</title>\r\n</head>\r\n<body>\r\n\r\n</body>\r\n</html>"); |
cs |
개인적인 생각으로는 true인 경우에는 JSP페이지 디버깅시 어떤식으로 결과 출력이 이루어지는지 파악하기 쉬운 이점이 있는게 아닌가 싶고, false인 경우에는 성능상 이점이 더 있지 않을까 생각합니다. 물론 출력 스트임에 관한 성능은 버퍼를 통하겠지만 출력 내용이 많은 JSP 페이지의 경우 여러개의 문자열을 여러번의 출력문을 통해 write() 하는 것 보다 한번에 처리함으로써의 약간의 성능 향상이 있지 않을까 예상합니다.(개인적인 추측으로 옵션에 대해 더욱 깊은 이해가 있으신 분은 댓글 남겨주시면 감사하겠습니다)
참고글
'Servlet&Jsp' 카테고리의 다른 글
[서블릿/JSP] Internet Explorer에서 jsp 500 에러 출력시 "웹 사이트에서 페이지를 표시할 수 없습니다" 표시되는 문제 (0) | 2018.07.30 |
---|---|
[서블릿/JSP] JSP 예외 처리하기. isErrorPage 및 errorPage 옵션. (0) | 2018.07.29 |
[서블릿/JSP] JSP 기본 객체 getAttributeNames() 사용하기 (0) | 2018.07.27 |
[서블릿/JSP] JSP 기본 객체별 생명 주기(scope) (1) | 2018.07.26 |
[서블릿/JSP] JSP 기본객체 종류 (0) | 2018.07.07 |