当我使用 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 文件夹
如果我缺少什么,请告诉我
谢谢
名为
action
的 servlet 初始化失败。当服务器尝试构造和初始化它时,它抛出了异常。阅读服务器启动日志。完整的异常和堆栈跟踪都在那里。该部分应该足够不言自明,以解决问题。如果您无法破译异常/堆栈跟踪,请随时更新您的问题以包含它。
尝试以下操作..
在您的网络应用程序的classes文件夹中创建以下文件
文件名 -> commons-logging.properties 内容 -> org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
文件名 -> simplelog.properties -> 内容 -> org.apache.commons.logging.simplelog.defaultlog=debug
部署网络应用程序后,这将为您提供日志..
希望这有效!
我找到了原因,但到目前为止还没有解决方案。当您的服务器无法找到
org.apache.struts.action.ActionServlet
时,就会出现此问题。检查 struts 的 jar 是否位于部署的 lib 文件夹中。