본문 바로가기

지식

is exceeding the 65535 bytes limit

jsp를 tomcat으로 돌리는데 이러한 오류가 나왔다

... is exceeding the 65535 bytes limit

웹에서는

500이면서 같은 문구가 나온다

 

이유는

JSP를  java 코드로 변환하는 JSP 컴파일러에 있다! 

나는 tomcat을 사용하고 있고

tomcat jsp(jasper) 컴파일러는 최대 65535바이트까지 제한을 두었다고 한다

이 값을 넘어버리니 생기는 오류

(그래서 다른 컴파일러를 사용하게 되면 돌아가는걸 확인할수있다)

 

 

 

 

그렇다면 해결책은 tomcat의 설정을 변경하는 것이다!

방법1

tomcat의 설정파일인 

web.xml파일에 다음 코드를 추가해준다

<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>

이 코드는 false로 설정하여 용량 제한을 없애는 것이다.

그러면 이상없이 잘나오는 것을 확인할 수 있다.

 

만약 스프링 부트라면  application.propertes 에 다음 코드를 추가한다

server.servlet.jsp.init-parameters.mappedfile=false

 

 

방법 2

include를 이용한다

웹을 하는경우에는 header 파일과 footer 파일을 별도로만들어 include를 사용한다

<%@ include file ="/Inc/Header.jsp" %>

<%@ include file="파일 위치"%>

그렇게 해서 바이트 제한 이하로 갔다면 정상실행가능

 

 

실상 방법1보다는 방법 2를 권장

 

https://stackoverflow.com/questions/5484253/jspservice-is-exceeding-the-65535-bytes-limit