HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
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.neu.jwb.login.LoginAction.execute(LoginAction.java:20)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
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)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
-------------------------------------------------------------------------------- Apache Tomcat/6.0.20
LoginAction.java的代码如下:
package com.neu.jwb.login; 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 loginForm = (LoginForm)form; if(loginForm.getUsername().equals("jwb")){
return mapping.findForward("success");
}
else{
return mapping.findForward("false");
}
}
} LoginForm.java代码如下: package com.neu.jwb.login;
import org.apache.struts.action.ActionForm;
public class LoginForm extends ActionForm {
/**
*
*/
private static final long serialVersionUID = 1l;
private String username = null;
private String password = null;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
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.neu.jwb.login.LoginAction.execute(LoginAction.java:20)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
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)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
-------------------------------------------------------------------------------- Apache Tomcat/6.0.20
LoginAction.java的代码如下:
package com.neu.jwb.login; 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 loginForm = (LoginForm)form; if(loginForm.getUsername().equals("jwb")){
return mapping.findForward("success");
}
else{
return mapping.findForward("false");
}
}
} LoginForm.java代码如下: package com.neu.jwb.login;
import org.apache.struts.action.ActionForm;
public class LoginForm extends ActionForm {
/**
*
*/
private static final long serialVersionUID = 1l;
private String username = null;
private String password = null;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
解决方案 »
- java新手问个小问题 请高手指教
- 用JDOM解析XML文档
- ssh程序在tomcat5.0中跑的很好但是tomcat6.0中跑步起来
- 页面上的图片,当鼠标移到上面时,会出现打印机的小图标,我不想要这个打印机小图标,怎么办?
- mysql数据库驱动加载失败!
- No action instance for path /manger could be created
- 用JAVA能调用DLL文件接口提供的函数吗?
- 关于论坛置顶问题???
- 救命啊
- 使用Druid报错not support oracle driver 1.0,急求助 !!
- 单选表单 radio 如何反映数据库中原有的值?
- hibernate多对多关联
LoginAction.java:20
在LoginAction.java设置断点 看是否有值~
就没有进action
在loginAction的20行 打印看看是不是有值
if(form==null) { System.out.print("null") }
如果打印出了null,那么就是这得错误了,可能是struts-config.xml有问题
最好贴上来看看
<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="loginForm" type="com.neu.jwb.login.LoginForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/login" type="com.neu.jwb.login.LoginAction">
<forward name="success" path="/loginsuccess.jsp"></forward>
<forward name="false" path="/loginfalse.jsp"></forward>
</action>
</action-mappings>
</struts-config>
<action>标签里加上name=“loginForm”属性
这个是空可能是 loginForm 为空或loginForm.getUsername()个人觉得loginForm 是空的概率大一些
com.neu.jwb.login.LoginAction.execute(LoginAction.java:20 这里出现为空,可能没有获取到数据,这里做个输入判断一下
return mapping.findForward("success");
} loginForm.getUsername()根本拿不到页面的值,只硬要拿,就出现null值了
应该这样写
if(loginForm.getUsername()!= null){
if(loginForm.getUsername().equals("jwb")){
return mapping.findForward("success");
}
}