기술지원 문의

긴급... 서블릿에서 forward 가 안됩니다... NullPointerException 500 에러가 납니다. Please Help me!
송선동 / 2004-01-22 17:41

안녕하세요. 

전 레진을 이번에 처음사용하여 프로젝트를 진행하고 있는데 현재 아래의 에러로 인해서 프로젝트를 전혀 진행하지 못하고
있습니다.
그래서 도움을 청합니다.

현재 윈도우 2000 server에서 Apache + Resin-2.1.0 버전을 사용하고 있으며 윈도우 서비스에 등록하여 사용하고 있습니다.

소스에서  forward 메소드를 사용하는부분에서 에러가 나구 있습니다.
게시판을 보니 servlet.jar 파일과 충돌때문에 그렇다구 하는거 같아서 servlet.jar 파일을 클래스패스에서도 다 지웠고, 아예 파일명을 바꿔놓기까지 해서 테스트를 해보지만 계속해서 같은 에러가 납니다.
클래스 패스를 바꾸기 위해서 서비스에 등록했던걸 remove-as 로 지우고 다시 서비스 올리고 헀는데도 역시 같은 현상입니다.

include() 메소드는 돼는데.. 왜 forward() 메소드가 안돼는지 이해가 안됩니다.
톰캣에서 돌아가는 소스인데 레진만 안돼는군요... 꼭 해결좀 해주세요.


java.lang.NullPointerException
at com.caucho.vfs.ReadStream.setEncoding(ReadStream.java:400)
at com.caucho.server.http.Request.setCharacterEncoding(Request.java:966)
at com.caucho.server.http.RequestAdapter.setCharacterEncoding(RequestAdapter.java:270)
at _common._com_0log._login_0form__jsp._jspService(_login_0form__jsp.java:25)
at com.caucho.jsp.JavaPage.service(JavaPage.java:74)
at com.caucho.jsp.Page.subservice(Page.java:485)
at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:181)
at com.caucho.server.http.Invocation.service(Invocation.java:291)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:132)
at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:212)
at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:99)
at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:76)
at com.miraenet.servlet.admin.HelloWorld.service(HelloWorld.java:20)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:95)
at com.caucho.server.http.Invocation.service(Invocation.java:291)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:132)
at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:341)
at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:271)
at com.caucho.server.TcpConnection.run(TcpConnection.java:136)
at java.lang.Thread.run(Thread.java:534)

소스내용입니다. 다른 프로그램에서 하두 같은에러가 나서 이부분을 테스트 하기 위해서 HelloWorld.java 파일을 만들어서 테스트하고 있습니다.

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {
  public void service(HttpServletRequest request,
                      HttpServletResponse response)
    throws ServletException, IOException
  {
    PrintWriter out = response.getWriter();
    ServletContext application = getServletContext();
    HttpSession session = request.getSession();

    try {
      // code goes here
        out.println(\"Hello World!!\");
      // The equivalent of jsp:include:
       request.getRequestDispatcher(\"/common/com_log/login_form.jsp\").forward(request, response); 
    } catch (ServletException e) {
      throw e;
    } catch (Exception e) {
      throw new ServletException(e);
    }
  }
}

[Re]긴급... 서블릿에서 forward 가 안됩니다... NullPointerException 500 에러가 납니다. Please Help me!
관리자 / 2004-01-26 16:56

보내주신 소스로 간단하게 include, forward 테스트를 해보았습니다.

레진 2.1.12 버전에서 이상없이 실행됩니다.. include, forward 차이점은 알고 계실거라 믿고..

테스트하신 레진버전이 매우 낮은데, 일단 업그레드 하시고 테스트 해보세요. 현재 2.1.12까지 나와 있습니다.(서비스시 라이센스 필요)