1.编写目的
为了学习,为了更好的学习java.
为了让想要学习这个整合的人少走弯路! ! !
希望这篇文字能够帮助到大家的java学习!!
2.实验环境
l MyEclipse6.5
l JBoss4.2.1
l SQL2005
l 数据库脚本程序
CREATE TABLE student (
id int(11) NOT NULL auto_increment,
name varchar(30) not-null,
password varchar(50) default NULL,
PRIMARY KEY (id)
);
初始设置用户名为:rush 密码为:123456
MyEclipse,SQL2005,JBOSS环境的搭建这里就不写了,估计大家应该很熟悉,最后会说一下Jboss的配置问题,不会的可以上网看一下,有很多这样的资料。
3.开始创建工程
打开MyEclipse,需要注意的是这里应该处于MyEclipse Java Enterprise视图;新建一个Web Project,输入适当的工程名字,这里我们输入ssh,其中J2EE Specification Level 选项中选择 Java EE 5.0,Finish即可。
确定之后MyEclipse会生成名为ssh的Web项目,其中生成的目录结构如下所示:
4.添加Struts1.2框架支持
在ssh工程上面右击,在弹出的菜单中选择MyEclipse -> Add Struts Capabilities…,添加Struts的支持。
在弹出的对话框中选择Struts 1.2,修改Base package for new classes成所需的包名,其余保持原状,Finish即可
完成后的结构为:
5.添加Spring2.0框架支持
在ssh工程上面右击,在弹出的菜单中选择MyEclipse -> Add Spring Capabilities…,添加Spring框架支持
由于Spring采取最小化库发布的方式,使得Spring的库文件彼此都是分离的,因而我们需要自己选择需要的库,需要引用的如下图:
选择好后Next,在窗口中选择Browse,选择ssh工程下面的WEB-INF文件夹,然后Finsh。
6.配置数据源
在MyEclipse右上角选择MyEclipse Database Explorer,打开数据库管理视图。
在左侧的DB Browser点击右键,选择New…,打开Database Driver对话框。
在Database Driver对话框中按照如下配置选择数据库驱动。首先选择Driver Template,在这里我们选择Microsoft SQL Server 2005。Driver Name是以后配置时使用的驱动名字,用以区分驱动,这里使用ssh即可。然后根据实际情况填写URL,User name和Password。点击Add JARs添加数据库驱动文件。为方便配置,可以选择Save password保存密码。配置完毕后Finish即可。
7.Spring与Hibernate的整合
当配置完数据源后,就可以添加Hibernate支持了。切换到MyEclipse Java Enterprise视图,在ssh工程上面右击,在弹出的菜单中选择MyEclipse -> Add Hibernate Capabilities…,添加Hibernate的支持。
我们选择Hibernate3.2,全部按照默认设置即可,然后点击Next;
说明:如果没有只添加第一项即可。
在对话框中选择Spring configuration file,表示我们希望将Hibernate托管给Spring进行管理,这是将Hibernate与Spring进行整合的基础。然后点击Next;
在出现的对话框中选择Existing Spring configuration file。因为我们已经添加了Spring的配置文件,所以这里选择的是已存在的配置文件。MyEclipse会自动找到存在的那个文件。然后在SessionFactory ID中输入Hibernate的mySessionFactory在Spring配置文件中的Bean ID的名字,这里我们输入sessionFactory即可。然后点击Next;
在出现的对话框中的Bean Id里面输入数据源在Spring中的Bean ID的名字,这里我们输入dataSource。然后在DB Driver里面选择我们刚刚配置好的ssh,MyEclipse会将其余的信息自动填写到表格里面。然后点击Next;
在出现的对话框中取消Create SessionFactory class。点击Finish即可。
此时MyEclipse会自动打开Spring的配置文件,文件内容为:
下图表示采用JDBC方式进行数据库的连接
下图表示使用JNDI进行数据库的连接
替换掉两个包,分别是和,将两个包拷贝到WEB-INF/lib下面即可,包存放地址(根目录下)
此时,切换到MyEclipse DataBase Explorer视图,右键打开数据库连接,在需要使用的数据表格上面点击右键,选择Hibernate Reverse Engineering...。这里我们使用刚刚建立在test数据库中添加的student表。
在打开的对话框中修改Java src folder为我们建立的/ssh/src,这里需要选择到src文件夹,并且需要填写Java package,这是MyEclipse生成的类所在的包,我们将其取名为student。然后选择Java Data Object,建立POJO类。然后选择Java Data Access Object。其中,POJO类是数据库表格所对应的Java类,JDO类是MyEclipse自动生成的对数据库的一些操作。这里会封装一些常用的操作,简化我们的编写。填写完成后点击Next。
在出现的对话框中选择ID Generator为native,然后点击Finish即可。
此时ssh项目的目录结构如下所示。其中的Student.Java是MyEclipse生成的使用面向对象的Java语言对数据库表格进行的抽象,Student.hbm.xml是将数据库表格中的字段和POJO类的属性进行映射的定义,StudentDAO.java封装了一些MyEclipse自动生成的对数据库的操作。
这时我们修改一下文件目录,使之更好的组织。我们建立一个dao包,将DAO类与POJO类分开。然后我们在struts包下面建立action和form包,用来管理Struts的Action和Form。为了将实现与接口进行解耦,我们建议在dao包下面添加接口,然后建立dao.impl包,将实际的DAO类放在这里。DAO类是直接与数据库打交道的类,为了对业务逻辑进行封装,我们将业务全部写在service类里面,和dao一样,我们先建立service包,里面添加业务接口,具体的实现放在service.impl里面。
下面开始配置工作:
(1)新建包,在包中新建接口,
接口实现的是对StudentDAO的封装,即封装用到的方法。本例中封装的方法为
(2)新建包,并且把StudentDAO.java拖进包中
修改StudentDAO方法声明为:
注意:当加上implements IStudentDAO 会提示错误,这是因为IStudentDAO包没有被引入,引入方法,鼠标点击SItudentDAO,按下Ctrl+1,选择第一项即可。
修改applicationContext.xml中路径错误信息,将class改成修改后的包路径com.guet.function.dao.impl.StudentDAO,修改正确后红色错误标识消失。
封装完毕后为
(3)下面开始进行servce的封装
新建包,在包中新建一个接口(interface,上面提到了),基本内容为,IStudentDAO中的方法名。
以后编程遇到别的方法,在继续封装。
(4)下面开始实现service中的方法
新建包,新建class
Interface选项中点击Add,如下
输入IStudentService,如图,点击OK即可
新建过程结束后点击Finish即可,如下图
此时会自动生成IStudentService中方法的框架,在框架中实现其具体方法即可
在文件中引入DAO的封装方法,并实现其getter和setter方法
,如果有错误提示,点击IStudentDAO,使用ctrl+1,选择第一项即可。
实现getter和setter方法,确定即可自动生成。。
最后配置为:
最终实现文件为:
(5)实现后台业务处理逻辑。
在web.xml添加spring监听
在WEB-INF下新建文件夹configXML,在configXML分别新建三个文件,分别为struts-config-student.xml(struts文件),applicationContext-student-actions.xml(action文件),applicationContext-student-beans.xml(bean文件),
其中struts-config-student.xml文件初始配置为:
applicationContext-student-actions.xml,applicationContext-student-beans.xml初始配置相同
说明:configXML下文件实质上是struts-config.xml和applicationContext.xml文件的分文件,分开放在一个单独的文件夹里面有利于在项目增大时的管理。
下面在web.xml中配置新建三个xml文件的路径
Struts路径为:
Spring路径为:
双击打开,点击OK即可,在空白处点击右键新建->Form,Action and JSP.
第一步是建立Form,名称为student,点击add添加要在页面上取的值名称。
点击下一步,修改配置如下
其中Parameter设置如下:
点击Finish完成。此时会生成action,form的包。
(6)配置文件
Struts文件修改,使其交给spring代理(家亮出为修改内容)
Actions文件配置,使其说明action具体的实现路径。
Beans文件配置,使其说明service,和dao文件的具体实现路径
(7)在index.jsp中实现如下页面
代码为:
在webroot新建
Hello.jsp代码为:
(8)在struts中配置跳转,在新建两个forword分别为:
全部实现为:
(9)在action中编写后台代码
具体的实现方法为:
方法调用了service中的loginQuery方法,此方法的具体实现为:
(注意:该方法是具体实现,调用的是其封装的方法,封装在中)
(10)配置jboss,在jboss中加入2个文件,分别是:sqljdbc.jar,mssql.xml,第一个文件放在目录下,第二个放在目录下,两个文件地址
9.啊,让看看我们工作是否有效
一个简单的登陆操作就算完成了,下面进行测试。
启动jboss后在浏览器输入如下:
输入用户名和密码,点击登陆,如果正确输入,显示如下:
否则显示:
好了,全部工作完成。