Eclipse + MyEclipse整合 Struts+Spring+Hibernate 简单例子开发

合集下载

283-《JAVAEE技术》课程教学大纲

283-《JAVAEE技术》课程教学大纲

《JAVA EE技术》课程教学大纲课程编号: 0806602025课程名称: JAVA EE 技术英文名称: JAVA EE Technology 课程类型:专业限选课 / 任选课总学时: 48 讲课学时: 36 上机学时: 12 学分: 3适用对象:计算机科学与技术专业本科生先修课程:C/C++程序设计、JAVA基础、计算机网络、数据库原理及应用一、课程性质、目的和任务《JAVAEE技术》是计算机科学与技术专业本科生的一门专业基础限选课程。

通过本课程的学习可以使学生能够掌握 JAVA EE架构的基本理论、方法,能够掌握JAVA EE中的各种框架思想与技术,如 Struts、Spring、Hibernate(SSH)等,同时能够掌握运用 SSH进行软件系统开发的基本方法和运用并能够进行正确的测试。

通过本课程的学习,学生能够熟练运用SSH深入理解 MVC( Struts )的思想、Hibernate的思想、Spring的控制反转(loC)、依赖注入 (DI) 、面向切面编程的思想以及单元测试技术,并能够掌握和理解常见的软件设计模式,能够运用SSH开发出简单的软件系统。

二、教学基本要求本课程的基本要求如下:1.掌握 Struts 的思想、方法、配置和使用;2.掌握 Hibernate 的思想、方法、配置和使用;3.掌握 Spring 的思想、方法、配置和使用;4. 掌握 Struts 、 Spring 、 Hibernate(SSH) 的整合;5.掌握常用的软件测试方法和工具;6.能够运用 Struts 、 Spring 、 Hibernate(SSH) 开发简单的应用系统。

三、教学内容及要求1. Struts 、 Spring 、 Hibernate(SSH) 概述框架概述软件的分层设计子系统级的“高内聚、低耦合”Struts 、 Spring 、 Hibernate(SSH) 简介2.项目分析设计及软件设计模式项目开发流程(项目开发的生命周期及开发阶段)软件设计模式简介 ( 工厂方法模式、抽象工厂模式、代理模式、模板模式等几个常用的设计模式 )3. Struts 技术MVC莫式概述MVC与 Struts 映射Struts 的工作流程和配置文件Controller 组件分析及应用 Model 组件分析及应用 View 组件分析及应用Struts 的异常机制转换器数据验证( Validation ) 拦截器( Interceptor )4. Hibernate 技术Hibernate 概述Hibernate 单表的对象 / 关系数据库映射( PO、 DAO)Hibernate 多表的对象 / 关系数据库映射HQL 语言( Hibernate Query Language )Hibernate 过滤器( filters ) 对象状态管理继承映射组件(Component)映射性能优化批量处理5. Spring 技术Spring 2.0 的新特性Spring 控制反转 IoCSpring AOP 面向方面编程原理事务处理6. Struts 、 Spring 、Hibernate(SSH) 整合 Spring 与 Struts 整合 Spring 与 Hibernate 整合 Spring 、 Struts 、Hibernate 整合7.软件测试技术 JUnit 单元测试简介JMeter 系统测试8.基于SSH的实例开发及分析例如:在线考试系统、电子拍卖系统、网上商店、电子相册等系统的开发与分析。

myeclipse项目历史

myeclipse项目历史

myeclipse项目历史MyEclipse是一个基于Eclipse的集成开发环境(IDE),用于开发Java EE和Web应用程序。

它由Genuitec开发和维护,并于2001年首次发布。

下面是MyEclipse项目的主要历史事件:1. 2001年:MyEclipse首次发布。

它提供了一组功能强大的工具和插件,帮助开发人员更容易地创建和管理Java项目。

2. 2004年:MyEclipse3.8发布。

这个版本引入了许多新功能,包括对EJB 2.1和JSP 2.0的支持,并改进了开发人员的工作流程。

3. 2006年:MyEclipse 5.0发布。

这个版本引入了对Struts和JSF框架的支持,并添加了更多的Web开发工具和插件。

4. 2008年:MyEclipse 7.0发布。

这个版本引入了对Spring框架和Hibernate的支持,并改进了开发人员的工作流程和代码编辑功能。

5. 2010年:MyEclipse 8.0发布。

