当我使用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文件夹
如果我有什么遗失,请告诉我
由于
答案 0 :(得分:1)
名称为action
的servlet无法初始化。它在服务器尝试构造和初始化时抛出异常。阅读服务器启动日志。完整的异常和堆栈跟踪就在那里。那部分应该反过来自我解释,足以解决问题。如果您无法解密异常/堆栈跟踪,请随时更新您的问题以包含它。
答案 1 :(得分:1)
尝试以下方法..
在webapp
的classes文件夹中创建以下文件文件名称 - &gt; commons-logging.properties 内容 - &gt; org.apache.commons.logging.Log = org.apache.commons.logging.impl.SimpleLog
文件名称 - &gt; simplelog.properties - &gt; 内容 - &gt; org.apache.commons.logging.simplelog.defaultlog = debug
一旦部署了webapp,这将为您提供日志..
希望这有效!!
答案 2 :(得分:0)
我找到了原因,但直到现在才解决。当您的服务器无法找到org.apache.struts.action.ActionServlet
时,会发生此问题。检查struts的jar是否放在部署的lib文件夹中。