Myeclipse8SSH配置.docx

上传人:b****2 文档编号:890896 上传时间:2023-04-30 格式:DOCX 页数:28 大小:657.26KB
下载 相关 举报
Myeclipse8SSH配置.docx_第1页
第1页 / 共28页
Myeclipse8SSH配置.docx_第2页
第2页 / 共28页
Myeclipse8SSH配置.docx_第3页
第3页 / 共28页
Myeclipse8SSH配置.docx_第4页
第4页 / 共28页
Myeclipse8SSH配置.docx_第5页
第5页 / 共28页
Myeclipse8SSH配置.docx_第6页
第6页 / 共28页
Myeclipse8SSH配置.docx_第7页
第7页 / 共28页
Myeclipse8SSH配置.docx_第8页
第8页 / 共28页
Myeclipse8SSH配置.docx_第9页
第9页 / 共28页
Myeclipse8SSH配置.docx_第10页
第10页 / 共28页
Myeclipse8SSH配置.docx_第11页
第11页 / 共28页
Myeclipse8SSH配置.docx_第12页
第12页 / 共28页
Myeclipse8SSH配置.docx_第13页
第13页 / 共28页
Myeclipse8SSH配置.docx_第14页
第14页 / 共28页
Myeclipse8SSH配置.docx_第15页
第15页 / 共28页
Myeclipse8SSH配置.docx_第16页
第16页 / 共28页
Myeclipse8SSH配置.docx_第17页
第17页 / 共28页
Myeclipse8SSH配置.docx_第18页
第18页 / 共28页
Myeclipse8SSH配置.docx_第19页
第19页 / 共28页
Myeclipse8SSH配置.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Myeclipse8SSH配置.docx

《Myeclipse8SSH配置.docx》由会员分享,可在线阅读,更多相关《Myeclipse8SSH配置.docx(28页珍藏版)》请在冰点文库上搜索。

Myeclipse8SSH配置.docx

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

-->

contextConfigLocation

/WEB-INF/classes/application*.xml

--SpringApplicationContext载入-->

org.springframework.web.context.ContextLoaderListener

--Spring刷新Introspector防止内存泄露-->

org.springframework.web.util.IntrospectorCleanupListener

--CharacterEncodingfilter,必须要放在所有Filter最前面-->

encodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

GBK

encodingFilter

*

--HibernateOpenSessioninViewFilter-->

--必须要放在Struts2Filter前面-->

hibernateOpenSessionInViewFilter

mon.filter.FixOpenSessionInViewFilter

hibernateOpenSessionInViewFilter

*

struts2CleanupFilter

org.apache.struts2.dispatcher.ActionContextCleanUp

struts2CleanupFilter

*

struts2Filter

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2Filter

*

--session超时定义,单位为分钟-->

30

 

在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:

分页对象

*

*/

publicListsearchRegisteruser(StringloginName,PageBeanpage){

Object[]params=null;

//创建HQL查询语句

StringselectHql=null;

if((loginName==null)||(loginName.equals(""))){

selectHql="fromRegisteruser";

}else{

selectHql="fromRegisteruserasrwherer.loginnamelike'%"+loginName+"%'";

}

//创建获取HQL返回记录总行数语句

StringcountHql="selectcount(*)"+selectHql;

//执行按条件查询和分页支持

ListuserList=PageService.searchByPage(selectHql,countHql,params,page,registeruserDAO);

returnuserList;

}

/*

*会员前台网站登录验证

*会员必须要处于“启用”状态下才能登录

*/

publicRegisteruserlogin(Stringusername,Stringpassword){

Stringhql="fromRegisteruserasvipwherevip.loginname=?

andvip.password=?

andvip.state='启用'";

Object[]params=newObject[]{username,password};

ListuserList=registeruserDAO.getHibernateTemplate().find(hql,params);

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";

}

/*--------------------------------------------------------------------

*

*综合查询

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2