这个版本引入了对Maven项目和Git版本控制系统的支持,并改进了性能和稳定性。

6. 2013年:MyEclipse 10发布。

这个版本提供了更多的Web开发工具和插件,包括对HTML5和CSS3的支持,并改进了代码编辑和调试功能。

7. 2017年:MyEclipse 2017发布。

这个版本引入了对Java EE 8和Java 9的支持,并改进了性能和稳定性。

自首次发布以来,MyEclipse一直进行着持续的更新和改进。

它是一个受欢迎的开发工具,许多开发人员使用它来开发和管理Java EE和Web应用程序。

三大框架整合及其原理

三大框架整合及其原理

一搭建三大框架步骤1 搭建s2sh步骤分析:1.1在MyEclipse 里面新建一个 java web project1.2新建三个 Source Folder :src : 源文件config : 存放配置文件 : hibernate , spring , struts2test: 测试类1.3 导入环境需要的jar 包 : WebRoot/WEB-INF/lib (一共64个)2 搭建Hibernate 和Spring 整合(*根据搭建需求谁能先测试就先搭建谁)2.1 在 src 源文件里面建立一个 cola.s2sh.domain[并且在该包下创建一个持久类和该类的映射文件] .2.2 配置核心文件在 config 里面建立一个hibernate 文件夹里面创建hibernate.cfg.xml配置文件(里面的内容拷贝就可以)2.3 在spring 文件夹里面创建并且把sessionFactory 交给spring 来管理: [applicationContext-db.xml中引入][<bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation"><value>classpath:hibernate/hibernate.cfg.xml</value> </property></bean>]在 applicationContext.xml 中 : 导入<import resource="applicationContext-db.xml"/>2.4 测试sessionFactory[编写SpringUtils 然后继承这个][public class SpringUtils {public static ApplicationContext context;static {context = newClassPathXmlApplicationContext("spring/applicationContext.xml" );}}]2.5 编写 dao .service 的包类和接口;PersonDaoImpl 要继承HibernateDaoSupport[public class PersonDaoImpl extends HibernateDaoSupport implements PersonDao {public void savePerson(Person person) {this.getHibernateTemplate().save(person);}}]2.6 把 dao ,service 放在spring 容器中:[<bean id="personDao"class="cola.s2sh.daoImpl.PersonDaoImpl"> <property name="sessionFactory"><ref bean="sessionFactory"/></property></bean><bean id="personService"class="cola.s2sh.service.impl.PersonServiceImpl"><property name="personDao"><ref bean="personDao"/></property></bean>]2.7 完成 spring 声明式处理 :[<!-- 事务管理 --><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory"><ref bean="sessionFactory"/></property></bean><tx:advice id="tx"transaction-manager="transactionManager"><tx:attributes><tx:method name="save*"read-only="false"/><tx:method name="update*"read-only="false"/><tx:method name="delete*"read-only="false"/><!--除了上面三种情况以外的情况--><tx:method name="*"read-only="true"/></tx:attributes></tx:advice><aop:config><aop:pointcutexpression="execution(* cola.s2sh.service.impl.*.*(..))"id="perform"/><aop:advisor advice-ref="tx"pointcut-ref="perform"/> </aop:config>]2.8 整合struts 创建 action 类包 ;2.9 把action 放在spring 容器中* 注意在personAction的spring的配置中一定要写一个属性scope="prototype"[<bean id="personAction"class="cola.s2sh.action.PersonAction" scope="prototype"><property name="personService"><ref bean="personService"/></property></bean>]在这个中引入下面3.0 编写struts2中配置文件Struts –person.xml中Struts.xml3.1 编写web .xml文件[<?xml version="1.0"encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance"xmlns="/xml/ns/javaee"xmlns:web="/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID"version="3.0"><display-name>cola.s2sh</display-name><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener><!—将srping放在SrvletContext中进行加载当servlet加载时 spring 也完成加载 --> <context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/applicationContext.xml</param-value> </context-param><filter><filter-name>OpenSessionInViewFilter</filter-name><filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class></filter><filter-mapping><filter-name>OpenSessionInViewFilter</filter-name><url-pattern>*.action</url-pattern></filter-mapping><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter -class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>]二原理分析:一、 Struts 2框架整合Spring步骤1、复制文件。

eclipse for javaee配置web开发环境(struts2+servlet+sping)字体

eclipse for javaee配置web开发环境(struts2+servlet+sping)字体

一、Eclipse helios 配置struts2图解本文章环境:1. Eclipse for JavaEE developer Helios2. Struts 2.3.1.13. tomcat 7.0.6配置前提:配置好tomcat,本文省略配置tomcat步骤其实MyEclipse和Eclipse for JavaEE 的配置过程差不多,唯一的区别在于: Eclipse for JAVAEE创建Dynamic Web Projec;MyEclipse创建的是Web Project;1、创建一个Dynamic Web Project2.点击next3.看到output folder为build\classes,和传统的WEB-INF\classes有所差别,但是开发时不需要注意;4.在WEB-INF中配置web.xml,为了将Struts2框架添加入WEB应用;在src中配置struts.xml(Eclipse在编译时会将src目录下的除了Java文件外的其他文件全部拷贝进WEB-INF\classes)将struts核心类库导入WEB-INF\lib中;5.编写web.xml此处配置的目的是为了将struts2框架融入web应用,此处配置了一个过滤器,从前面学习可以知道,过滤器的作用是在Servlet执行之前完成一些事情,从<url-pattern>中可以看出任意的请求都会进入struts2的框架的范畴;[html]view plaincopyprint?1. <?xml version="1.0"encoding="GBK"?>2. <web-app xmlns:xsi="http://www.w/2001/XMLSchema-instance"xmlns="/xml/ns/javaee"xmlns:web="/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd"version="3.0">3. <filter>4. <filter-name>struts2</filter-name>5. <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>6. </filter>7. <filter-mapping>8. <filter-name>struts2</filter-name>9. <url-pattern>/*</url-pattern>10. </filter-mapping>11. </web-app>6.编写struts.xml[html]view plaincopyprint?1. <?xml version="1.0"encoding="GBK"?>2. <!DOCTYPE struts PUBLIC3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"4. "/dtds/struts-2.0.dtd">5.6. <struts>7.8. </struts>编写Hello world1.创建一个Hello.jsp 并且内容为Hello struts2!!!2.配置struts.xml[html]view plaincopyprint?1. <struts>2. <constant name="struts.devMode"value="true"></constant>3. <package name="HelloPackage"namespace="/"extends="struts-default">4. <action name="Hello">5. <result>/Hello.jsp</result>6. </action>7. </package>8. </struts>3.部署并在浏览器中填写http://localhost:8888/StrutsDemo01/Hello注意:在以后的开发中必须在<struts>元素中添加:<constant name="struts.devMode" value="true"></constant>因为这表明是在开发者模式,是指发生错误时提供更多的提示信息;eclipse for JavaEE 下怎么建立一个Servlet类选中文件夹【Java Resources: src】,右击【new】-【other】-【Web】-【servlet】建立完成后,可以发现:【WebContent】-【WEB-INF】-【web.xml】,已经添加了刚才的那个s ervlet的信息。

Eclipse+Struts+Spring+Hibernate+Mysql环境搭建及访问数据库实例

Eclipse+Struts+Spring+Hibernate+Mysql环境搭建及访问数据库实例

前言:这个例子的view层用到了struts,DAO层用到了hibernate,由于逻辑及其简单(只是往数据库添加一条记录),所以暂时没有用到spring。

一、使用eclipse+struts+spring+hibernate+myeclipse+mysql开发配置过程。

1.jdk的安装:安装文件:jdk-1_5_0_15-windows-i586-p.exe说明:最好用jdk1.5,可以去sun主页下载,我这里已经下了,可以提供。

注意:最好在新装系统下安装,并且此前没有装过java相关的软件,以免出现版本或者path问题。

过程:可以直接安装到c盘根目录下即可,注意要记住安装路径,以后可能会用到。

2.web应用服务器tomcat的安装:安装文件:apache-tomcat-5.5.26.exe说明:要想构建jsp应用,web应用服务器是必须要有的,asp服务器为IIS,php服务器为Apache,jsp服务器比较多有weblogic和websphere(两者是商业级的,比较强大,但要收费),tomcat和resin(免费的,比较适用中小级应用,如果是大型应用则须考虑集群)。

在这里,我选用tomcat,因为它使用较广泛,网上相关的资料也比较多。

我并没有选择最新版本,原因是次新版本往往比最新版本更加稳定。

注意:必须先装jdk,否则不能安装tomcat(原因之一是tomcat在对jsp进行编译时用到了jdk,并且jdk是tomcat正常工作的前提)。

过程:可以直接安装到c盘默认路径,选择前面安装的jdk路径,并且修改端口8080为80(tomcat默认端口为8080,而一般我们通过IE访问时端口为80,需要注意的是要保证没有其他程序已经占用80端口(比如你已经装了iis或者apache),否则tomcat不能正常启动),控制台页面的管理员admin帐号暂时不设置密码。

测试页面http://127.0.0.1,检测是否安装成功,如果进入欢迎页面就表示tomcat安装成功。

SSH框架搭建

SSH框架搭建

MyEclipse开发SSH框架搭建(Struts+Spring+Hibernate)1.1. 新建工程操作:[Menu] File/New/Web Project工程名:school2. Struts 部分2.1. 添加Struts 功能支持操作:选1.3将Base package for new classes改为com.dp.school 2.2. 创建ActionForm 类操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.3 Form 类名:LoginFormuserCase:LoginForm type: com.dp.school.actionForm.LoginForm在“Form Properties” 选项卡为loginForm 新增两个属性:userName、password;在“JSP” 选项卡钩选“Create JSP form” 选项,将新建路径改为“/user/login.jsp”(login.jsp文件将被自动创建)。

2.3. 创建Action 类操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.3 Action类名:LoginActionuserCase loginform选项卡的name点Browse…选loginFormInput Source点Browse…选user文件夹下的login.jsp2.4. 创建index.jsp 文件如果没有,创建index.jsp 文件,并添加一个指向login.jsp 的链接:<a href=”user/login.jsp”>Login</a>。

(user/login.jsp是school下路径,/user/login.jsp是绝对路径,直接http://localhost:8080/user/login.jsp)<%@page language="java"import="java.util.*"pageEncoding="GB2312"%> <%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords"content="keyword1,keyword2,keyword3"> <meta http-equiv="description"content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><a href="user/login.jsp">登陆</a></body></html>2.5. 创建Forword类操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.3 Forword类名:indexForwordName: indexPagePath: /index.jsp2.6. 修改LoginAction.java 文件修改LoginAction 类的execute 方法:/** Generated by MyEclipse Struts* Template path: templates/java/JavaClass.vtl */package com.dp.school.action;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.dp.school.actionForm.LoginForm;/*** MyEclipse Struts* Creation date: 11-06-2009** XDoclet definition:* @struts.action path="/login" name="loginForm" input="/user/login.jsp" scope="request" validate="true"*/public class LoginAction extends Action {/** Generated Methods*//*** Method execute* @param mapping* @param form* @param request* @param response* @return ActionForward*/public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stubString userName = loginForm.getUserName();String password = loginForm.getPassword();if(userName.equals("test")||password.equals("test")){return mapping.findForward("indexPage");}else{return mapping.getInputForward();}}}2.7. 修改login.jsp 文件修改<html:form> 标签:<html:form action=”/login”>。

