MyEclipsessh丰富版.doc

上传人:wj 文档编号:2111722 上传时间:2023-05-02 格式:DOC 页数:11 大小:248.50KB
下载 相关 举报
MyEclipsessh丰富版.doc_第1页
第1页 / 共11页
MyEclipsessh丰富版.doc_第2页
第2页 / 共11页
MyEclipsessh丰富版.doc_第3页
第3页 / 共11页
MyEclipsessh丰富版.doc_第4页
第4页 / 共11页
MyEclipsessh丰富版.doc_第5页
第5页 / 共11页
MyEclipsessh丰富版.doc_第6页
第6页 / 共11页
MyEclipsessh丰富版.doc_第7页
第7页 / 共11页
MyEclipsessh丰富版.doc_第8页
第8页 / 共11页
MyEclipsessh丰富版.doc_第9页
第9页 / 共11页
MyEclipsessh丰富版.doc_第10页
第10页 / 共11页
MyEclipsessh丰富版.doc_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MyEclipsessh丰富版.doc

《MyEclipsessh丰富版.doc》由会员分享,可在线阅读,更多相关《MyEclipsessh丰富版.doc(11页珍藏版)》请在冰点文库上搜索。

MyEclipsessh丰富版.doc

MyEclipse8.5开发SSH(Struts2+Spring+Hibernate)示例-完整丰富版

虽然已经有很多文章介绍整合Struts2,、Spring2.5、Hibernate3.1来开发基于WebProject项目的过程,但是里边有很多细节描述不是很清楚,对初学者造成了很大的困扰,特别是测试运行后出现很多不知所以然的错误,往往并不是程序本身错误造成的,而是配置细节出现的问题,这里将每个过程及配置中需要注意的细节一一说明,希望大家在初学的道路上走的更加平坦。

(一)创建WebProject

这个过程很简单,通过MyEclipse8.5的创建向导逐步完成就可以了,建议JAVA支持方面选择JAVAEE5.0这个版本。

在创建WebProject之前最好规划好项目的目录结构,这里有两个地方需要考虑目录结构,一个是WebRoot下,这里存放的都是项目表示层的程序及文档,即JSP、javascript、CSS、图片及浏览器可访问的内容,可以按照项目功能模块分配目录;另一个是src下,这里存放的是struts2、spring、hibernate的配置文件,JAVA程序等,JAVA程序按照包分类管理,最好struts2的action程序放一个包,hibernate的DAO放一个包,HibernateFactory放一个包,每个包下也可以按照模块再分包管理。

(二)建立MySql数据库

通过MySql的管理工具创建一个数据库,并且记住数据库的访问URL,用户名,密码,确定数据库各个表的名字,字段等,这个设计最好在系统详细设计阶段,因为在项目开发过程中修改数据库结构会给开发进程造成很大影响。

利用MyEclipse的DbBrowser可以连接到该项目对应的数据库,随时查看数据库的结构及记录,具体操作见MyEclipse8.5IDE,这里不再赘述。

(三)引入Spring2.5

l将鼠标定位到WebProject项目名称上,单击右键,依次选择菜单MyEclipse->AddSpringCapabilities。

l选择“Spring2.5AOP”,“Spring2.5Core”,“Spring2.5PersistenceCore”,“Spring2.5PersistenceJDBC”,“Spring2.5Web”等库;

l配置Spring配置文件存放路径及名称,都采用缺省配置即可,配置文件存放在src目录下,配置文件名称为applicationContext.xml;

(四)引入Hibernate3

l将鼠标定位到WebProject项目名称上,单击右键,依次选择菜单MyEclipse->AddHibernateCapabilities。

l选择Hibernate3.1,其他项缺省即可。

l点击“Next”按钮,设置配置文件存放位置及名称,选择新建一个配置文件,都用系统给出的缺省值即可。

l点击“Next”按钮,进入数据库连接配置界面,选择一个已经配置好的DBDriver,其他项都缺省选择。

l点击“Next”按钮,进入“HibernateSessionFactory”创建窗口,这里设置一下“JavaPackage”即是前面规划好的目录名称,点击“new”创建包,建议取名为xxx.xxxx.hibernate。

