基于MyEclipse的SSH整合.docx

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

基于MyEclipse的SSH整合.docx

《基于MyEclipse的SSH整合.docx》由会员分享,可在线阅读,更多相关《基于MyEclipse的SSH整合.docx(32页珍藏版)》请在冰点文库上搜索。

基于MyEclipse的SSH整合.docx

基于MyEclipse的SSH整合

基于MyEclipse的SSH整合

实验环境

MyEclipse6.5

Tomcat5.5.26

MySQL5.0

 

数据库脚本程序:

CREATETABLEuser(

      idint(11)NOTNULLauto_increment,

      usernamevarchar(50)defaultNULL,

      passwordvarchar(50)defaultNULL,

      PRIMARYKEY(id)

);

INSERTINTOuserVALUES(1,'admin','admin');

环境的搭建这里就不写了,估计大家应该很熟悉,不会的可以上网看一下,有很多这样的资料。

 

开始创建工程

打开MyEclipse,需要注意的是这里应该处于MyEclipseJavaEnterprise视图;新建一个WebProject,输入适当的工程名字,这里我们输入ssh,Finish即可。

 

确定之后MyEclipse会生成名为SSH的项目,其中生成的目录结构如下所示:

 

 

 

 

4.添加Struts1.2框架支持

在ssh工程上面右击,在弹出的菜单中选择MyEclipse->AddStrutsCapabilities…,添加Struts的支持。

 

 

在弹出的对话框中选择Struts1.2,修改Basepackagefornewclasses成所需的包名,其余保持原状,Finish即可

完成后的结构为:

5.添加Spring2.0框架支持

在ssh工程上面右击,在弹出的菜单中选择MyEclipse->AddSpringCapabilities…,添加Spring框架支持

 

由于Spring采取最小化库发布的方式,使得Spring的库文件彼此都是分离的,因而我们需要自己选择需要的库,需要引用的如下图:

选择好后Next,在窗口中选择Browse,选择ssh工程下面的WEB-INF文件夹,然后Finsh。

 

6.配置数据源

在MyEclipse右上角选择MyEclipseDatabaseExplorer,打开数据库管理视图。

 

在左侧的DBBrowser点击右键,选择New…,打开DatabaseDriver对话框。

 

 

在DatabaseDriver对话框中按照如下配置选择数据库驱动。

首先选择DriverTemplate,在这里我们选择MySQL。

DriverName是以后配置时使用的驱动名字,用以区分驱动,这里使用MySQL即可。

然后根据实际情况填写URL,Username和Password。

点击AddJARs添加数据库驱动文件。

为方便配置,可以选择Savepassword保存密码。

配置完毕后Finish即可。

 

7.Spring与Hibernate的整合

当配置完数据源后,就可以添加Hibernate支持了。

切换到MyEclipseJavaEnterprise视图,在ssh工程上面右击,在弹出的菜单中选择MyEclipse->AddHibernateCapabilities…,添加Hibernate的支持。

我们选择Hibernate3.2,全部按照默认设置即可,然后点击Next;

 

在对话框中选择Springconfigurationfile,表示我们希望将Hibernate托管给Spring进行管理,这是将Hibernate与Spring进行整合的基础。

然后点击Next;

 

在出现的对话框中选择ExistingSpringconfigurationfile。

因为我们已经添加了Spring的配置文件,所以这里选择的是已存在的配置文件。

MyEclipse会自动找到存在的那个文件。

然后在SessionFactoryID中输入Hibernate的SessionFactory在Spring配置文件中的BeanID的名字,这里我们输入sessionFactory即可。

然后点击Next;

 

在出现的对话框中的BeanId里面输入数据源在Spring中的BeanID的名字,这里我们输入dataSource。

然后在DBDriver里面选择我们刚刚配置好的ssh,MyEclipse会将其余的信息自动填写到表格里面。

然后点击Next;

 

在出现的对话框中取消CreateSessionFactoryclass。