MyEclipse安装、配置到部署、运行web项目

MyEclipse安装、配置到部署、运行web项目

MyEclipse安装、配置到部署、运行web项目首先,讲一下Myeclipse与Eclipse的差别。

虽然我本科学过java,但多少年了也没用过,除了读研的时候在java的项目组里实习过半年,这半年的时间里只弄懂了几个页面之间的关系和一点点java代码,使用的工具是Jbuilder。

eclipse只在传说中听过,都说是很不错的开发工具,但可惜了,一直没接触过。

毕业了,真正到公司工作才开始接触这传说中的神器。

起初是部门的同事把eclipse的文件直接发给我,我一看只有一个文件夹,是免安装的,心想着这eclipse果然很开源,各种文件直接暴露在外。

搭环境废了一番功夫,主要是JDK安装,还有一些项目参数的设置,以后有时间把这部分内容整理一下,发布供大家共享,也为了自己记忆、存档方便。

今天突然同事让我做一部分新的工作,发来了一个java的web项目,以及myeclipse的安装文件。

我一下就蒙了,开始不停的查找资料来处理安装过程中出现的问题。

书到用时方恨少,面对大量的资料只能一点一点的尝试,一次又一次的小成功推动着我继续下去,直到最后打开页面。

也许我的问题在很多高手看来不值一提,但的确是解决初学者、门外汉实际问题的灵药。

