Как устранить ошибку StandardWrapperValve на Catalina? - PullRequest
1 голос
/ 18 января 2010

Я создаю регистрационное приложение с проверкой и проверкой (с помощью SimpleCaptcha). Я могу развернуть свое приложение на локальном хосте, и все работает отлично, включая капчу.

Но когда развернут файл war на тестовом сервере, моя капча не работает, и вот вывод из файла журнала:

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

Я зарегистрировал свой SimpleCaptchaServlet в web.xml, и я могу найти файл класса для этого сервлета, но все еще не могу найти проблему. Могу ли я узнать, как я могу решить эту проблему?

Вот файл 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>

Большое спасибо.

Ответы [ 2 ]

1 голос
/ 18 января 2010

Ваш сервлет развернут неправильно, вы должны увидеть трассировку стека или сообщение на консоли Tomcat во время развертывания. Если вы разместили содержимое web.xml, это может дать нам подсказку.

0 голосов
/ 18 января 2010

Спасибо за помощь. Мне удалось исправить мою проблему. Это проблема с существующим java 2 sdk на сервере, не работающим с java ee 5. Он устарел и использует tomcat 5.5. После создания нового экземпляра java и tomcat (так как в старой версии все еще работают некоторые приложения) все работает хорошо.

Для тех, кто сталкивался с такой же проблемой, как у меня, вы либо обновляете последнюю версию jave 2 sdk и tomcat, либо понижаете свой сценарий до совместимой старой версии.

...