J2EE学习心得经过一学期对J2EE的学习,是我了解了很多关于三大框架SSH的知识。虽然学的并不是很扎实但是经过多次的上机练习和这次的结课作业,使我接触到了更多的课外知识,更深刻地了解了三大框架,包括单个知识的应用。SpringSpring,它是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring既是综合性的,也是模块化的,基于分层架构,它能使开发者灵活单独的使用其中任何一部分。Spring由许多模块组成,例如,IoC容器、AOP、MVC、持久性DAO和remoting这些模块都是相当耦合的,一些模块也是独立的。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的InversionofControl容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/Rmapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果需要--还能实现自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVCWeb框架。Spring与MyEclipse的集成其中,Spring与MyEclipse集成开发一个只应用Spring的javaproject是也需要简单的集成步骤,现在简要介绍如下:1.创建一个javaproject2.添加Spring的支持包:在目录树中选中工程名,右击选中下拉菜单中的MyEclipse→AddSpringCapabilites…,按照出现的Spring向导添加Spring需要的类库和配置文件。J2EE学习心得-1-配置好Spring后还需要编写配置文件:修改项目根目录下的applicationContext.xml文件(配置Spring是系统自动生成的文件)代码如下:?xmlversion=1.0encoding=UTF-8?beansxmlns=:xsi=:schemaLocation=://=myBeanclass=ShowMessagepropertyname=messagevalueHelloSpring!/value/property/bean/beansStruts2Struts框架:struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。Struts2的核心功能是action,action类通常都要实现com.opensymphony.xwork2.Action接口,并实现该接口中的execute()。同时,Struts对Model,View和Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。与MyEclipse的集成及工作原理●集成过程1.创建一个WebProject文件2.加载Struts2包:将已有的Struts2包解压后的lib文件夹下的Struts2-core-2.0.11.jar、xwork-2.0.11.jar、ognl-2.6.11.jar、common-logging-1.0.4.jar及freemarker-2.3.8.jar,五个jar包复制到WEB-INF/lib路径下。在配置好Struts以后还需做些代码的修改只有这样才能保证程序的有效运行,其中要修改的部分如下所示:1修改web.xml文件,代码如下:?xmlversion=1.0encoding=UTF-8?web-appversion=2.4J2EE学习心得-2-xmlns=:xsi=:schemaLocation=://java.sun.com/xml/ns/j2ee/web-app_2_4.xsdfilterfilter-namestruts2/filter-namefilter-classorg.apache.struts2.dispatcher.FilterDispatcher/filter-class/filterfilter-mappingfilter-namestruts2/filter-nameurl-pattern/*/url-pattern/filter-mapping/web-app2创建login.jsp文件,当表单提交给login.jsp时,Struts2的FilterDispacher将起作用,将用户请求转发到对应的Struts2Action。3实现控制器:创建一个LoginAction.java类。在Struts2中,类变量总是调用execute()方法之前被设置。4配置struts.xml文件,代码如下所示:!DOCTYPEstrutsPUBLIC-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN=strutsextends=struts-defaultactionname=loginclass=LoginActionresultname=error/error.jsp/resultresultname=success/welcome.jsp/result/action/package/struts此文件的主要功能是处理执行execute方法后返回的字符串,并根据其作出相应的页面跳转。J2EE学习心得-3-HibernateHibernate是一个对象/关系映射的解决方案,它提供了整个过程自动转换的方案。Hibernate是Java应用和关系数据库之间的关系,负责Java对象和关系数据之间的映射。Hibernate内部封装了通过JDBC访问数据库的操作,向上层应用提供了面向对象的数据访问API。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。1.Session接口:负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。2.SessionFactory接口:负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。3.Configuration接口:负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。4.Transaction接口:负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。5.Query和Criteria接口:负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。与MyEclipse的集成及工作原理(1)与MyEclipse的集成过程●在数据库中创建一数据库表●在MyEclipse中创建对MySQL的链接:选择菜单Window→OpenPerspective→MyEclipseDatabaseExplorer,打开MyEclipseDatabase浏览器,右击菜单,选择New…,按照对话框的提示进行填写,此时要加载J2EE学习心得-4-数据库驱动。●在MyEclipse中创建JavaProject●添加HibernateCapabilities到项目中:右击工程项目,选择MyEclipse→AddHibernateCapabilities…启动向导,然后根据向导提示完成Hibernate的配置。●生成数据库表对应的Java数据对象和映射文件(2)工作原理1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Sesssion4.创建事务Transation5.持久化操作6.提交事务7.关闭Session8.关闭SesstionFactory三大框架的集成过程(1)在做三大框架的集成前应先做好准备工作,首先就是引进UserLibraries:右击工程项目选择BuildPath在下拉菜单中选择最后一项,在弹出的对话框中加载Hibernate3的jar包。(2)加载用户自定义包:右击工程名,MyEclipse→AddSpringCapabilites,然后添加用户自定义包Hibernate和配置文件applicationContext.xml(3)加载Hibernate框架:工程名上右击MyEclipse→AddHibernateCapabilities添加jar包,在applicationContext.xml中配置连接信息。(4)反向工程:打开MyEclipse的databaseexplorerperspective,右击选择数据库中对应的表,选择Hibernatereverseengineering生成与数据库表对应的Java对象和映射文件,其中对于ID的生成方式为native。5.2三大框架集成过程中主要的代码修对于三大框架在集成过程中所作的代码修改以及代码的编写,在此根据所作的具体实例来列举说明,我所做的例子是创建WebProject,此项目主要就是一个前台页面的设置,在整个过程中实现用户的登录、注册、注销J2EE学习心得-5-现将在ssh集成过程中做的代码修改及编写展示如下:●在web.xml文件中声明struts2过滤器!--struts2过滤器--filterfilter-namestruts2/filter-namefilter-classorg.apache.struts