• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
밑에 답변 감사드립니다.  (_ _)

처음 서버 실행시 가우스 Filter 는 정상적으로 작동합니다.

관리자님께서 말씀하신 gauce.jsp 파일를 다음과 같이 만든후
<%@page contentType="text/html;charset=euc-kr" %>
<%@page import="com.gauce.*, com.gauce.io.*,com.gauce.http.*" %>
<%
        HttpGauceRequest req = (HttpGauceRequest)request;
        HttpGauceResponse res = (HttpGauceResponse)response;
        
        
%>
<%
        out.println("Filter 정상작동");
%>
gauce.jsp?X-UIClient=G40
호출할 경우 정상작동합니다.(gauce.jsp 만 호출할 경우 에러)

그리고 Spring MVC로 작성한 Controller (Servlet 역할을 하죠) 도 정상적으로 작동합니다.

문제는 Controller 파일을 수정할 경우 에러가 발생합니다.

Controller 를 수정을 하면 spring 에서는 Classloading 처리를 합니다.
이때 다음과 같은 에러가 발생하고 나서 해당 Controller 는 다시 정상적으로 수행해야 되고요.

error dump org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException
java.lang.NullPointerException
        at jeus.servlet.loader.CommonClassLoader.addReference(CommonClassLoader.java:131)
        at jeus.servlet.loader.CommonClassLoader.checkClass(CommonClassLoader.java:113)
        ...
        ....
        .....

가우스 처리 아닌 일반적인 jsp 처리(Controller 수행후 jsp로 포워딩)에서는 바뀐 Controller 가 적용되서 진행됩니다.
        
그런데
GauceInputStream gis = ((HttpGauceRequest) request).getGauceInputStream();
GauceOutputStream gos = ((HttpGauceResponse) response).getGauceOutputStream();
가 들어간 부분 즉,
HttpRequest 를 HttpGauceRequest casting 하는 곳에서는
java.lang.ClassCastException 이 발생합니다.

Controller 파일 수정후에는
위에서 만든 gauce.jsp?gauce.jsp?X-UIClient=G40 에서도 마찬가지로
java.lang.ClassCastException 이 발생하고요....


가우스 3.x 때에는 이런 문제가 발생하지 않았었는데...
4.0 에서 추가된 (HttpGauceRequest) request <- 이 기능에서 문제가 발생하네요.



p.s : DataSet을 Spring Controller 가 아닌 jsp 에서 만들 경우에는 jsp 를 수정해도 바로 적용 됩니다.
Spring Controller 부분만 수정하면 필터 동작이 정상적으로 이루어 지지 않는것 같습니다.


관련된 Controller 파일과 전체 에러 파일 그리고 web.xml 파일을 첨부합니다.

board.jsp : 화면
board_dset.jsp : jsp 에서 DataSet 생성 테스트
BoardController.java : Spring Controller
error.txt : 에러 로그
 
Tag List
XE Login