【问题标题】:File Not Found in WebSphere 5.1在 WebSphere 5.1 中找不到文件
【发布时间】:2013-12-10 15:55:25
【问题描述】:

我的 Web.xml ...

<servlet>
    <servlet-name>MaintenanceModeServlet</servlet-name>
    <servlet-class>com.jc.servlet.MaintenanceModeServlet</servlet-class>

</servlet>

<servlet-mapping>
    <servlet-name>MaintenanceModeServlet</servlet-name>
    <url-pattern>/MaintenanceModeServlet</url-pattern>
</servlet-mapping>

...

这是调用我的 MaintenanceModeServlet 的 Servlet 片段...。

public void doPost(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {

        MaintenanceMode m = new MaintenanceMode();
        if (m.isDowntimeFlag()) {
            System.out.println("Calling MaintenanceModeServlet....");
            MVCUtility.forwardRequest("/MaintenanceModeServlet", req, resp);
            return;     
        }

…..

堆栈跟踪… PrintStackTrace:com.ibm.ws.webcontainer.webapp.WebAppErrorReport:找不到文件:com.ibm.ws.webcontainer.srt.SRTServletResponseContext.sendError(SRTServletResponseContext.java:174) 上 com.ibm.ws.webcontainer 上的 /MaintenanceModeServlet。 srt.SRTServletResponse.sendError(SRTServletResponse.java:686) 在 com.ibm.ws.webcontainer.servlet.SimpleFileServlet.doGet(SimpleFileServlet.java:409) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:740)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 在 com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110) 在 com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet ._service(StrictLifecycleServlet.java:174) 在 com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313) 在 com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116 ) 在 com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283) 在 com.ibm .ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42) 在 com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40) 在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher .handleWebAppDispatch(WebAppRequestDispatcher.java:1018) 在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:529) 在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:208) ) 在 com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:321) 在 com.ibm.ws 的 com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:134)。 webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71) 在 com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:246) 在 com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher。 com.ibm.ws.webc 上的服务(OSEListener.java:334) ontainer.http.HttpConnection.handleRequest(HttpConnection.java:56) 在 com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:652) 在 com.ibm.ws.http.HttpConnection.run(HttpConnection.java:第448章)在com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:937)

该错误仅在从 WebSphere App Server 运行时发生,在本地主机上没有问题。知道为什么它实际上存在时找不到 MaintenanceModeServlet 吗? 谢谢,

【问题讨论】:

    标签: websphere


    【解决方案1】:

    您还必须考虑应用程序上下文路径。如果您不想依赖于上下文路径,您可以更改代码以在转发中包含上下文路径:

    MVCUtility.forwardRequest(req.getContextPath() + "/MaintenanceModeServlet", req, resp);
    

    【讨论】:

      猜你喜欢
      • 2012-05-30
      • 1970-01-01
      • 2018-05-03
      • 2012-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-10
      • 2014-05-21
      相关资源
      最近更新 更多