我正在使用验证和Captcha(使用SimpleCaptcha)创建一个注册应用程序。我可以在localhost上部署我的应用程序,一切都完全包含验证码。
但是当将war文件部署到测试服务器时,我的验证码不起作用,这是日志文件的输出:
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:111)
Servlet SimpleCaptchaServlet is currently unavailable
我确实在web.xml上注册了我的SimpleCaptchaServlet,我可以找到该Servlet的类文件,但仍无法找到问题。我可以知道如何解决这个问题吗?
这是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>
非常感谢。
答案 0 :(得分:1)
您的servlet未正确部署,您应该在部署期间在tomcat控制台上看到堆栈跟踪或消息。如果你发布了web.xml
内容,那可能会给我们一个线索。
答案 1 :(得分:0)
感谢您帮助我。我设法解决了我的问题。这是服务器上现有的java 2 sdk的问题,而不是运行java ee 5.它已经过时了,并且使用了tomcat 5.5。在创建一个新的java和tomcat实例时(因为旧版本上仍有一些应用程序正在运行),一切运行良好。
对于碰巧遇到类似我的类似问题的人来说,要么升级最新的jave 2 sdk和tomcat,要么将你的脚本降级到兼容的旧版本。