各位大神帮帮忙,struts2+hibernate3,HTTP Status 500 - Cannot open connection

lvdongfengphp 2015-11-05 08:11:24
public class ShowAllAction extends ActionSupport{

public String execute() throws Exception{

ProductService ps = ServiceFactory.getServiceInstance();

List<Product> list = null;
list = ps.queryAllProduct();

ServletActionContext.getRequest().setAttribute("all", list);
return SUCCESS;
}
/*
public static void main(String[] args) {
ProductService ps = ServiceFactory.getServiceInstance();

List<Product> list = null;
list = ps.queryAllProduct();
Iterator iter = list.iterator();
Product p = null;
while(iter.hasNext()){
p = (Product) iter.next();
System.out.println(p.toString());
}
}*/
}


配置文件
<struts>
<package name="strutsqs" extends="struts-default">
<action name="showAll" class="com.hi.action.ShowAllAction">
<result name="success">/plist.jsp</result>
</action>
</package>
</struts>


<form action="showAll.action" method="post">
<input type="submit" value="点击">
</form>

plist.jsp的代码
<h2>产品列表</h2>
<table border="1">
<tr>
<td>产品ID</td>
<td>产品名称</td>
<td>产品价格</td>
<td>是否删除</td>
<td>是否更新</td>
</tr>
<s:iterator value="#request.all" id="p">
<tr>
<td><s:property value="#p.id"/></td>
<td><s:property value="#p.name"/></td>
<td><s:property value="#p.price"/></td>
<td><a href="delete.action?id=<s:property value='#p.id'/>">删除</a></td>
<td><a href="update.jsp?id=<s:property value='#p.id'/>">更新</a></td>
</tr>
</s:iterator>
</table>
<a href="add.jsp">添加产品</a>






在浏览器里点击出现以下错误,但是直接在运行java代码可以查询出数据库里的内容








...全文
308 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvdongfengphp 2015-11-07
  • 打赏
  • 举报
回复
tomcat8 jdk1.8 mysql5.5 驱动是5.1的 hibernate4 struts2.3 ubuntu14.04 怎么个不配法
lvdongfengphp 2015-11-07
  • 打赏
  • 举报
回复
感谢各路大神帮忙,小弟终于解决了!! 是tomcat太高级了,换成7就可以了, 我发现了学习阶段还是要成熟的工具好,太新的很多不兼容,容易出错,很打击人信心的。
dracularking 2015-11-06
  • 打赏
  • 举报
回复
引用 4 楼 zwpyy3727 的回复:
应该是tomcat和你数据库驱动jar包兼容性导致的,尝试tomcat6.0版本试试或者换一个驱动jar包
没错,提示应该是这样一种感觉,驱动有,但不合适,版本不配
zwpyy3727 2015-11-06
  • 打赏
  • 举报
回复
应该是tomcat和你数据库驱动jar包兼容性导致的,尝试tomcat6.0版本试试或者换一个驱动jar包
lvdongfengphp 2015-11-06
  • 打赏
  • 举报
回复
引用 2 楼 dracularking 的回复:
mysql 驱动jar包放好了吗
放好了的,直接用java代码运行是可以的,但换浏览器就出现这样的情况了
dracularking 2015-11-05
  • 打赏
  • 举报
回复
mysql 驱动jar包放好了吗
lvdongfengphp 2015-11-05
  • 打赏
  • 举报
回复

type Exception report

message Cannot open connection

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

exception

org.hibernate.exception.JDBCConnectionException: Cannot open connection
	org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:97)
	org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
	org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)
	org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)
	org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
	org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
	org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1577)
	org.hibernate.loader.Loader.doQuery(Loader.java:696)
	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
	org.hibernate.loader.Loader.doList(Loader.java:2232)
	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
	org.hibernate.loader.Loader.list(Loader.java:2124)
	org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401)
	org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
	org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
	org.hibernate.impl.SessionImpl.list(SessionImpl.java:1149)
	org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
	com.hi.dao.imlp.ProductDaoImpl.queryAll(ProductDaoImpl.java:56)
	com.hi.servcie.impl.ProductServiceImpl.queryAllProduct(ProductServiceImpl.java:53)
	com.hi.action.ShowAllAction.execute(ShowAllAction.java:20)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:497)
	ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:870)
	ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1293)
	ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:68)
	com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethodWithDebugInfo(XWorkMethodAccessor.java:117)
	com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethod(XWorkMethodAccessor.java:108)
	ognl.OgnlRuntime.callMethod(OgnlRuntime.java:1369)
	ognl.ASTMethod.getValueBody(ASTMethod.java:90)
	ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
	ognl.SimpleNode.getValue(SimpleNode.java:258)
	ognl.Ognl.getValue(Ognl.java:494)
	ognl.Ognl.getValue(Ognl.java:458)
	com.opensymphony.xwork2.ognl.OgnlUtil$2.execute(OgnlUtil.java:309)
	com.opensymphony.xwork2.ognl.OgnlUtil.compileAndExecute(OgnlUtil.java:340)
	com.opensymphony.xwork2.ognl.OgnlUtil.getValue(OgnlUtil.java:307)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:423)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:287)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:250)
	org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
	org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:125)





root cause

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/test
	java.sql.DriverManager.getConnection(DriverManager.java:689)
	java.sql.DriverManager.getConnection(DriverManager.java:208)
	org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
	org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
	org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
	org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
	org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1577)
	org.hibernate.loader.Loader.doQuery(Loader.java:696)
	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
	org.hibernate.loader.Loader.doList(Loader.java:2232)
	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
	org.hibernate.loader.Loader.list(Loader.java:2124)
	org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401)
	org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
	org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
	org.hibernate.impl.SessionImpl.list(SessionImpl.java:1149)
	org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
	com.hi.dao.imlp.ProductDaoImpl.queryAll(ProductDaoImpl.java:56)
	com.hi.servcie.impl.ProductServiceImpl.queryAllProduct(ProductServiceImpl.java:53)
	com.hi.action.ShowAllAction.execute(ShowAllAction.java:20)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:497)
	ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:870)
	ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1293)
	ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:68)
	com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethodWithDebugInfo(XWorkMethodAccessor.java:117)
	com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethod(XWorkMethodAccessor.java:108)
	ognl.OgnlRuntime.callMethod(OgnlRuntime.java:1369)
	ognl.ASTMethod.getValueBody(ASTMethod.java:90)
	ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
	ognl.SimpleNode.getValue(SimpleNode.java:258)
	ognl.Ognl.getValue(Ognl.java:494)
	ognl.Ognl.getValue(Ognl.java:458)
	com.opensymphony.xwork2.ognl.OgnlUtil$2.execute(OgnlUtil.java:309)
	com.opensymphony.xwork2.ognl.OgnlUtil.compileAndExecute(OgnlUtil.java:340)
	com.opensymphony.xwork2.ognl.OgnlUtil.getValue(OgnlUtil.java:307)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:423)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:287)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:250)
	org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
	org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)





note The full stack trace of the root cause is available in the Apache Tomcat/8.0.28 logs.

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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