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; 

解决方案 »

  1.   

    你测试下 看进入action了么
      

  2.   

    java.lang.NullPointerException  空指针
    LoginAction.java:20
     在LoginAction.java设置断点  看是否有值~
      

  3.   

    可能你配置有问题~
     就没有进action
      

  4.   

    你的loginForm里面的userName属性为null吧?建议debug一下。
      

  5.   

    空指针....说明form里没内容...看下struts-config.xml中form 和 action有没有关联
      

  6.   

    if(loginForm.getUsername().equals("jwb"))loginForm is null OR loginFrom.getUsername() is null.
      

  7.   

    java.lang.NullPointerException 
    在loginAction的20行 打印看看是不是有值
      

  8.   

    我怀疑是页面username的id没有跟bean的统一起来,楼主检查一下
      

  9.   

    楼主,这是空指针异常,我判断也许你的ActionForm 并没有接收到,判断一下ActionForm 是否为空
    if(form==null) { System.out.print("null") }
    如果打印出了null,那么就是这得错误了,可能是struts-config.xml有问题
    最好贴上来看看
      

  10.   

    我将if语句注释掉,直接return mapping.findForward("success")就可以跳转到登陆成功的页面,所以应该是loginForm.getUsername()没有值的原因,可是就是不知道原因在哪?
      

  11.   

    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>
      

  12.   

    这很清楚了嘛,你的Action和ActionForm没有关联
    <action>标签里加上name=“loginForm”属性
      

  13.   

    添加name="loginForm"的属性还是不行!
      

  14.   

    if(loginForm.getUsername().equals("jwb")){ 
    这个是空可能是 loginForm 为空或loginForm.getUsername()个人觉得loginForm 是空的概率大一些
      

  15.   

    java.lang.NullPointerException 
    com.neu.jwb.login.LoginAction.execute(LoginAction.java:20 这里出现为空,可能没有获取到数据,这里做个输入判断一下
      

  16.   

    if(loginForm.getUsername().equals("jwb")){ 
    return mapping.findForward("success"); 
    } loginForm.getUsername()根本拿不到页面的值,只硬要拿,就出现null值了
    应该这样写
    if(loginForm.getUsername()!= null){
    if(loginForm.getUsername().equals("jwb")){ 
    return mapping.findForward("success"); 

    }