点击Finish即可。

 

此时MyEclipse会自动打开Spring的配置文件,文件内容为:

此时,切换到MyEclipseDataBaseExplorer视图,右键打开数据库连接,在需要使用的数据表格上面点击右键,选择HibernateReverseEngineering...。

这里我们使用刚刚建立在test数据库中添加的user表。

  

 

在打开的对话框中修改Javasrcfolder为我们建立的/ssh/src,这里需要选择到src文件夹,并且需要填写Javapackage,这是MyEclipse生成的类所在的包,我们将其取名为user。

然后选择JavaDataObject,建立POJO类。

然后选择JavaDataAccessObject。

其中,POJO类是数据库表格所对应的Java类,JDO类是MyEclipse自动生成的对数据库的一些操作。

这里会封装一些常用的操作,简化我们的编写。

填写完成后点击Next。

 

 

在出现的对话框中选择IDGenerator为native,然后点击Finish即可。

 

此时ssh项目的目录结构如下所示。

其中的User.Java是MyEclipse生成的使用面向对象的Java语言对数据库表格进行的抽象,User.hbm.xml是将数据库表格中的字段和POJO类的属性进行映射的定义,UserDAO.java封装了一些MyEclipse自动生成的对数据库的操作。

 

这时我们修改一下文件目录,使之更好的组织。

我们建立一个dao包,将DAO类与POJO类分开。

然后我们在struts包下面建立action和form包,用来管理Struts的Action和Form。

为了将实现与接口进行解耦,我们建议在dao包下面添加接口,然后建立dao.impl包,将实际的DAO类放在这里。

DAO类是直接与数据库打交道的类,为了对业务逻辑进行封装,我们将业务全部写在service类里面,和dao一样,我们先建立service包,里面添加业务接口,具体的实现放在service.impl里面。

将UserDAO.java移动到dao的impl包下面,并在dao包下建立接口IUserDAO,内容为:

 

packagecom.ssh.dao;

importjava.util.List;

importcom.ssh.user.User;

 

publicinterfaceIUserDAO{

   publicUserfindById(Integerid);

   publicListfindByUsername(Objectusername);

   publicvoidsave(Useruser);

}

 

在service中建立接口IUserService.java,在service中impl中建立UserService.java

 

IUserService.java

packagecom.ssh.service;

importcom.ssh.user.User;

 

publicinterfaceIUserService{

      publicUsergetUserById(Integerid);

      publicUsergetUserByUsername(Stringusername);

      publicvoidaddUser(Useruser);

}

 

 

  

 

 

UserService.java

packagecom.ssh.service.impl;

importjava.util.List;

importcom.ssh.dao.IUserDAO;

importcom.ssh.service.IUserService;

importcom.ssh.user.User;

 

publicclassUserServiceimplementsIUserService{

   privateIUserDAOuserDAO;

 

   publicvoidaddUser(Useruser){

      userDAO.save(user);

   }

 

   publicUsergetUserById(Integerid){

      returnuserDAO.findById(id);

   }

 

   publicUsergetUserByUsername(Stringusername){

      Listlist=userDAO.findByUsername(username);

      if(list.size()==0){

          returnnull;

      }else{

          return(User)list.get(0);

      }

   }

 

   publicIUserDAOgetUserDAO(){

      returnuserDAO;

   }

 

   publicvoidsetUserDAO(IUserDAOuserDAO){

      this.userDAO=userDAO;

   }

}

 

 

  

 

此时的整体工程结构为:

 

此时的applicationContext内容需要配置bean内容为:

 

   

      

   

 

 

 

 

 

   

      

   

 

8.整合Struts和Spring

Struts和Spring整合方式其核心是让Struts能够访问到交给Spring进行托管的类,这个我在网上看到了一个方式,自我认为很好,因此只要我们可以让Struts从Spring获得需要的类就可以了。

为了达到这个目标,我们创建一个类BaseAction:

 

