struts2异常,请高手帮忙看一下,谢谢啦!!(十万火急)

时间:2022-08-02 18:57:33
我在MyEclipse5.5上手动添加的Struts2,能正常的运行,但是在我的电脑MyEclipse8.0中就是报这个异常:
我是在欢迎页中,页面加载时就显示全部信息,直接跳入Action中,但页面报500错误,还有些异常信息如下:

org.springframework.dao.DataAccessResourceFailureException: Cannot open connection; nested exception is org.hibernate.exception.JDBCConnectionException: Cannot open connection
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:609)
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:377)
org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840)
org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:832)
dao.ProductDaoImpl.listAll(ProductDaoImpl.java:15)
action.ProductAction.listAll(ProductAction.java:50)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)


root cause 

。。。。
。。。。

14 个解决方案

#1


hibernate链接数据库那出问题了. 跟struts2没什么关系把

#2


数据库连接有问题 ,看一下服务打开没有, 在daoImpl中看看 是否继承了HibernateDaoSupport

#3


org.hibernate.exception.JDBCConnectionException: Cannot open connection
有问题看异常

#4


只能向下兼容 不能向上兼容吧

#5


可能是数据库服务没有启动

#6


Cannot open connection; nested exception is org.hibernate.exception.JDBCConnectionException: Cannot open connection
这是数据库连接问题,你在欢迎页中,页面加载时就显示全部信息有可能是还没有与数据库连接,直接进入Action是进行了数据库访问,有可能是这样。。。

最好把Action的代码贴出来。

#7


连接有问题。

#8


注意了,哥们,MyEclipse 的版本不同,是因为里面的插件不同,所以在你添加Struts2的时候,里面的jar包版本就不同,替换一哈就ok了……

#9


这个是数据库连接问题。你写个简单的hibernate连接数据库的例子试试看 。。

#10


我的Action代码:
public class ProductAction extends ActionSupport implements ServletRequestAware,ServletResponseAware {
private HttpServletRequest request;
private HttpServletResponse response;
private IproductDao dao;
public void setDao(IproductDao dao) {
this.dao = dao;
}

private Product product;
public Product getProduct() {
return product;
}

public void setProduct(Product product) {
this.product = product;
}


//生成制定的request,response对象
public void setServletRequest(HttpServletRequest request) {
// TODO Auto-generated method stub
this.request=request;

}

public void setServletResponse(HttpServletResponse response) {
// TODO Auto-generated method stub
this.response=response;
}

//查询所有的信息
public String listAll(){
List plist=this.dao.listAll();
this.request.setAttribute("listall", plist);

return "listall";
}


//查询所有的==交易=====信息
public String listAllBar(){
List blist=this.dao.listAllBar();
System.out.println("交易"+blist.size());
this.request.setAttribute("listbar", blist);
return "detailpage";
}

//根据id查询相应的信息
public String findproduct(){
Integer id=this.product.getProductid();
System.out.println("====="+id);
Product p= this.dao.getProById(id);
System.out.println(p.getProductname());
this.request.setAttribute("v", p);

return "bar";
}

#11


那个提示是数据库的链接问题,看一下链接吧!

#12


数据库服务没有启动吧。

#13


连接问题啦,没有打开数据库服务。

#14


连接问题啦,没有打开数据库服务。

#1


hibernate链接数据库那出问题了. 跟struts2没什么关系把

#2


数据库连接有问题 ,看一下服务打开没有, 在daoImpl中看看 是否继承了HibernateDaoSupport

#3


org.hibernate.exception.JDBCConnectionException: Cannot open connection
有问题看异常

#4


只能向下兼容 不能向上兼容吧

#5


可能是数据库服务没有启动

#6


Cannot open connection; nested exception is org.hibernate.exception.JDBCConnectionException: Cannot open connection
这是数据库连接问题,你在欢迎页中,页面加载时就显示全部信息有可能是还没有与数据库连接,直接进入Action是进行了数据库访问,有可能是这样。。。

最好把Action的代码贴出来。

#7


连接有问题。

#8


注意了,哥们,MyEclipse 的版本不同,是因为里面的插件不同,所以在你添加Struts2的时候,里面的jar包版本就不同,替换一哈就ok了……

#9


这个是数据库连接问题。你写个简单的hibernate连接数据库的例子试试看 。。

#10


我的Action代码:
public class ProductAction extends ActionSupport implements ServletRequestAware,ServletResponseAware {
private HttpServletRequest request;
private HttpServletResponse response;
private IproductDao dao;
public void setDao(IproductDao dao) {
this.dao = dao;
}

private Product product;
public Product getProduct() {
return product;
}

public void setProduct(Product product) {
this.product = product;
}


//生成制定的request,response对象
public void setServletRequest(HttpServletRequest request) {
// TODO Auto-generated method stub
this.request=request;

}

public void setServletResponse(HttpServletResponse response) {
// TODO Auto-generated method stub
this.response=response;
}

//查询所有的信息
public String listAll(){
List plist=this.dao.listAll();
this.request.setAttribute("listall", plist);

return "listall";
}


//查询所有的==交易=====信息
public String listAllBar(){
List blist=this.dao.listAllBar();
System.out.println("交易"+blist.size());
this.request.setAttribute("listbar", blist);
return "detailpage";
}

//根据id查询相应的信息
public String findproduct(){
Integer id=this.product.getProductid();
System.out.println("====="+id);
Product p= this.dao.getProById(id);
System.out.println(p.getProductname());
this.request.setAttribute("v", p);

return "bar";
}

#11


那个提示是数据库的链接问题,看一下链接吧!

#12


数据库服务没有启动吧。

#13


连接问题啦,没有打开数据库服务。

#14


连接问题啦,没有打开数据库服务。