Myclipse与eclipse的差别(1)MyEclipse 把所有的插件都配好了,直接可以用,比如写jsp,struts,spring之类的,当然包也相当大,机子不好的话开发程序比较慢;Eclipse 什么都没有,要开发什么就自己配什么插件而已。

(2)严格的说,MyEclipse 只是Eclipse 体系中的一种插件,只是由于MyEclipse 经常和Eclipse 一起安装使用,所以通常也将安装了MyEclipse 插件后的Eclipse叫做MyEclipse,二者可以单独安装,即先装Eclipse之后,再以插件方式安装MyEclipse。

另一种方法则是同时安装二者,即安装MyEclipse时已经同时安装了Eclipse(他们已经整合在一起)。

搭建Eclipse+MyEclipse+tomcat开发环境+开发J2EE的第一步

搭建Eclipse+MyEclipse+tomcat开发环境+开发J2EE的第一步

搭建Eclipse+MyEclipse+tomcat开发环境开发J2EE的第一步一、安装JDK首先下载JDK 5.0(JDK 5.0的下载页面为:/j2se/1.5.0/download.jsp);然后运行JDK 5.0安装程序jdk-1_5_0_06-windows-i586-p.exe,安装过程中所有选项保持默认;最后配置JDK的环境变量:在“我的电脑”上点右键—>“属性”—>“高级”—> “环境变量(N)”。