packagecom.ssh.struts.action;

importorg.springframework.web.context.WebApplicationContext;

importorg.springframework.web.context.support.WebApplicationContextUtils;

importorg.springframework.web.struts.ActionSupport;

 

publicclassBaseActionextendsActionSupport{

        protectedObjectgetBean(Stringid){

                  WebApplicationContextctx=WebApplicationContextUtils

                                    .getWebApplicationContext(this.servlet.getServletContext());

                  returnctx.getBean(id);

        }

}

 

为了让Web容器能够初始化Spring,我们需要修改web.xml文件,增加以下内容:

 

                  contextConfigLocation

                  /WEB-INF/applicationContext.xml

        

        

                  SpringContextServlet

                  

                           org.springframework.web.context.ContextLoaderServlet

                  

                  1

        

 

 

 

 

 

9.啊,让看看我们工作是否有效

通过上面的配置,我们已经能够让这三个框架来协同作战了,让我们现在来测试一下。

首先创建基于Struts的JSP页面。

打开WEB-INF下面的struts-config.xml,单击右键,选择New->Form,ActionandJSP。

在弹出的对话框中添加Usercase,然后点击Add生成Properties代码。

这会由MyEclipse自动生成相应的Form代码。

输入完成后选择JSP选项卡,选上CreateJSPform,修改路径,然后点击Next。

 

 

在出现的对话框中修改Path,将Superclass更改为前面定义的BaseAction,然后将InputSource修改为自己需要的路径。

完成后Finish即可。

 

然后在struts-config.xml点击右键,选择New->Forward,准备创建一个ActionForward。

 

在弹出的对话框中,选择LocalActionForward,通过Browser填写ActionPath,然后填写Name和Path,完成后点击Finish即可。

 

在LoginAction中添加如下代码

 

publicActionForwardexecute(ActionMappingmapping,ActionFormform,

          HttpServletRequestrequest,HttpServletResponseresponse){

      LoginFormloginForm=(LoginForm)form;

      Stringusername=loginForm.getUsername();

      Stringpassword=loginForm.getPassword();

      ActionForwardforward=mapping.getInputForward();

      IUserServiceservice=(IUserService)getBean("userService");

      UseruserFromDB=service.getUserByUsername(username);

      if(userFromDB!

=null&&password!

=null){

             if(userFromDB.getPassword().equals(password)){

                   forward=mapping.findForward("suc");

             }

      }

       returnforward;

   }

 

 

 login.jsp内容

 

 

<%@pagelanguage="java"pageEncoding="ISO-8859-1"%>

<%@tagliburi="http:

//struts.apache.org/tags-bean"prefix="bean"%>

<%@tagliburi="http:

//struts.apache.org/tags-html"prefix="html"%>

 

   

      JSPforLoginFormform

   

   

      

formaction="/login">

          password:

passwordproperty="password"/>

errorsproperty="password"/>

          username:

textproperty="username"/>

errorsproperty="username"/>

         

submit/>

cancel/>

      

form>

   

 

Ok,这时我们可以启动Tomcat进行查看页面了

 

部署测试

 

 在项目名称上右击,选择MyEclipse-->AddandRemoveProjectdevelopment,在弹出的对话框上单击add,选择Tomcat server并配置相关属性。

启动Tomcat,上面的工作完成以后理论上应该可用,但是当你运行的事后却发现会有一个非常诡异的异常出现

 

这个问题本来面目是这样,由于MyEclipse给我们做的事情太全面了,全面到spring和hibernate的包都是重复引用的。

其解决办法就是干掉多余的包,删掉在Tomcat5.5\webapps\ssh\WEB-INF\lib下的asm-2.2.3.jar就可以了,再重启Tomcat,在浏览器上打开:

http:

//localhost:

8080/ssh/login.jsp我们看看我们干了这么长时间的成果吧,

 

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

当前位置:首页 > 初中教育 > 初中作文

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

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