java - 如何解决 Catalina 上的 StandardWrapperValve 错误?

标签 java tomcat servlets web-deployment simplecaptcha

我正在创建一个带有验证和验证码的注册应用程序(使用 SimpleCaptcha)。我能够在本地主机上部署我的应用程序,并且一切正常,包括验证码。

但是当将 war 文件部署到测试服务器时,我的验证码不工作,这是日志文件的输出:

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:111) 
Servlet SimpleCaptchaServlet is currently unavailable

我确实在web.xml上注册了我的SimpleCaptchaServlet,我可以找到那个Servlet的class文件,但是还是找不到问题所在。我可以知道如何解决这个问题吗?

这是 web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
    <servlet-name>SignupProcessServlet</servlet-name>
    <servlet-class>com.example.controller.SignupProcessServlet</servlet-class>
</servlet>
<servlet>
    <servlet-name>SignupSuccessServlet</servlet-name>
    <servlet-class>com.example.view.SignupSuccessServlet</servlet-class>
</servlet>
<servlet>
    <servlet-name>SignupServlet</servlet-name>
    <servlet-class>com.example.view.SignupServlet</servlet-class>
</servlet>
<servlet>
    <servlet-name>SimpleCaptchaServlet</servlet-name>
    <servlet-class>com.example.controller.SimpleCaptchaServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>SignupProcessServlet</servlet-name>
    <url-pattern>/signup_process.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>SignupSuccessServlet</servlet-name>
    <url-pattern>/signup_success.view</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>SignupServlet</servlet-name>
    <url-pattern>/signup.view</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>SimpleCaptchaServlet</servlet-name>
    <url-pattern>/captchaImg</url-pattern>
</servlet-mapping>
<session-config>
    <session-timeout>
        30
    </session-timeout>
</session-config>
<welcome-file-list>
    <welcome-file>signup.html</welcome-file>
</welcome-file-list>

非常感谢。

最佳答案

您的 servlet 没有正确部署,您应该在部署期间在 tomcat 控制台上看到堆栈跟踪或消息。如果您发布了您的 web.xml 内容,这可能会给我们提供线索。

关于java - 如何解决 Catalina 上的 StandardWrapperValve 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2085114/

相关文章:

java - 如何从 HttpServlet 的 doPost() 方法返回一些数据?

java - 用于浏览器缓存的 Servlet 过滤器?

java - Jython 将 java File 对象数组从 python 发送到 java 类

java使用hibernate SQLQuery获取多个列

java - 无法在我的 Springboot 应用程序中检索模板

java - 无法加载 [akka.event.Logging$Error$]

java - 我应该在 spring 中为我的项目使用注释吗?

java - 在 Java 中获取 "unixtime"

java - 如何禁用碎片 : Tomcat8 SSL return 2 reassembled SSL segments

java - 无法在 jQuery 中使用 $post 将数据发送到 servlet