首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

ssh(Struts+Spring+Hibernate)环境筹建,实现登录

2012-10-27 
ssh(Struts+Spring+Hibernate)环境搭建,实现登录??我们选择Hibernate3.2,全部按照默认设置即可,然后点击Ne

ssh(Struts+Spring+Hibernate)环境搭建,实现登录
?

?

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

?

ssh(Struts+Spring+Hibernate)环境筹建,实现登录

?

?

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

?

?

ssh(Struts+Spring+Hibernate)环境筹建,实现登录

?

在出现的对话框中选择Existing Spring configuration file。因为我们已经添加了Spring的配置文件,所以这里选择的是已存在的配置文件。MyEclipse会自动找到存在的那个文件。然后在SessionFactory ID中输入Hibernate的SessionFactory在Spring配置文件的Bean ID的名字,这里我们输入sessionFactory即可。然后点击Next

?

ssh(Struts+Spring+Hibernate)环境筹建,实现登录

?

在出现的对话框中的Bean Id里面输入数据源在Spring中的Bean ID的名字,这里我们输入dataSource。然后在DB Driver里面选择我们刚刚配置好的ssh,MyEclipse会将其余的信息自动填写到表格里面。然后点击Next

?

?

ssh(Struts+Spring+Hibernate)环境筹建,实现登录

?

在出现的对话框中取消Create SessionFactory class。点击Finish即可ssh(Struts+Spring+Hibernate)环境筹建,实现登录

?

此时,切换到MyEclipse DataBase Explorer视图,右键打开数据库连接,在需要使用的数据表格上面点击右键,选择Hibernate Reverse Engineering...。这里我们使用刚刚建立在test数据库中添加的user表

?

ssh(Struts+Spring+Hibernate)环境筹建,实现登录

?

?

在打开的对话框中修改Java src folder为我们建立的/ssh/src,这里需要选择到src文件夹,并且需要填写Java package,这是MyEclipse生成的类所在的包,我们将其取名为user。然后选择Java Data Object,建立POJO类。然后选择Java Data Access Object。其中,POJO类是数据库表格所对应的Java类,JDO类是MyEclipse自动生成的对数据库的一些操作。这里会封装一些常用的操作,简化我们的编写。填写完成后点击Next

?

ssh(Struts+Spring+Hibernate)环境筹建,实现登录

?

?

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

?

ssh(Struts+Spring+Hibernate)环境筹建,实现登录

?

?

?

ssh(Struts+Spring+Hibernate)环境筹建,实现登录,右击鼠标——>Refactor——>Extract Interface

[java]?view plaincopy

  1. ITestService.java??
  2. package?com.ssh.service;??
  3. import?java.util.List;??
  4. public?interface?ITestService?{??
  5. ??????
  6. ?????public?abstract?List?findByUsername(Object?username);??
  7. }??
?

?

[java]?view plaincopy

  1. UserService.java??
  2. package?com.ssh.service.impl;??
  3. import?java.util.List;??
  4. import?com.ssh.dao.ITestDAO;??
  5. import?com.ssh.service.ITestService;??
  6. public?class?TestService?implements?ITestService{??
  7. ??????
  8. ????private?ITestDAO?testDAO;??
  9. ??????
  10. ????public?List?findByUsername(Object?username){??
  11. ????????return?testDAO.findByUsername(username);??
  12. ????}??
  13. ????public?ITestDAO?getTestDAO()?{??
  14. ????????return?testDAO;??
  15. ????}??
  16. ????public?void?setTestDAO(ITestDAO?testDAO)?{??
  17. ????????this.testDAO?=?testDAO;??
  18. ????}??
  19. ??????
  20. }??
?

?

[xhtml]?view plaincopy

  1. <bean?id="UserDAO"?class="com.ssh.dao.impl.UserDAO">??
  2. ????<property?name="sessionFactory">??
  3. ???????<ref?bean="sessionFactory"?/>??
  4. ????</property>??
  5. </bean>??
?

?

[java]?view plaincopy

  1. package?com.ssh.struts.action;??
  2. import?org.springframework.web.context.WebApplicationContext;??
  3. import?org.springframework.web.context.support.WebApplicationContextUtils;??
  4. import?org.springframework.web.struts.ActionSupport;??
  5. public?class?BaseAction?extends?ActionSupport?{??
  6. protected?Object?getBean(String?id)?{??
  7. WebApplicationContext?ctx?=?WebApplicationContextUtils??
  8. .getWebApplicationContext(this.servlet.getServletContext());??
  9. return?ctx.getBean(id);??
  10. }??
  11. }??
?

?

[xhtml]?view plaincopy

  1. <context-param>??
  2. <param-name>contextConfigLocation</param-name>??
  3. <param-value>/WEB-INF/applicationContext.xml</param-value>??
  4. </context-param>??
  5. <servlet>??
  6. <servlet-name>SpringContextServlet</servlet-name>??
  7. <servlet-class>??
  8. org.springframework.web.context.ContextLoaderServlet??
  9. </servlet-class>??
  10. <load-on-startup>1</load-on-startup>??
  11. </servlet>??
?

?

[java]?view plaincopy

  1. public?ActionForward?execute(ActionMapping?mapping,?ActionForm?form,??
  2. ????????????HttpServletRequest?request,?HttpServletResponse?response)?{??
  3. ????????????LoginForm?loginForm?=?(LoginForm)?form;??
  4. ????????????String?username?=?loginForm.getUsername();??
  5. ????????????String?password?=?loginForm.getPassword();??
  6. ????????????ActionForward?forward?=?mapping.getInputForward();??
  7. ????????????ITestService?service?=?(ITestService)?getBean("testService");??
  8. ????????????Test?userFromDB?=?(Test)service.findByUsername(username).get(0);??
  9. ????????????if?(userFromDB.getPassword().equals(password))?{??
  10. ????????????forward?=?mapping.findForward("suc");??
  11. ????????????}??
  12. ????????????return?forward;??
  13. ????????????}??
  14. }??
?

?

[java]?view plaincopy

  1. <%@?page?language="java"?pageEncoding="ISO-8859-1"%>??
  2. <%@?taglib?uri="http://struts.apache.org/tags-bean"?prefix="bean"%>??
  3. <%@?taglib?uri="http://struts.apache.org/tags-html"?prefix="html"%>??
  4. <html>??
  5. <head>??
  6. <title>JSP?for?LoginForm?form</title>??
  7. </head>??
  8. <body>??
  9. <html:form?action="/login">??
  10. password?:?<html:password?property="password"/><html:errors?property="password"/><br/>??
  11. username?:?<html:text?property="username"/><html:errors?property="username"/><br/>??
  12. <html:submit/><html:cancel/>??
  13. </html:form>??
  14. </body>??
  15. </html>??
?

?

[xhtml]?view plaincopy

  1. <bean?name="testService"?class="com.ssh.service.impl.TestService">??
  2. <property?name="testDAO">??
  3. <ref?bean="TestDAO"?/>??
  4. </property>??
  5. </bean>??
?

?

?

?

这样就完成了SSH框架实现的登录功能

热点排行