基于Struts+Hibernate开发过程中遇到的错误

在基于Struts和Hibernate的开发过程中遇到了多个问题,包括HttpServletRequest导入错误、JSP form标签报错、TagLibraryValidator加载失败、Tomcat内存泄露、MySQL连接拒绝以及Hibernate查询延迟。针对这些问题,解决方案包括清理项目、拷贝必要的jar文件、修改数据库用户权限、理解Hibernate Session的工作原理等。
摘要由CSDN通过智能技术生成
1.import  javax.servlet.http.HttpServletRequest 导入包出错
导入包出错,通常是包未引入,HttpServletRequest包是浏览器通过http发出的请求, 需要将tomcat/lib 目录下的 servlet-api.jar导入。但是导入后仍然不行,重启eclipse也无法让他生效
最后通过 project -clean来生效的

2.JSP界面中加入了form标签后就报错

解决办法:将tomcat/lib目录下的el-api,ecj-4.3.1jre拷贝过来了

3.使用<c:forEach>标签,报错 Failed to load or instantiate TagLibraryValidator class

首先在jsp界面开头添加文件
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
然后在工程目录下WEB-INF/lib目录下添加
servlet-api.jar和standard.jar

4.Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memo
每次启动tomcat,没有关闭就启动, tomcat报内存泄露。解决就是关闭Eclipse,重启电脑。之后每次启动tomcat都是关闭后再启动。

5.使用MySQL数据库。root作为连接名,连接一段时间后出现连接被拒绝的情况
默认root用户不支持远程控制,在mysql控制台更改了root权限,仍然不起作用。最后使用了 navicat(mysql 可视化工具)创建了一个新用户,重新配置连接。

6.数据库表a,前台向a表写入一条数据,立即查询,发现没有表a没有更新。而查看数据库服务器中的表a,数据已经更新。但在myeclipse中重新连接数据库后。再查询时,数据得到更新。
查询方法是使用hibernate自动生成的dao
public List findByProperty(String propertyName, Object value) {
log.debug("finding Product instance with property: " + propertyName
+ ", value: " + value);
try {
String queryString = "from Product as model where model."
+ propertyName + "= ?";
Query queryObject = getsession().createQuery(queryString);
queryObject.setParameter(0, value);
return queryObject.list();
} catch (RuntimeException re) {
log.error("find by property name failed", re);
throw re;
}
}

问题就是出现在session上。
hibernate框架操作数据库是通过org.hibernate.Session来实现的。而Session是由org.hibernate.SessionFactory来管理的。
Configuration conf=new Configuration().configure();//需要每次重新创建配置连接
org.hibernate.SessionFactory sessionFactory=conf.buildSessionFactory();
Session session=sessionFactory.openSession();

而自动生成的dao文件中getsession()方法中只有
public class BaseHibernateDAO implements IBaseHibernateDAO {
public Session getSession() {
return HibernateSessionFactory.getSession();
}
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

方丈的寺院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值