servlet 操作不可用

问题描述 投票:0回答:3

当我使用 struts 调用 servlet 时,发生了一件奇怪的事情,如果我从本地主机调用它,它会被调用,但是当我将它部署到我的 Web 服务器上时,它会抛出一个错误,提示“servlet 操作不可用

这是我的 web.xml

   <servlet>
            <servlet-name>action</servlet-name>
            <display-name>socialauthdemo</display-name>
            <description>Application for socialauth demo</description>
            <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
            <init-param>
                    <param-name>config</param-name>
                    <param-value>/WEB-INF/struts-config.xml</param-value>
            </init-param>
            <init-param>
                    <param-name>debug</param-name>
                    <param-value>2</param-value>
            </init-param>
            <init-param>
                    <param-name>detail</param-name>
                    <param-value>2</param-value>
            </init-param>
            <load-on-startup>2</load-on-startup>
    </servlet>

    <servlet-mapping>
            <servlet-name>action</servlet-name>
            <url-pattern>*.do</url-pattern>
    </servlet-mapping>

我的struts-config.xml如下-

<action-mappings>

            <action path="/socialAuth" type="com.auth.actions.SocialAuthenticationAction" name="authForm" scope="session">
                    <forward name="failure" path="/jsp/error.jsp" />
            </action>

            <action path="/socialAuthSuccessAction" type="com.auth.actions.SocialAuthSuccessAction" name="authForm" scope="session">
                    <forward name="success" path="/jsp/authSuccess.jsp" />
                    <forward name="failure" path="/jsp/error.jsp" />
            </action>

    </action-mappings>

我已将 strus.jar 文件添加到 y web-inf/lib 文件夹

如果我缺少什么,请告诉我

谢谢

servlets http-status-code-404 struts-1
3个回答
1
投票

名为

action
的 servlet 初始化失败。当服务器尝试构造和初始化它时,它抛出了异常。阅读服务器启动日志。完整的异常和堆栈跟踪都在那里。该部分应该足够不言自明,以解决问题。如果您无法破译异常/堆栈跟踪,请随时更新您的问题以包含它。


1
投票

尝试以下操作..

在您的网络应用程序的classes文件夹中创建以下文件

文件名 -> commons-logging.properties 内容 -> org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog

文件名 -> simplelog.properties -> 内容 -> org.apache.commons.logging.simplelog.defaultlog=debug

部署网络应用程序后,这将为您提供日志..

希望这有效!


0
投票

我找到了原因,但到目前为止还没有解决方案。当您的服务器无法找到

org.apache.struts.action.ActionServlet
时,就会出现此问题。检查 struts 的 jar 是否位于部署的 lib 文件夹中。

© www.soinside.com 2019 - 2024. All rights reserved.