l创建POJO映射

n打开DBBrower,选择目标数据库的某个表xxx;

n单击右键,选择菜单“HibernateReverseengineering”,按照上图所示选择各项配置;

n单击“Next”按钮,选择数据库的主键生成器,这个是必选项;

n一路点击“Next”按钮下去,系统会自动生成xxxDAO.java(对应数据库表的JAVA文件),xxx.java(对应数据记录的JAVA文件),还有其他抽象类JAVA文件

(五)测试Spring和Hibernate的整合

经过上面两个引入环节,Spring已经和Hibernate整合在了一起,下面就使用MyEclipse的File->New->Class编写一个Java测试代码来测试整合操作是否正确,实例代码如下:

packagecom.crazyicelee.test;

importorg.springframework.beans.BeansException;

importorg.springframework.context.ApplicationContext;

importorg.springframework.context.support.FileSystemXmlApplicationContext;

importcom.crazyicelee.dao.User;

importcom.crazyicelee.dao.UserDAO;

/**

*@authorcrazyicelee

*

*/

publicclasstest{

/**

*@paramargs

*/

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

try{

//下面两句获取上下文及hibernate的数据模型对象DAO

ApplicationContextctx=newFileSystemXmlApplicationContext("G:

\\myself\\MyEclipse\\S2SHTest\\src\\applicationContext.xml");

UserDAOuserDAO=(UserDAO)ctx.getBean("UserDAO");

Useru=newUser();

u.setName("111");

u.setCity("w");

u.setCountry("sss");

u.setCreditLimit(newInteger(10));

userDAO.save(u);

}catch(BeansExceptione){

System.out.println(e.getMessage());

}

catch(Exceptionee){

System.out.println(ee.getMessage());

}

}

}

配置JavaConsole运行环境,并运行,调试上面代码,如果报错,可以检查错误信息,一般是某个Spring库没有包含进来,可以通过“Properties”的“JavaBuildPath”的“Libraries”添加,如果运行不再报错,则查看数据库应该已经成功写入数据,说明Spring和Hibernate整合成功。

(六)整合Struts2

l将鼠标定位到WebProject项目名称上,单击右键,依次选择菜单MyEclipse->AddStrutsCapabilities。

l修改配置文件存放路径及名称,通常存放在src目录下,配置文件名称为struts.xml,并选择Struts版本为Struts2.1,选择Struts2的URL模板为/*使得所有请求都通过Struts2管理,当然后续会把一部分请求托管给Spring容器。

l选择Struts2支持库,至少包含“Struts2Core”,“Struts2Spring”;

l利用MyEclipse的File->New->Class创建Action代码,选择基类为ActionSupport,并设定包名称,系统会生成一个简单的程序框架,在程序编辑区单击鼠标右键,选择Source->Override/ImplementMethods,选择要重置的方法,至少要实现execute(),在这个方法中编写逻辑处理代码。

具体代码编写规则及方法参考Action程序编写的有关教程。

这里重点强调整合Struts2和Spring时要添加的代码:

n将xxxDAO作为Spring要注入的属性添加到Action里边,本实例中将UserDAO作为Action的私有属性添加进来,并配置Bean的getter/setter方法;

n配置其他Action属性及getter/setter方法;

n实例代码如下:

packagecom.crazyicelee.action;

importjava.util.List;

importcom.crazyicelee.dao.User;

importcom.crazyicelee.dao.UserDAO;

importcom.opensymphony.xwork2.ActionSupport;

/**

*@authorcrazyicelee

*

*/

publicclassListUserextendsActionSupport{

privateUserDAOuserDAO;//Spring注入的DAOBean对象

privateListusers;

/*(non-Javadoc)

*@seecom.opensymphony.xwork2.ActionSupport#execute()

*/

@SuppressWarnings("unchecked")

@Override

publicStringexecute()throwsException{

//TODOAuto-generatedmethodstub

users=userDAO.findAll();

returnsuper.execute();

}

/**

*@paramuserDAOtheuserDAOtoset

*/

publicvoidsetUserDAO(UserDAOuserDAO){

this.userDAO=userDAO;

}

/**

*@returntheuserDAO

*/

publicUserDAOgetUserDAO(){

returnuserDAO;

}

/**

*@paramuserstheuserstoset

*/

publicvoidsetUsers(Listusers){

this.users=users;

}

/**

*@returntheusers

*/

publicListgetUsers(){

returnusers;

}

}

