2011-12-27 15:41:42 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet default threw exception
java.lang.NullPointerException
at com.asideal.action.login.BeforeLoginAction.execute(BeforeLoginAction.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
action:
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.opensymphony.xwork2.ActionSupport;public class BeforeLoginAction extends ActionSupport{ private static final long serialVersionUID = 1L;
private HttpServletRequest request = null; public HttpServletRequest getRequest() {
return request;
} public void setRequest(HttpServletRequest request) {
this.request = request;
}
@Override
public String execute() throws Exception {
ServletContext app =request.getSession().getServletContext();
System.out.println("app:"+app);
String isSysInit = (String) app.getAttribute("ISBASESYSINIT");
System.out.println("isSysInit:"+isSysInit);
if ("FALSE".equals(isSysInit)) {
System.out.println("-----跳到配置表空间的页面-----");
return "createTableSpace";
}
return "success";
}
}
严重: Servlet.service() for servlet default threw exception
java.lang.NullPointerException
at com.asideal.action.login.BeforeLoginAction.execute(BeforeLoginAction.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
action:
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.opensymphony.xwork2.ActionSupport;public class BeforeLoginAction extends ActionSupport{ private static final long serialVersionUID = 1L;
private HttpServletRequest request = null; public HttpServletRequest getRequest() {
return request;
} public void setRequest(HttpServletRequest request) {
this.request = request;
}
@Override
public String execute() throws Exception {
ServletContext app =request.getSession().getServletContext();
System.out.println("app:"+app);
String isSysInit = (String) app.getAttribute("ISBASESYSINIT");
System.out.println("isSysInit:"+isSysInit);
if ("FALSE".equals(isSysInit)) {
System.out.println("-----跳到配置表空间的页面-----");
return "createTableSpace";
}
return "success";
}
}
解决方案 »
- JSP数据老是提交不成功...各位大侠帮帮忙
- 开发jsp需要什么工具
- 初次搞jsf,遇到一个问题!
- 求解“flash引起IE无法使用中文输入法”
- tomcat5.0装完后,起动时窗口闪一下就消失了,请高手进来指点一下!!!急,在线等!!!希望大家有个愉快的周末!!
- 一个连接数据库BEAN问题中间有一部分代码非要我抛出为什么啊???需要解释啊
- tomcat服务器下的webapps目录下布置应用???找不到页面!请教!(内有详细说明)
- 请教如何限制textarea的字数大小?急!
- nc201,请来这里接分。。你发的邮件收到了。。。。。。
- 关于数据类型转化地问题
- 关于struts2中不同action间的跳转(在线等待中……)
- SSH 使用slf4j+logback,却需要commons-logging.jar
if (isSysInit!=null && "FALSE".equals(isSysInit)) {
System.out.println("-----跳到配置表空间的页面-----");
return "createTableSpace";
}
private HttpServletRequest request = null;所以 ServletContext app =request.getSession().getServletContext();抛出了异常在你的execute方法中加上
HttpServletRequest request = ServletActionContext.getRequest();
有可能app.getAttribute("ISBASESYSINIT")这个为空
所以转换为String类型报错
app.getAttribute("ISBASESYSINIT")有可能这个为空
所以转换为String类型时报错
app.getAttribute("ISBASESYSINIT")有可能这个为空
所以转换为String类型时报错
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;
import org.apache.struts2.util.ServletContextAware;
import com.opensymphony.xwork2.ActionSupport;
public abstract class BeforeLoginAction extends ActionSupport implements ServletContextAware{ private static final long serialVersionUID = 1L;
private ServletContext ServletContext;
private HttpServletRequest request;
public ServletContext getServletContext() {
return ServletContext;
}
public void setServletContext(ServletContext servletContext) {
ServletContext = servletContext;
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
@Override
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
ServletContext app =request.getSession().getServletContext();
System.out.println("app:"+app);
String isSysInit = (String) app.getAttribute("ISBASESYSINIT");
System.out.println("isSysInit:"+isSysInit);
if ("FALSE".equals(isSysInit)) {
return "createTableSpace";
}
return "success";
}
}报这个严重: Servlet.service() for servlet default threw exception
java.lang.InstantiationException
at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:187)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:800)
at
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;
import org.apache.struts2.util.ServletContextAware;
import com.opensymphony.xwork2.ActionSupport;
public abstract class BeforeLoginAction extends ActionSupport implements ServletContextAware{ private static final long serialVersionUID = 1L;
private ServletContext ServletContext;
private HttpServletRequest request;
public ServletContext getServletContext() {
return ServletContext;
}
public void setServletContext(ServletContext servletContext) {
ServletContext = servletContext;
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
@Override
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
ServletContext app =request.getSession().getServletContext();
System.out.println("app:"+app);
String isSysInit = (String) app.getAttribute("ISBASESYSINIT");
System.out.println("isSysInit:"+isSysInit);
if ("FALSE".equals(isSysInit)) {
return "createTableSpace";
}
return "success";
}
}报这个严重: Servlet.service() for servlet default threw exception
java.lang.InstantiationException
at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:187)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:800)
at
import javax.servlet.ServletContext;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;
public abstract class BeforeLoginAction extends ActionSupport{// implements ServletContextAware{ private static final long serialVersionUID = 1L;
// private ServletContext ServletContext;
//
//
// public ServletContext getServletContext() {
// return ServletContext;
// }
// public void setServletContext(ServletContext servletContext) {
// ServletContext = servletContext;
// }
// @Override
public String execute() throws Exception {
ServletContext app =ServletActionContext.getRequest().getSession().getServletContext();
String isSysInit = (String) app.getAttribute("ISBASESYSINIT");
if ("FALSE".equals(isSysInit)) {
return "createTableSpace";
}
return "success";
}
}严重: Servlet.service() for servlet default threw exception
java.lang.InstantiationException
at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.inst
ServletContext app =request.getSession().getServletContext();自己获取了还有你定义了request属性也没有什么意义要么就实现requestAware,要么就在方法中自己获取,那就没必要在定义那个属性了,你写的东西有点乱...
严重: Servlet.service() for servlet default threw exception
java.lang.InstantiationException
at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
at org.springframework.beans.factory.support.ConstructorResolver.autowire
private ServletContext ServletContext;
private HttpServletRequest request;
public ServletContext getServletContext() {
return ServletContext;
}
public void setServletContext(ServletContext servletContext) {
ServletContext = servletContext;
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}这些是干什么用的你知道么,就乱写一通...
private ServletContext ServletContext;
private HttpServletRequest request;
public ServletContext getServletContext() {
return ServletContext;
}
public void setServletContext(ServletContext servletContext) {
ServletContext = servletContext;
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}这些是干什么用的你知道么,就乱写一通...
public class BeforeLoginAction extends ActionSupport{ private static final long serialVersionUID = 1L;
private ServletContext ServletContext;
public ServletContext getServletContext() {
return ServletContext;
}
public void setServletContext(ServletContext servletContext) {
ServletContext = servletContext;
}
@Override
public String execute() throws Exception {
ServletContext app =ServletActionContext.getServletContext();
System.out.println("app:"+app);
String isSysInit = (String) app.getAttribute("ISBASESYSINIT");
System.out.println("isSysInit:"+isSysInit);
if ("FALSE".equals(isSysInit)) {
return "createTableSpace";
}
return "success";
}
}ok了
public ServletContext getServletContext() {
return ServletContext;
}
public void setServletContext(ServletContext servletContext) {
ServletContext = servletContext;
}这些也是可以删掉的,你之前实现ServletContextAware接口并且写getset方法和下面方法中:ServletContext app =ServletActionContext.getServletContext();是两种获取ServletContext的方式,用一种就可以了,不要混淆,两种方式你都可以试试。如果用实现接口的方式则可以直接
String isSysInit = (String)ServletContext.getAttribute("ISBASESYSINIT");还有以后记住属性名首字母小写这里的ServletContext是属性本应该写为servletContext...
非常感谢你 ,我在把struts1的项目改成struts2的 问题多多啊
ServletContext app = ServletActionContext.getServletContext();
有可能app.getAttribute("ISBASESYSINIT")这个为空
所以转换为String类型报错