今天按照MyEclipse Hibernate and Spring Tutorial上讲的在MyEclipse里试着用Hibernate和Spring。首先是感觉用MyEclipse生成DAO部分的代码简直是太方便了,但马上就发现了一个问题:数据库里并没有写入新记录,但运行测试时却检查不出来。
感觉这个问题比较蹊跷,在Google上搜索后得知是Hibernate没有提交事务,最简单的解决方法是打开Hibernate的自动提交功能,也就是在hibernate.cfg.xml文件中的session-factory结点中加入:
<property name="connection.autocommit">true</property>
再次测试后,数据库果真发生了变化。
Hibernate的这个特性让我想到了一个好处,就是可以在开发阶段关闭自动提交的功能,这样每次运行测试就不会真正地向数据库里写入数据,这样会使得对数据库操作的测试变得更方便一些。
September 22nd, 2008
Woody
对于JSP的中文乱码问题,前面提到了两种解决方案,一种是通过byte数组来间接实现字符串的编码转换,另一种方法是先设置Request对象的编码,再用Request的getParameter方法取得参数。总之,都要在Servlet代码中处理。这样就带来了一些问题,如果应用程序中有大量的Servlet,则这些代码要在每一个Servlet中出现,每写一个Servlet都要先做这些繁琐的工作;另一个问题是,对于直接用表单发送给JSP页面的变量,这两种方法就不管用(或者说不好用,因为可以通过在JSP中嵌入Java代码来达到同样的目的)了。例如下面的表单,它将一个用户名发送给result.jsp显示: Read more…
September 22nd, 2008
Woody
今天遇到大名鼎鼎的JSP中文乱码问题了。只写了三个文件,一个HTML表单,一个Servlet,一个JSP显示页面。HTML表单将一个字符串送给Servlet,Servlet再把这个字符串送给JSP页面显示。如果字符串中有中文字符,乱码就出现了。 Read more…
September 22nd, 2008
Woody
Head First的Servlets&JSP中不提倡刚学写Servlet、JSP时就使用Eclipse、NetBeans那样的集成开发环境,最好在命令行编译。我倒是一直照做的,另外Linux上的命令行用起来也确实很方便。最近接触了一下struts,这才发现在命令行下一个一个地编译文件实在是太痛苦了,但又不想用Eclipse,毕竟还没有工作,还是想尝些新鲜的。所以就想到了Ant。上网看了一堆文章,现学现用,写了一个令自己比较满意的 build.xml。 Read more…