l配置struts.xml,配置方法参考相关文章

(七)整合Struts2和Spring

这一步整合是最为麻烦的,因为到目前为止MyEclipse8.5M1的版本还不支持可视化自动配置,而是需要手动修改配置文件完成配置,这里有一个基本原则,就是Spring将接管一部分Struts2的Action,即凡是需要通过Hibernate访问数据的Action都需要Spring接管,其他不需要通过DAO存取数据的就不需要托管给Spring。

nSpring配置文件applicationContext.xml的修改,这里需要告诉Spring要托管的Action及属性,每个Action就是一个Bean,也就是向配置文件中添加一个Bean声明,代码如下:

其中:

id的值是对应到struts2配置文件struts.xml中的Action标签中的class属性;

class的值是实现这个Action的具体类名称。

上面配置文件说明了将一个DAO注入到一个Action体内,也就是完成了数据存取对象初始化工作,在Action里边就可以直接使用这个DAO对象进行相应的操作。

nStruts2配置文件struts.xml修改,首先添加一个全局常量,告诉Action由Spring托管,其次修改被Spring托管的Action的class,将原来单纯Struts2管理的完全类名称改为Spring的相应Bean的id值(这点非常重要,否则运行出错),代码如下:

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""http:

//struts.apache.org/dtds/struts-2.1.dtd">

--struts2委托Spring管理-->

/index.jsp

/login.jsp

nWeb服务器配置文件Web.xml修改,这里要告诉在web服务启动的时候启用Spring监听器和过滤器,从而优先在struts2之前接管有关Action,配置文件如下:

xmlversion="1.0"encoding="UTF-8"?

>

xmlns:

xsi="http:

//www.w3.org/2001/XMLSchema-instance"

xsi:

schemaLocation="

--配置Spring监听器-->

contextConfigLocation

/WEB-INF/classes/applicationContext.xml

org.springframework.web.context.ContextLoaderListener

--配置openSessionInViewFilter,必须在Struts监听之前-->

lazyLoadingFilter

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter

index.jsp

struts2

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

lazyLoadingFilter

*.action

struts2

/*

上面标红的部分是添加的,注意前后的顺序不能颠倒。

n添加Struts2Spring支持库,通过JavaBuildPath的Libraries添加这个库,如果缺少这个库,则加载web.xml时出错,致使服务器不能启动。

(八)编写JSP代码

这个JSP代码是Action后调用的页面,将把Action获取的数据显示在浏览器端,代码如下:

<%@pagelanguage="java"import="java.util.*"pageEncoding="GB18030"%>

<%@tagliburi="/struts-tags"prefix="s"%>

<%

Stringpath=request.getContextPath();

StringbasePath=request.getScheme()+":

//"+request.getServerName()+":

"+request.getServerPort()+path+"/";

%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

">

MyJSP'index.jsp'startingpage

iteratorid="listUser"value="users">

姓名:

propertyvalue="name"/>

国家:

propertyvalue="country"/>

城市:

propertyvalue="city"/>

信用额度:

propertyvalue="creditLimit"/>

iterator>

(九)部署运行

利用MyEclipse8.5M1的部署工具将这个项目部署到Resin服务器上,注意在服务器启动前删除一个Spring和Hibernate冲突的Jar包(/WEB-INF/lib下的asm-2.2.3.jar),然后启动Resin,在浏览器上打开http:

//localhost:

8080/S2SHLee/mystruts/ListUser.action就可以看到这个WebProject运行的效果了,至此,所有配置编码工作顺

利完成。

免费共享资源,从我做起!

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

当前位置:首页 > 初中教育 > 政史地

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

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