仅仅用了个struts1.2 做了个登录。 就出现空指针错误了。
很是悲催。一直找不到,很无辜啊!!
javax.servlet.ServletException: java.lang.NullPointerException
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.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
com.yourcompany.login.LoginAction.execute(LoginAction.java:19)
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.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
public class LoginAction extends Action { @Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginForm loginForm=(LoginForm)form;
if(loginForm.getLoginname().equals("qwe")){
return mapping.findForward("LoginSuccess");
}else{
return mapping.findForward("LoginFail");
}
}
} 这个是LOGINACTION 第十九行 用红色标记出来了。public class LoginForm extends ActionForm {
private String loginname=null;
private String password=null;
public String getLoginname() {
return loginname;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
} LoginForm。java
<struts-config>
<data-sources />
<form-beans>
<form-bean name="loginForm" type="com.yourcompany.login.LoginForm"></form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
path="/login" type="com.yourcompany.login.LoginAction" name="loginForm">
<forward name="LoginSuccess" path="/loginsuccess.jsp"></forward>
<forward name="LoginFail" path="/loginfail.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config> struts-config.xml
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app> web.xml
很是悲催。一直找不到,很无辜啊!!
javax.servlet.ServletException: java.lang.NullPointerException
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.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
com.yourcompany.login.LoginAction.execute(LoginAction.java:19)
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.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
public class LoginAction extends Action { @Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginForm loginForm=(LoginForm)form;
if(loginForm.getLoginname().equals("qwe")){
return mapping.findForward("LoginSuccess");
}else{
return mapping.findForward("LoginFail");
}
}
} 这个是LOGINACTION 第十九行 用红色标记出来了。public class LoginForm extends ActionForm {
private String loginname=null;
private String password=null;
public String getLoginname() {
return loginname;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
} LoginForm。java
<struts-config>
<data-sources />
<form-beans>
<form-bean name="loginForm" type="com.yourcompany.login.LoginForm"></form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
path="/login" type="com.yourcompany.login.LoginAction" name="loginForm">
<forward name="LoginSuccess" path="/loginsuccess.jsp"></forward>
<forward name="LoginFail" path="/loginfail.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config> struts-config.xml
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app> web.xml
解决方案 »
- (access数据库)ResultSet 转换为list 后,怎样输出里面的值啊
- netbean安装visual web插件的问题
- 如何调用hibernate的接口获取当前连接池的连接数
- jnative 调用动态链接库参数问题?
- 工厂模式,我所定义的抽像方法,public abstract Board InitBoard();出现了问题
- Eclipse3.2用插件启动Tomcat5.5异常?
- 请教下EJB QL的问题?
- 在做实际项目中,遇到一个非常难解决的问题,请求高手帮助!
- 为什么在客户端可以调用在EJB的Remote接口和Home接口中没有定义,而在bean中有定义的方法?
- (Applet)请问用JTree做了一棵树,其节点从xml文件中得到,请问为何提示权限不足
- 在团队中大家都是怎么开发的
- hibernate如何多函数查询
看配置文件LoginForm loginForm=(LoginForm)form;这行应该是没问题
问题应该出现在这句loginForm.getLoginname().equals("qwe");
loginForm.getLoginname()是空
你去你的提交页面上看看有没有提交loginname这个字段就行了呗,或者把你的页面代码贴出来
你的jsp里应该有form 对应的action为 /login.do
然后里面有name为loginname和password的表单元素。
loginname写的对不
<body>
<form action="<%=request.getContextPath() %>/login.do" method="post">
Loginname:<input type="text" name="Loginname"><br>
Password:<input type="password" name="password"><br>
<input type="submit" value="login">
</form><br>
</body>
这个是JSP页面代码!~另外我说的 19行 就是if(loginForm.getLoginname().equals("qwe")){ 这个!
这个是null