站内搜索

intellij idea开发struts+hibernate流程

原帖及讨论:http://bbs.bccn.net/thread-237246-1-1.html

相信很少有人用intellij idea这个IDE的,不过我很喜欢,我感觉用它写代码真的很享受。
不过这玩样第一次上手还是比较困难的,我耐着性子摸了n久才用顺手的。
给想用intellij idea的朋友一些参考。
以一个struts+hibernate的小例子来说下开发流程。

先看下需求:
search页面,提供输入框输入用户名或编码来查询用户。
ActionForm作为传输类,传输search里的输入的信息。
Action对输入的信息做出处理,这里是查找数据库,来查找是否有此人。处理结束后还是跳转到search页面,显示结果。
另外一个属性文件来配置struts的信息。

Employee类是bean,供hibernate使用。
EmployeeDAO对应的DAO类。
Action就是调用EmployeeDAO来处理请求的。

intellij idea没有可视化页面,基本全部靠手写。不过只要你清楚你要做什么,它会给你很清楚的帮助。

首先建立项目,file->new project ,会弹出导航,应该都能看懂,在该输入项目名的地方输入项目名即可。在里面有一处会要求选择框架支持,选择struts和hibernate即可。
选择完后,它会提示添加需要的jar,默认是从网络下载,你可以点旁边的fix,从硬盘里给添加进去。完成后就如下所示了。

 

在开发之前,先配置一个DataSource供hibernate使用。用处后面再说。在tools里面有个datasource,弹出框,然后添加一个数据源,这里用的mysql,添加完测试一下即可,参见下图。
图二

 

然后开始正式开发,首先写写search.jsp页面吧。流程和eclipse没什么区别,右键点击目录,新建jsp即可,只要输入名字,确定就可以了。然后就可以写代码了,自己体会一下idea的提示功能吧。这里可能要改个快捷键,eclipse和netbeans应该都是要改的,就是ctrl+space键,我是改成了alt+.,它比ec和nb的提示功能可牛逼很多,自己体会吧。代码看附件吧。值得一提的是,idea对jsp的支持就像对java的支持一样的好,同样的ctrl+/是注释,alt+.是提示。

写完之后会发现有很多的红字提示错误。怎么处理?首先看第一个/search,这是因为form要提交到/search去,但是你并没有创建这个/search,怎么办?很简单,鼠标点中,alt+enter.然后再一个回车,看看效果...警告消失了,再到struts-config.xml文件里看看多了什么吧。对于两个key所报的错误,首先要建立一个properties文件,随便起个名字,放src目录下,然后同样的alt+enter,idea会自动找到属性文件,输入属性值即可。
图三

 

对于name和ssNum,是因为没有对应的ActionForm。新建一个class,SearchForm输入代码,代码见附件。遇到警告先按alt+enter....写完之后,在window里面找struts Assistant,右键点击创建新的form bean,在type里选择新建的SearchForm,name自己取个吧。然后在ActionMapping里面,name属性选择刚才配置的FormBean即可。再回到jsp页面,警告都消失了。

接着写Action处理类(附件),EmployeeDAO,Employee这些都是基本类,不多说。善用快捷键即可。alt+insert是插入功能。
在EmployeeDAO里面,使用了hibernate,里面有这一句Query q = session.createQuery("SELECT e FROM Employee e WHERE e.name = :name");,里面的sql不是以普通字符串显示的,这是idea对plsql的语法支持。如果出错会有警告。

图四

 

 

下面开始hibernate,右击项目,Module Settings。如下配置即可。刚才的DataSource就是在这里使用的。

图五

 

然后在hibernate.cfg.xml文件里面配置一下数据库,这里可能没有myeclipse方便,或者我没找到用法。然后新建Employee.hbm.xml文件,配置即可,由于刚才配置了DataSource,记不得名字就alt+.就行了。这样整个程序就搞定了。

 
虽然看起来好像比较繁琐,也没有太多的帮你生成文件,但是一切都在你的掌控之中。他在整个过程中只是个辅助而已,不过却是个很好的助手。

然后部署就可以了。部署就不说了,网上有讲。

源代码:Idea.tar.gz

 

  • 上一篇:自己写个简单的IOC容器
  • 下一篇:源码分享(适合J2EE初学者):JSP开发一个表单的登录验证的例子