ssh成功整合实现登录功能

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Go!让我们开始创建工程打开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.javaIUserService.javapackagecom.ssh.service;importcom.ssh.user.User;publicinterfaceIUserService{publicUsergetUserById(Integerid);publicUsergetUserByUsername(Stringusername);publicvoidaddUser(Useruser);}UserService.javapackagecom.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内容为:beanid=UserDAOclass=com.ssh.dao.impl.UserDAOpropertyname=sessionFactoryrefbean=sessionFactory//property/bean8.整合Struts和SpringStruts和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文件,增加以下内容:context-paramparam-namecontextConfigLocation/param-nameparam-value/WEB-INF/applicationContext.xml/param-value/context-paramservletservlet-nameSpringContextServlet/servlet-nameservlet-classorg.springframework.web.context.ContextLoaderServlet/servlet-classload-on-startup1/load-on-startup/servlet9.啊,让看看我们工作是否有效通过上面的配置,我们已经能够让这三个框架来协同作战了,让我们现在来测试一下。首先创建基于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(ActionMappingmapp

1 / 29
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功