新建系统变量JAVA_HOME:C:\Program Files\Java\jdk1.5.0_06;新建系统变量CLASSPATH:.;%JAVA_HOME%\lib;(注意:点号表示当前目录,不能省略)在系统变量Path的值的前面加入以下内容:%JAVA_HOME%\bin;(注意:这里的分号不能省略) 到这里,JDK安装完毕。

下面我们测试一下JDK是否安装成功:将以下内容复制到记事本中:public class HelloJAVA{public static void main(String srg[]){System.out.println("Hello JAVA!");}}另存为“HelloJAVA.java”(不含引号,下同),并保存到D盘根目录下。

在命令行依次输入下图中红线所标注的命令:如果出现上图红框中所标注的内容,则说明JDK安装成功!注意:如果以后要安装诸如Eclipse、Borland JBuilder、JCreator、IntelliJ IDEA等集成开发环境(IDE,Integrated Developm ent Environment),应该在IDE中编译运行一个简单的HelloWorld程序,以保证IDE可以识别出JDK的位置。

二、安装Tomcat首先下载jakarta-tomcat-5.0.30.zip,之所以下载免安装版的好处是可以使用多个Tomcat (jakarta-tomcat-5.0.30.zip的下载页面为:/tomcat/tomcat-5/v5.0.30/bin/);然后将jakarta-tomcat-5.0.30.zip直接解压到D盘根目录:最后配置Tomcat的环境变量:在“我的电脑”上点右键—>“属性”—>“高级”—> “环境变量(N)”。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Eclipse + MyEclipse整合Struts+Spring+Hibernate简单例子开发功能介绍:由用户输入用户的ID,输出用户的相关信息,包括用户名和毕业学校。

前台包括两个jsp页面,index.jsp用来接受用户输入查询条件;result.jsp用来显示查询结果。

数据库采用MySQL,创建user表:Create table user(ID int(11) primary key, name varchar(100),school varchar(100));Insert into user values(0001,’matthew’,’YunNan University’);Insert into user values(0002,’zhangzili’,’YunNan University’);Insert into user values(0003,’yangxiaopeng’,’HuaNan University’);环境:Eclipse3.1.2+MyEclipse4.1.1GA+MySql4.1.10一新建项目:login,方法参见我的另一篇日志:Struts+Spring+Hibernate之搭建Eclipse + MyEclipse 开发环境。

整个项目的结构如下:二为项目增加Struts、Spring、Hibernate功能。

方法大致一样,细节会因为MyEclipse的版本会有点不一样。

1 增加Struts功能:右激项目名称》MyEclipse》Add Struts Capabilities接下来,只需要根据你的情况设置下Base package for new classes:如,com.lnic.struts。

然后点finish即可。

完成后,会在你的项目里面增加一些struts的jar包。

2 增加Spring功能,方法和前面一样。

这里需要注意点选:Copy checked Library…项,要不然在我这里会出现找不到build-path错误。

