Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何删除Struts1.x中的NullPointerException_Java_Struts 1 - Fatal编程技术网

Java 如何删除Struts1.x中的NullPointerException

Java 如何删除Struts1.x中的NullPointerException,java,struts-1,Java,Struts 1,我是STRUTS新手,正在尝试制作一个简单的示例。当我执行该示例时,在internet浏览器上出现以下错误 << javax.servlet.ServletException: javax.servlet.jsp.JspException: Exception creating bean of class com.example.LoginForm >> 我的JSP login.JSP 登录类 MessageResources.properties类 堆栈跟踪 org.

我是STRUTS新手,正在尝试制作一个简单的示例。当我执行该示例时,在internet浏览器上出现以下错误

<< javax.servlet.ServletException: javax.servlet.jsp.JspException: Exception creating bean of class com.example.LoginForm >>
我的JSP login.JSP 登录类 MessageResources.properties类 堆栈跟踪
org.apache.struts.util.RequestUtils createActionForm
严重:创建com.example.LoginForm类的表单bean时出错
java.lang.NullPointerException
=========== ======================
位于org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:289)
位于org.apache.struts.util.RequestUtils.createActionForm(RequestUtils.java:259)
位于org.apache.struts.util.RequestUtils.createActionForm(RequestUtils.java:213)
位于org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:526)
位于org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:503)
在org.apache.jsp.login\u jsp.\u jspx\u meth\u html\u 005fform\u 005f0(login\u jsp.java:122)
在org.apache.jsp.login\u jsp.\u jsp服务(login\u jsp.java:79)
位于org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
位于org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
位于org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
位于org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
位于org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
位于java.lang.Thread.run(未知源)
2011年6月23日下午12:56:47 org.apache.struts.util.PropertyMessageResources loadLocale
警告:未找到Resource org/apache/struts/taglib/html/LocalStrings\u en\u US.properties。
2011年6月23日下午12:56:47 org.apache.struts.util.PropertyMessageResources loadLocale
警告:未找到资源org/apache/struts/taglib/html/LocalStrings\u en.properties。
2011年6月23日下午12:56:47 org.apache.catalina.core.StandardWrapper
严重:Servlet jsp的Servlet.service()引发异常

javax.servlet.jsp.JspException:在表单名loginRequest下创建com.example.LoginForm类bean的异常 位于org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:536) 位于org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:503) 在org.apache.jsp.login\u jsp.\u jspx\u meth\u html\u 005fform\u 005f0(login\u jsp.java:122) 在org.apache.jsp.login\u jsp.\u jsp服务(login\u jsp.java:79) 位于org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 位于org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) 位于org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) 位于org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) 位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 位于org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) 位于java.lang.Thread.run(未知源)
有人能找出我做错了什么,为什么会发生这种错误吗

谢谢,

Ankit

您在
html:form
上的操作中忘记了一个
/

这就是你应该如何在表单中调用你的操作

<html:form action="/login">
您要关闭
两次

解决方案:

< form-beans>
    <form-bean name="loginRequest" type="com.example.LoginForm" />    
</form-beans>

现在,这必须起作用。:-)(很抱歉回复太晚,工作需要我。)


另外,我建议使用诸如Eclipse或NetBeans之类的IDE来完成Struts项目(而不是手动键入),尤其是用于XML声明。

您在对
html:form
的操作中忘记了
/

这就是你应该如何在表单中调用你的操作

<html:form action="/login">
您要关闭
两次

解决方案:

< form-beans>
    <form-bean name="loginRequest" type="com.example.LoginForm" />    
</form-beans>

现在,这必须起作用。:-)(很抱歉回复太晚,工作需要我。)

另外,我建议使用诸如Eclipse或NetBeans之类的IDE来执行Struts项目(而不是手动键入),特别是对于XML声明
package com.example;   

import javax.servlet.http.HttpServletRequest;    
import javax.servlet.http.HttpServletResponse;     

import org.apache.struts.action.Action;     
import org.apache.struts.action.ActionForm;     
import org.apache.struts.action.ActionForward;      
import org.apache.struts.action.ActionMapping;     

public class LoginAction extends Action   
{     
    @Override    
    public ActionForward execute(ActionMapping mapping, ActionForm form,    
            HttpServletRequest request, HttpServletResponse response)    
            throws Exception     
    {   
        LoginForm login = (LoginForm)form;     
        String name = login.getUsername();    
        String pass = login.getPassword();    

        if(name.equals("hello") && pass.equals("hello"))    
            return mapping.findForward("success");   
        else    
            return mapping.findForward("failure");    
    }    
}   
title=Welcome   
login.username=Username    
loguin.password=Password    
login.submit=Submit
org.apache.struts.util.RequestUtils createActionForm    
SEVERE: Error creating form bean of class com.example.LoginForm 
java.lang.NullPointerException
=========== ======================
    at org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:289)
    at org.apache.struts.util.RequestUtils.createActionForm(RequestUtils.java:259)
    at org.apache.struts.util.RequestUtils.createActionForm(RequestUtils.java:213)
    at org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:526)
    at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:503)
    at org.apache.jsp.login_jsp._jspx_meth_html_005fform_005f0(login_jsp.java:122)
    at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    at java.lang.Thread.run(Unknown Source)

Jun 23, 2011 12:56:47 PM org.apache.struts.util.PropertyMessageResources loadLocale
WARNING:   Resource org/apache/struts/taglib/html/LocalStrings_en_US.properties Not Found.
Jun 23, 2011 12:56:47 PM org.apache.struts.util.PropertyMessageResources loadLocale
WARNING:   Resource org/apache/struts/taglib/html/LocalStrings_en.properties Not Found.
Jun 23, 2011 12:56:47 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception <br/><br/>
javax.servlet.jsp.JspException: Exception creating bean of class com.example.LoginForm under form name loginRequest
    at org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:536)
    at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:503)
    at org.apache.jsp.login_jsp._jspx_meth_html_005fform_005f0(login_jsp.java:122)
    at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    at java.lang.Thread.run(Unknown Source)
<html:form action="/login">
<form-beans>   
    <form-bean name="loginRequest" type="com.example.LoginForm" />    
</form-bean>
</form-beans>
< form-beans>
    <form-bean name="loginRequest" type="com.example.LoginForm" />    
</form-beans>
< action path="/login" name="loginRequest" type="com.example.LoginAction">   
 < forward name="success" path="/success.jsp">< /forward>
< action path="/loginPre" name="loginRequest" forward="/youloginformname.jsp">  
</action>