Java 如何删除Struts1.x中的NullPointerException
我是STRUTS新手,正在尝试制作一个简单的示例。当我执行该示例时,在internet浏览器上出现以下错误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.
<< 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>