http status 500 java.lang.NullPointerException

qingqingcao22009 2013-03-20 10:34:41
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
demo.action.LoginAction.execute(LoginAction.java:36)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:511)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:432)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.37 logs.
---------------------
初学者,在网上找的例子,照搬到自己的eclipse中。
例子:http://www.blogjava.net/xcp/archive/2008/09/13/s2s.html
debug了一下,在LoginAction的36行设置了断点,可以看到username和password中被传入了输入的参数值,不过在LoginAction中添加一句打印语句,没有输出打印语句。
...全文
502 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingqingcao22009 2013-03-20
  • 打赏
  • 举报
回复
这是配置文件,不知道哪儿有问题:<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean name="loginService" class="demo.service.LoginService"/> <bean name="loginAction" class="demo.action.LoginAction"> <property name="loginService"> <ref bean="loginService"/> </property> </bean> </beans>
引用 21 楼 caochuankui 的回复:
这种情况应该是注入的问题吧,仔细检查下spring配置吧,可能是配置的细节没注意到
坚持2012 2013-03-20
  • 打赏
  • 举报
回复
这种情况应该是注入的问题吧,仔细检查下spring配置吧,可能是配置的细节没注意到
qingqingcao22009 2013-03-20
  • 打赏
  • 举报
回复
多谢了
引用 19 楼 zhaoli2315 的回复:
http://blog.csdn.net/riyunzhu/article/details/7887901这里有个貌似很完整的你和你的项目比较下吧,我随便在网上找的,我也不知道它能不能跑起来哈
zhaoli2315 2013-03-20
  • 打赏
  • 举报
回复
http://blog.csdn.net/riyunzhu/article/details/7887901这里有个貌似很完整的你和你的项目比较下吧,我随便在网上找的,我也不知道它能不能跑起来哈
qingqingcao22009 2013-03-20
  • 打赏
  • 举报
回复
是,这个也是照着抄的,不过改为3.2还不行,我在下载的spring中刻一张好到3.2.xsd文件
引用 16 楼 zhaoli2315 的回复:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http:……
zhaoli2315 2013-03-20
  • 打赏
  • 举报
回复
引用 15 楼 qingqingcao22009 的回复:
这样改编译好像通不过呀引用 12 楼 zhaoli2315 的回复:<property name="loginService"> <ref bean="loginService"/>貌似错了,改成<property name="loginService" ref bean="loginService"/>
不用改,要改的话是这样的<property name="loginService" ref="loginService"/>,我刚查了下你那样也是对的
zhaoli2315 2013-03-20
  • 打赏
  • 举报
回复
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">你这是个2.0的头部
qingqingcao22009 2013-03-20
  • 打赏
  • 举报
回复
这样改编译好像通不过呀
引用 12 楼 zhaoli2315 的回复:
<property name="loginService"> <ref bean="loginService"/>貌似错了,改成<property name="loginService" ref bean="loginService"/>
zhaoli2315 2013-03-20
  • 打赏
  • 举报
回复
引用 11 楼 qingqingcao22009 的回复:
spring3.2引用 10 楼 zhaoli2315 的回复:粗略看好像没什么问题,你的spring版本是2.0的吗
那可能就是头部的问题了,你找个spring3.2的DTD换过去试试
qingqingcao22009 2013-03-20
  • 打赏
  • 举报
回复
struts2.3.4 spring3.2.0 tomcat7.0.37 JDK1.6
zhaoli2315 2013-03-20
  • 打赏
  • 举报
回复
<property name="loginService"> <ref bean="loginService"/>貌似错了,改成<property name="loginService" ref bean="loginService"/>
qingqingcao22009 2013-03-20
  • 打赏
  • 举报
回复
spring3.2
引用 10 楼 zhaoli2315 的回复:
粗略看好像没什么问题,你的spring版本是2.0的吗
zhaoli2315 2013-03-20
  • 打赏
  • 举报
回复
粗略看好像没什么问题,你的spring版本是2.0的吗
qingqingcao22009 2013-03-20
  • 打赏
  • 举报
回复
applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean name="loginService" class="demo.service.LoginService"/> <bean name="loginAction" class="demo.action.LoginAction"> <property name="loginService"> <ref bean="loginService"/> </property> </bean> </beans>
zhaoli2315 2013-03-20
  • 打赏
  • 举报
回复
引用 7 楼 qingqingcao22009 的回复:
loginService确实是null,是什么原因,applicationContext.xml没有配置正确? 引用 6 楼 zhaoli2315 的回复:你看下loginService是不是空的,如果空了就说明你没有注入成功
是的
qingqingcao22009 2013-03-20
  • 打赏
  • 举报
回复
loginService确实是null,是什么原因,applicationContext.xml没有配置正确?
引用 6 楼 zhaoli2315 的回复:
你看下loginService是不是空的,如果空了就说明你没有注入成功
zhaoli2315 2013-03-20
  • 打赏
  • 举报
回复
你看下loginService是不是空的,如果空了就说明你没有注入成功
qingqingcao22009 2013-03-20
  • 打赏
  • 举报
回复
其实代码都是从这里http://www.blogjava.net/xcp/archive/2008/09/13/s2s.html照搬的,不知道怎么搬到我这儿就不行了
qingqingcao22009 2013-03-20
  • 打赏
  • 举报
回复
LoginAction.java如下: package demo.action; import com.opensymphony.xwork2.ActionSupport; import demo.service.LoginService; public class LoginAction extends ActionSupport{ private static final long serialVersionUID=1l; private String username; private String password; private LoginService loginService; //通过spring的IOC容器注入LoginService,从而减少类之间的依赖关系 public LoginService getLoginService() { return loginService; } public void setLoginService(LoginService loginService) { this.loginService = loginService; } 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; } @Override public void validate(){ } @Override public String execute()throws Exception{ boolean result=loginService.validate(username, password); System.out.println("username"+username+"password"+password); if(result==true) return SUCCESS; else return INPUT; } } login.jsp如下: <%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>登录页面</title> </head> <body> <s:form name="login" action="login" method="post"> <s:textfield name="username" label="账号"></s:textfield> <s:textfield name="password" label="密码"></s:textfield> <s:submit></s:submit> </s:form> </body> </html>
qingqingcao22009 2013-03-20
  • 打赏
  • 举报
回复
项目是用struts2+tomcat7+spring—+jdk6开发的 spring就用到了把service注入action中
加载更多回复(2)

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