javax.servlet.ServletException: null - PullRequest
       26

javax.servlet.ServletException: null

1 голос
/ 28 сентября 2011

Получив следующую ошибку во время тестирования небольшого веб-приложения на основе Apache, над которым я работал, суть в том, что каким-то образом нулевой параметр запроса httpservletrequest был передан функции Actionforward Execute в расширенном классе Action ??

Мои знания об использовании распорок ограничены, поэтому объяснение этого ошибочного поведения вне меня, любая помощь очень ценится.Исключение включено ниже ..

javax.servlet.ServletException: null
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)    

org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)

org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)

org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache
Tomcat/5.5.4 logs.

1 Ответ

1 голос
/ 26 октября 2011

Извините за то, что не вернулись к этому раньше ..

Описанная ошибка была вызвана отсутствием спецификации bean-компонента serviceForm в отображении действий в struts-config.xml. Когда пользователь в первый раз перешел на веб-страницу с ошибками, компонент ServiceForm не существовал, поэтому он был создан для хранения относительных значений actionForm (ошибок не было).

Однако, когда пользователь пытался перейти обратно на веб-страницу, находясь где-то в другом месте, была предпринята попытка доступа к созданным данным bean-компонента serviceForm, которые не были указаны в стойке ... отсюда сбой нулевого указателя ..

Например. name = "serviceForm" отсутствует.

<action path="/pages/networkconfig/listUIServices"
        type="com.UIServiceListAction"
        name="serviceForm" 
        scope="request"
        validate="false">
    <forward name="view" path="/pages/networkconfig/uiservices_list.jsp"/>
</action>   

Надеюсь, это объяснение полезно ..

...