然后,选择applicationContext.xml文件的位置,选择WEB-INF文件夹下。

即可。

这个时候,项目下的包结构又会增加一些jar包。

3 增加Hibernate功能。

方法和前面的一样。

配置如下图:到此,完成Hibernate功能增加。

三创建代码:如下图结构在创建BaseAction.java过程中会出现import org.springframework.web.context.WebApplicationContext;这个包没有加进来,所以要手工把它加进来:spring-web.jar,这个是myeclipse自带的有。

如图:四创建JSP页面:index.jsp和result.jsp.具体如下图:五部署项目和测试。

项目部署方法请看我的另一篇日志:Struts+Spring+Hibernate之搭建Eclipse + MyEclipse 开发环境输入:http://localhost:8080/login/如下图:显示结果如下:六详细代码:1 com.lnic.dao包里面有两个类:UserDao.javapackage com.lnic.dao;import java.util.List;public interface UserDao {public List getName(String id);}UserDaoImpl.java/*** 数据访问对象,实现UserDao接口,并调用Hibernate的映射来获得用户的信息。

*/package com.lnic.dao;import java.sql.SQLException;import java.util.List;import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.Session;import org.springframework.orm.hibernate3.HibernateCallback;importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;public class UserDaoImpl extends HibernateDaoSupport implements UserDao {public UserDaoImpl(){super();}public List getName(final String id) {return getHibernateTemplate().executeFind(new HibernateCallback() {public Object doInHibernate(Session session)throws HibernateException, SQLException {int studID = Integer.parseInt(id);StringBuffer sb = new StringBuffer(100);sb.append("select user ");sb.append("from User user ");sb.append("where user.id = :id");Query query = session.createQuery(sb.toString());query.setInteger("id",studID);List list = query.list();return list;}});}}2 com.lnic.hibernate包里面有个User.java的hibernate映射类。

它的属性和数据库中的User表字段对应。

package com.lnic.hibernate;import java.io.Serializable;public class User implements Serializable {private ng.Integer id;private ng.String name;private ng.String school;public User(){}public User(ng.Integer id){this.setId(id);}public ng.Integer getId(){return id;}public void setId(ng.Integer id){this.id = id;}public ng.String getName(){return ;}public void setName(ng.String name){ = name;}public ng.String getSchool(){return this.school;}public void setSchool(ng.String school){this.school = school;}}<!-- DO NOT EDIT: This is a generated file that is synchronized --><!-- by MyEclipse Hibernate tool integration. --><!-- Created Sun Sep 17 17:28:36 CST 2006 --><hibernate-mapping package="com.lnic.hibernate"><class name="User" table="USER"><id name="id" column="ID" type="integer"><generator class="assigned"/></id><property name="name" column="NAME" type="string" /><property name="school" column="SCHOOL" type="string" /> </class></hibernate-mapping>3 m.lnic.struts包里面有两个类:BaseAction.java和SearchAction.java BaseAction.java,在这个类中继承了struts的action。

并且覆盖了setServlet 方法,在此方法中初始化Web应用上下文,获得Spring的Ioc容器,并在容器中获取UserDao接口的实现类的对象,然后使用该对象初始化本类中的成员变量userDao。

可以参见applicationContext.xml配置文件。

package com.lnic.struts;import javax.servlet.ServletContext;import org.apache.struts.action.Action;import org.apache.struts.action.ActionServlet;import org.springframework.web.context.WebApplicationContext;importorg.springframework.web.context.support.WebApplicationContextUtils; import erDao;public class BaseAction extends Action {private UserDao userDao;public void setServlet(ActionServlet actionServlet) {super.setServlet(actionServlet);ServletContext servletContext = actionServlet.getServletContext();WebApplicationContext wac =WebApplicationContextUtils.getRequiredWebApplicationContext(servlet Context);erDao = (UserDao)wac.getBean("userDao");}public UserDao getUserDao() {return userDao;}public void setStuDao(UserDao userDao) {erDao = userDao;}}SearchAction.java这个类继承了BaseAction,并覆盖了Action的execute 方法,它是Struts的Action类中用来处理业务逻辑的方法,并将处理结果转发给下个页面,在本例子中,它直接调用BaseAction中的getUserDao方法获得userDao对象,并调用该对象的getName方法完成查询工作。

相关文档
最新文档