Myeclipse8SSH配置.docx
- 文档编号:16913809
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:28
- 大小:657.26KB
Myeclipse8SSH配置.docx
《Myeclipse8SSH配置.docx》由会员分享,可在线阅读,更多相关《Myeclipse8SSH配置.docx(28页珍藏版)》请在冰豆网上搜索。
Myeclipse8SSH配置
1SSH配置
1.1创建SSH应用
1.1.1创建WEB应用
1.1.2添加Struts2特性
添加时选择Struts2.1。
要选择上面的两个Libraries。
1.1.3添加Spring3
选择Spring3AOPLibrary、Spring3CoreLibrary、Spring3WebLibrary。
将applicationcontext.xml保存到src目录(默认),取消允许AOPBuilder选项。
1.1.4JDBC数据库连接
拷贝JDBC驱动程序到web-inf/lib,刷新工程。
使用MyEclipseDatabaseExplorer透视图来配置数据库连接。
配置JDBC驱动程序参数,并且选中“Savepassword”。
最后可以使用“TestDriver”测试连接是否成功。
1.1.5添加Hibernate
添加Hibernate3.3,选择所有Spring库。
整合Hibernate配置到Spring。
将配置保存到Spring配置文件中。
使用已存在的Spring配置文件。
选择数据库连接。
在“DBDriver”中选择之前配置的数据库连接,如果使用MySQL数据库则Dialect必须选择“MySQL”。
不要创建HibernateSessionFactory(使用Spring集成SessionFactory实现)。
1.1.6Jar包冲突解决方案
向导结束后,由于Struts2、Hibernate和Spring的包的版本有冲突,需要重新设置。
删除向导的Jar配置
从工程的属性面板中选择“JavaBuildPath”,将所有Struts2、Spring、Hibernate的库全部删除。
将提供的EShopping例子解压,将WEB-INF/lib目录下所有jar包拷贝到工程的WEB-INF/lib目录下即可。
有冲突的jar包在EShopping中已经手工删除了。
最后在项目上右键菜单中选择“Refresh”即可,现在就完成了SSH项目框架的搭建。
1.2配置
1.2.1Web.xml
向Web.xml中增加如下配置信息。
--
SpringApplicationContext配置文件的路径,可使用通配符,此参数用于后面的Spring-Contextloader
-->
--SpringApplicationContext载入-->
--Spring刷新Introspector防止内存泄露-->
--CharacterEncodingfilter,必须要放在所有Filter最前面-->
--HibernateOpenSessioninViewFilter-->
--必须要放在Struts2Filter前面-->
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
--session超时定义,单位为分钟-->
在web.xml中增加Spring侦听器;增加Encoding过滤器;Hibernate过滤器;Struts配置;Session配置。
FixOpenSessionInViewFilter
mon.filter.FixOpenSessionInViewFilter需要自已编写,这是一个Filter。
在EShopping中已提供。
1.2.2Struts与Spring集成
struts.xml初始配置
--Struts2标签外观设置-->
--struts2委托spring管理-->
--struts2缺省配置-->
1.2.3Spring配置文件
Spring配置文件分成三个,分别命名为:
其中applicationContext.xml存放Hibernate配置,这个是自动生成。
applicationContext-service.xml存放Service类配置,需手动维护。
applicationContext-action.xml存放Struts的Action配置,需手动维护。
applicationContext-service.xml和applicationContext-action.xml的初始内容是:
xmlversion="1.0"encoding="UTF-8"?
>
xmlns="http: //www.springframework.org/schema/beans" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xmlns: p="http: //www.springframework.org/schema/p" xsi: schemaLocation="http: //www.springframework.org/schema/beanshttp: //www.springframework.org/schema/beans/spring-beans-3.0.xsd">
2开发过程
2.1准备数据库表
将数据库表准备好
registeruser(userid,username,loginname,sex,password,card,email,address,regtime,state)
和EShopping中表一样,只是没有Order、Leaveword两个字段。
使registeruser表为单独的表。
2.2Hibernate代码生成
反向生成Hibernate的PO和DAO,并直接与Spring集成。
打开Hibernate透视图,并打开数据库连接。
可一次选中所有需生成的表进行生成。
在选中表上右键显示菜单,选择“HibernateReverseEngineering…”显示向导。
如界面设置,其中“Javasrcfolder”选成自已放置生成代码的工程和包的位置。
如界面设置。
由于数据库中主键都是自增长主键,因此ID生成选成“native”。
完成向导后会自动生成映射文件、POJO、SprintDAO。
并且在applicationContext.xml中加入了RegisteruserDAO的Spring配置。
2.3Spring开发
Spring的配置分成多个文件,Spring使用applicationContext-service.xml。
创建RegisteruserService类,并在applicationContext-service.xml中配置。
2.3.1applicationContext-service.xml
xmlversion="1.0"encoding="UTF-8"?
>
//www.springframework.org/schema/beans" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xmlns: p="http: //www.springframework.org/schema/p" xsi: schemaLocation="http: //www.springframework.org/schema/beanshttp: //www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 2.3.2RegisteruserService publicclassRegisteruserService{ /* *Spring注入的DAO */ privateRegisteruserDAOregisteruserDAO; publicRegisteruserDAOgetRegisteruserDAO(){ returnregisteruserDAO; } publicvoidsetRegisteruserDAO(RegisteruserDAOregisteruserDAO){ this.registeruserDAO=registeruserDAO; } /* *根据主键ID查找对象 */ publicRegisteruserloadRegisteruser(Integerid){ returnregisteruserDAO.findById(id); } /* *执行新增对象或修改对象的保存操作 */ publicvoidsaveRegisteruser(Registeruserregisteruser){ registeruserDAO.merge(registeruser); } /* *根据主键ID删除数据库中对象 */ publicvoidremoveRegisteruser(Integerid){ registeruserDAO.delete(registeruserDAO.findById(id)); } /* *按条件查询和分页支持 * *根据会员姓名执行模糊匹配查找,通过Page对象执行分页。 * *@loginName: 会员登录账号 *@page: 分页对象 * */ publicList Object[]params=null; //创建HQL查询语句 StringselectHql=null; if((loginName==null)||(loginName.equals(""))){ selectHql="fromRegisteruser"; }else{ selectHql="fromRegisteruserasrwherer.loginnamelike'%"+loginName+"%'"; } //创建获取HQL返回记录总行数语句 StringcountHql="selectcount(*)"+selectHql; //执行按条件查询和分页支持 List returnuserList; } /* *会员前台网站登录验证 *会员必须要处于“启用”状态下才能登录 */ publicRegisteruserlogin(Stringusername,Stringpassword){ Stringhql="fromRegisteruserasvipwherevip.loginname=? andvip.password=? andvip.state='启用'"; Object[]params=newObject[]{username,password}; List if(userList! =null&&userList.size()>=1){ returnuserList.get(0); } returnnull; } } 2.4Struts开发 Struts2开发涉及到Action类、struts.xml、applicationContext-action.xml。 2.4.1applicationContext-action.xml Action类要配置到applicationContext-action.xml中。 2.4.2Action类 publicclassVipAction{ /*-------------------------------------------------------------- * *Spring注入服务 * *-------------------------------------------------------------- */ privateRegisteruserServiceregisteruserService; publicRegisteruserServicegetRegisteruserService(){ returnregisteruserService; } publicvoidsetRegisteruserService(RegisteruserServiceregisteruserService){ this.registeruserService=registeruserService; } /*--------------------------------------------------------------- * *界面参数,需要对应的get/set方法 * *-------------------------------------------------------------- */ //对单个对象操作时表示对象的唯一性标识(数据库主键) privateIntegerid; //对一组对象操作时表示所选对象的唯一性标识(数据库主键),并自动生成数组 privateInteger[]ids; privateRegisteruserregisteruser; publicIntegergetId(){ returnid; } publicvoidsetId(Integerid){ this.id=id; } publicInteger[]getIds(){ returnids; } publicvoidsetIds(Integer[]ids){ this.ids=ids; } publicRegisterusergetRegisteruser(){ returnregisteruser; } publicvoidsetRegisteruser(Registeruserregisteruser){ this.registeruser=registeruser; } /*----------------------------------------------------------------- * *增删查改处理 * *---------------------------------------------------------------- */ //新增和编辑的数据读取操作 publicStringload()throwsException{ if(id==null){ return"success"; } registeruser=registeruserService.loadRegisteruser(id); return"success"; } //新增和编辑的数据保存操作 publicStringsave()throwsException{ if((registeruser.getRegtime()==null) ||(registeruser.getRegtime().equals(""))){ registeruser.setRegtime(newTimestamp(System.currentTimeMillis())); } registeruserService.saveRegisteruser(registeruser); return"success"; } //删除数据操作 publicStringremove()throwsException{ for(inti=0,size=ids.length;i registeruserService.removeRegisteruser(ids[i]); } return"success"; } /*-------------------------------------------------------------------- * *综合查询
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Myeclipse8SSH 配置