基础框架使用手册_第1页
基础框架使用手册_第2页
基础框架使用手册_第3页
基础框架使用手册_第4页
基础框架使用手册_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.框架使用手册框架使用手册目 录1概述31.1JAVA介绍31.2框架介绍31.2.1Struts简介31.2.2Spring简介51.2.3Hibernate简介72开发入门92.1.1导入工程92.1.2框架结构102.2框架的简单使用152.2.1数据源的配置152.2.2POJO的创建162.2.3Manager的创建182.2.4Action的创建192.3配置文件192.3.1Web.xml192.3.2Struts-config.xml配置212.3.3action-servlet.xml配置212.3.4serviceContext.xml配置222.3.5dataAccess

2、Context-hibernate.xml配置223开发进阶223.1开发案例描述223.2开发步骤233.2.1创建数据库表233.2.2建立数据库连接233.2.3创建相应目录233.2.4创建User.java类233.2.5创建UserManager.java类243.2.6创建UserAction.java类253.2.7创建login.jsp页面263.2.8配置Struts-config.xml263.2.9配置action-servlet.xml263.2.10配置dataAccessContext-hibernate.xml273.2.11配置serviceContext.x

3、ml273.2.12编译及测试271 概述1.1 JAVA介绍Java是一种软件技术,是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言;是一种为 Internet发展的计算机语言;是一种使网页(Web Page)产生生动活泼画面的语言;是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言;是一种语言,用以产生小应用程序(Applet(s);是一种简化的C+语言 是一种安全的语言,具有阻绝计算机病毒传输的功能;是一种将安全性(Security)列为第一优先考虑的语言 ;是一种使用者不需花费很多时间学习的语言;是一种突

4、破用户端机器环境和CPU结构的语言;是一种写一次,即可在任何机器上执行(Write OnceRun Anywhere)的语言是有史以来,第一套允使用者将应用程序(Applications)通过Internet从远端的服务器(Remote Server)传输到本地端的机器上(LocalMachine)并执行;是一种应用程序提供者不需要知道使用者的计算机硬件(如:Sun, Intel, 或MAC等)与软件(如:SW-UNIX, MAC O/S, Windows, 或NT等)环境的语言(Kestenbaum, 1995)。1.2 框架介绍1.2.1 Struts简介Web系统本身的复杂性与业务流程的

5、不确定性,是相当棘手且难于处理的。例如,用户可能随时使用一个链接从系统的这部分跳到另一部分。又或者登陆一个页面后可能隔半天没反映,而突然又请求另一项服务如果Web系统没有一个很好地设计结构,这些烦人的问题能缠着你直到你崩溃,或者系统崩溃。 即使你硬撑着闯过几关,后期维护工作又能把你逼疯,或者把其他的维护人员逼疯! MVC(模型-视图-控制器)模式最重要的思想就是业务代码与视图代码分离。能有效地理清系统结构,降低系统复杂度与维护难度。而Struts 就是基于J2EE 的 web 形式 MVC 模式实现!Struts最早是作为Apache Jakarta项目的组成部分问世运做。项目的创立者希望通过

6、对该项目的研究,改进和提高Java Server Pages (JSPs)、Servlet、标签库以及面向对象的技术水准。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。Struts is是Apache Jakarta项目的一部分,它用Java Servlet/JavaServerPages技术,开发Web应用程序的开放源码的framework。Struts有如下的主要功能: 1. 包含一个controllerservlet,能将用户的请求发送到相应的Ac

7、tion对象。2. JSP自由tag库,并且在controllerservlet中提供关联支持,帮助开发员创建交互式表单应用。 3. 提供了一系列实用对象:XML处理、通过JavareflectionAPIs自动处理JavaBeans属性、国际化的提示和消息。Struts项目的目标是为创建Java web应用提供一个开放源代码的framework。Struts framework的内核是基于例如Java Servlets, JavaBeans, ResourceBundles, 和 XML,以及各种 Jakarta Commons包的标准技术的灵活的控制层。Struts提供了它自身的控制器组件

8、,并整合了其他技术,以提供模型和视图。对于模型,同大多数的第三方软件包一样,如Hibernate, iBATIS, 或者 Object Relational Bridge,Struts能够和标准数据连接技术相结合,如JDBC和EJB。对于视图,Struts与JavaServer Pages协同工作,包含JSTL和JSF。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率

9、。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。MVC的工作原理如下图所示:Struts 是MVC的一种实现,它将 Servlet和 JSP 标

10、记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。Struts的工作原理,如下图所示:控制:通过图2大家可以看到有一个XML文件Struts-config.xml,与之相关联的是Controller,在Struts中,承担MVC中Controller角色的是一个Servlet,叫ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请

11、求参数填充 Action From(通常称之为FromBean),并传给动作类(通常称之为ActionBean)。动作类实现核心商业逻辑,它可以访问java bean 或调用EJB。最后动作类把控制权传给后续的JSP 文件,后者生成视图。所有这些控制逻辑利用Struts-config.xml文件来配置。视图:主要由JSP生成页面完成视图,Struts提供丰富的JSP 标签库: Html,Bean,Logic,Template等,这有利于分开表现逻辑和程序逻辑。模型:模型以一个或多个java bean的形式存在。这些bean分为三类:Action Form、Action、JavaBean or

12、EJB。Action Form通常称之为FormBean,封装了来自于Client的用户请求信息,如表单信息。Action通常称之为ActionBean,获取从ActionSevlet传来的FormBean,取出FormBean中的相关信息,并做出相关的处理,一般是调用Java Bean或EJB等。流程:在Struts中,用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet,ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此FormBean传至指定名称的ActionBean,由

13、ActionBean完成相应的业务操作,如文件操作,数据库操作等。每一个*.do均有对应的FormBean名称和ActionBean名称,这些在Struts-config.xml中配置。核心:Struts的核心是ActionSevlet,ActionSevlet的核心是Struts-config.xml。1.2.2 Spring简介Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模

14、块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如图 1 所示。图 1. Spring 框架的 7 个模块组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下: 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业

15、服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。 Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。 Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,

16、并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。 Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。 Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多

17、部分请求以及将请求参数绑定到域对象的工作。 Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。 Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。IOC 和 AOP控制反转模式

18、(也称作依赖性介入)的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器 (在 Spring 框架中是 IOC 容器) 负责将这些联系在一起。在典型的 IOC 场景中,容器创建了所有对象,并设置必要的属性将它们连接在一起,决定什么时间调用方法。下表列出了 IOC 的一个实现模式。类型 1服务需要实现专门的接口,通过接口,由对象提供这些服务,可以从对象查询依赖性(例如,需要的附加服务)类型 2通过 JavaBean 的属性(例如 setter 方法)分配依赖性类型 3依赖性以构造函数的形式提供,不以 JavaBean

19、属性的形式公开Spring 框架的 IOC 容器采用类型 2 和类型3 实现。面向方面的编程面向方面的编程,即 AOP,是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化。AOP 的核心构造是方面,它将那些影响多个类的行为封装到可重用的模块中。AOP 和 IOC 是补充性的技术,它们都运用模块化方式解决企业应用程序开发中的复杂问题。在典型的面向对象开发方式中,可能要将日志记录语句放在所有方法和 Java 类中才能实现日志功能。在 AOP 方式中,可以反过来将日志服务模块化,并以声明的方式将它们应用到需要日志的组件上。当然,优势就是 Java 类

20、不需要知道日志服务的存在,也不需要考虑相关的代码。所以,用 Spring AOP 编写的应用程序代码是松散耦合的。AOP 的功能完全集成到了 Spring 事务管理、日志和其他各种特性的上下文中。1.2.3 Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CM

21、P,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。在项目中使用Hibernate框架,非常关键的一点就是要了解Hibernate的核心接口。Hibernate接口位于业务层和持久化层,如图1所示。图1 Hibernate核心接口的层次架构关系Hibernate的核心接口一共有5个,分别为:Session、SessionFactor

22、y、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用

23、户session。SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首

24、先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口:Transaction接口负责事务相关的操作。它是可选的,可发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。2 开发入门本框架是Stuts+Spring+Hibernate整合的一套框架,可应用于网站、应用等一系列项目中,配置简单及快速开发等优点。2.1.1 导入工程 启动Eclipse3.31、 启动Eclipse3.3后需要指定工作工间。工作空间是

25、所有项目的根本目。2、 导入框架项目:打开File选择Import项,导入工作空间里的项目。3、 选择General的Existing Projects into Workspace 进入你的工作空间。4、在工作空间里选择你要导入的工程。然后确定导入成功。2.1.2 框架结构src是存放所有JAVA代码目录resources:主要存放spring的配置文件。Web App Libraries/Referenced Library:引用的外部的jar包。Junit3:Junit测试jar包。JRE:jre引用jar包。EarContent:项目打包时存放war包及ear包的META-INF目录。

26、J2ee-lib:j2ee项目必需的jar包。WebContent:页面、及Struts的配置。 src 目录src是存放所有JAVA代码的根目录,包括框架的核心代码以及我们需要添加的代码都是在这个目录下面新建的。 core 目录1、 core 是框架的核心代码的根目录,如不需要对框架的改动和功能的扩一般不需要修改些目录下的代码。现有的框架己将些目录下的代码打包成 jar 文件。2、 core.dao 目录:a、 EntityDao.java : 针对单个Entity对象的操作定义.不依赖于具体ORM实现方案.b、 HibernateEntityDao.java:负

27、责为单个Entity对象提供CRUD操作的Hibernate DAO基类. 子类只要在类定义时指定所管理Entity的Class, 即拥有对单个Entity对象的CRUD操作.c、 HibernateGenericDao.java:Hibernate Dao的泛型基类. 继承于Spring的HibernateDaoSupport,提供分页函数和若干便捷查询方法,并对返回值作了泛型类型转换.3、 core.dao.extend目录:a、 EntityInfo.java:装载Entity信息的内部类.b、 HibernateEntityExtendDao.java:加强版的entity dao.

28、自动处理Undeletable Entity. Undeletable Entity 在删除时只把状态设为无效,不会真正执行删除. Undeletable Entity 可以通过annotation或接口两种形式来声明. 其中annotation模式不限制状态列的属性名必须为status,可以用注释来确定任意属性为状态属性.c、 Undeletable.java:标识商业对象不能被删除,只能被设为无效的Annoation. 相比inferface的标示方式,annotation 方式更少侵入性,可以定义任意属性代表status,而默认为status属性.d、 UndeletableEntity

29、.java:标识商业对象不能被删除,只能被设为无效的接口.e、 UndeleteableEntityOperation.java:定义如果支持Entity不被直接删除必须支持的Operation.4、 core.dao.support目录:a、 Page.java:分页对象. 包含当前页数据及分页信息如总记录数.5、Core.exception目录:a、BusinessException.java:业务异常基类.6、core.utils目录:a、BeanUtils.java:扩展Apache Commons BeanUtils, 提供一些反射方面缺失功能的封装.b、BlobUtil.java:

30、对二进制流进行处理的扩展类。c、DbUtils.java: 对特殊字符进行处理。d、GenericsUtils.java: Generics的util类. 通过反射,获得定义Class时声明的父类的范型参数的类型.e、NumberUtils.java: 提供高精度的运算支持. 所以函数以double为参数类型,兼容int与float.f、UserSession.java: 用ThreadLocal提供一个存储线程内变量的地方. 客户端代码可以用静态方法存储和获取线程内变量,不需要依赖于HttpSession. web层的Controller可通过此处向business层传入user_id之类的

31、变量g、WebUtils.java: 重载Spring WebUtils中的函数,作用如函数名所示 加入泛型转换,改变输入参数为request 而不是session7、core.web目录:a、StrutsAction.java: 简单封装Struts DispatchAction的基类. 提供一些基本的简化函数,将不断增强.b、StrutsEntityAction.java: 负责管理单个Entity CRUD操作的Struts Action基类. 子类以以下方式声明,并实现将拥有默认的CRUD函数目前封装了:index、list、create、edit、view、save、delete 七

32、种action的流程封装;doListEntity、doGetEntity、doNewEntity、doSaveEntity(),doDeleteEntity 五种业务函数调用,可在子类重载;initEntity、initForm两个FormBean与业务对象的初始函数及refrenceData,onInitForm,onInitEntity 三个回调函数;savedMessage、deletedMessage 两种业务成功信息,可在子类重载。8、core.web.support目录:a、DateConverter.java: 简易DateConverter. 供Apache BeanUtil

33、s 做转换,默认时间格式为yyyy-MM-dd,可由构造函数改变.b、StringConverter.java: 根据类名返回Object 对象。 resources 目录resources目录主要保存框架的一些配置文件。1) config 目录:a、 perties: 列表组件的配置文件。b、 perties: 数据源的配置文件。配所当前项目所用的数据库以及URL等。2) spring 目录:a、 applicationContext.xml: spring AOP 配置文件,主要对项目中所有对数据库操作的类配置事务管理。b、 a

34、pplicationContext-components.xml: spring 如果需要使用 WebService 的情况下对 XFire 进行配置。c、 dataAccessContext-hibernate.xml:spring 整合 Hibernate 的配置文件,对数据源、SessionFactory、mapping 等进行bean的管理。d、 serviceContext.xml:Hibernate 的 Manager 类的所有 bean 进行管理。 WebContent 目录Webcontent目录主要保存客户端的一些代码。1) commons保存公用的一些JSP页

35、面文件3) scripts保存JSP所需的JS文件。4) styles保存CSS样式文件以及JSP页面所需的图片等。5)WEB-INF是WEB项目的保留目录。主要保存项目的启动文件web.xml,Struts的配置文件struts-config.xml,Action的配置文件action-servlet.xml等。2.2 框架的简单使用在了解整个框架的目录结构和各类的作用基础上将继续学习怎样用框架来进行项目的创建以及一些功能的实现。2.2.1 数据源的配置1) 在perties文件中配置数源。jdbc.driverClassName:数据库驱动jdbc.url: 数据库urlj

36、dbc.password: 数据库用户名jdbc.password: 密码db.dialect: Hibernate 方言需要注意的地方就是,数据库方言的配置,这是Hibernate底将把HQL语句翻译成何种数据库语言的条件。2.2.2 POJO的创建POJO(plainordinaryjavaobject)简单java对象。一个POJO持久化以后就是PO;直接用它传递、传递过程中就是DTO;直接用来对应表示层就是VO。一般把所有POJO建立在一个model目录下。可根据项目录需要自行添架model的数量。本框架的使用了JDK1.5注释的新特性,省略了Hibernate的.hbm.xml 配置

37、文件。使用注释需要引入javax.persistence.* 来进行注释。1) 实体及表名的注释:EntityTable(name = CCD_INFORM)Entity 代表此POJO是一个实体类。Table :注释所映射的数据库表为哪一个。name 等于数据库表名。2) 主键的注释:IdGeneratedValue(strategy = GenerationType.AUTO)Id:注释些字段为为主键GeneratedValue:Id的生成机制。Column如果POJO字段与数据表字段不相同的话就需要配置此属性。例如:import javax.persistence.Entity;impo

38、rt javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;/* * EsWordEval entity. * * author MyEclipse Persistence Tools */EntityTable(name = ES_WORD_EVAL)public class EsWordEval private Integer eswordid;private String acce

39、ptid;private Integer appver;private String submitdate;private Integer doctype;private String crole;private Integer filesize;IdGeneratedValue(strategy = GenerationType.AUTO)public Integer getEswordid() return this.eswordid;public void setEswordid(Integer eswordid) this.eswordid = eswordid;public Stri

40、ng getAcceptid() return this.acceptid;public void setAcceptid(String acceptid) this.acceptid = acceptid;public Integer getAppver() return this.appver;public void setAppver(Integer appver) this.appver = appver;public String getSubmitdate() return this.submitdate;public void setSubmitdate(String submi

41、tdate) this.submitdate = submitdate;public Integer getDoctype() return this.doctype;public void setDoctype(Integer doctype) this.doctype = doctype;public String getCrole() return this.crole;public void setCrole(String crole) this.crole = crole;public Integer getFilesize() return this.filesize;public

42、 void setFilesize(Integer filesize) this.filesize = filesize;2.2.3 Manager的创建Manager 类也就是Hibernate操作数据库的DAO类。它必须继承核心类的:com.medicom.core.dao.HibernateEntityDao类(核心代码己经存在,不用自己再次创建),同时使用泛型类型。在Manager类里对数据表进行操作。可以使用核心代码里己要存在的方法进行CRUD操作,如不能满足需求,也可以自己扩展操作方法及HQL语句。getSession():得到Hibernate 的 Session接口。creat

43、eQuery(hql):进行查询操作。这个地方不用手动的开启事务。因为spring 的 AOP 己经管理事务了。例如:import java.util.List;import org.hibernate.Query;import com.medicom.core.dao.HibernateEntityDao;import com.medicom.dataContent.model.EsWordZxsms;public class EsWordZxsmsManager extends HibernateEntityDao SuppressWarnings(unchecked)public EsW

44、ordZxsms getEsEsWordZxsms(String sql)Query q = getSession().createQuery(sql);List list = q.list();if(list != null & list.size()!=0)EsWordZxsms esWordZxsms = (EsWordZxsms) list.get(0);return esWordZxsms;elsereturn null;2.2.4 Action的创建Action类是Struts的控制类,必须继承核心代码的 com.medicom.core.web.StrutsEntityActio

45、n类,其中泛型类型为POJO,DAO类型。在Action类里必实现Manager的set方法,并在配置文件里相应的配置才能进行Manager类的调用。例如:import com.medicom.core.web.StrutsEntityAction;import com.medicom.dataContent.manager.TkTaskManager;import com.medicom.dataContent.model.TkTask;public class TkTaskAction extends StrutsEntityAction private TkTaskManager tkT

46、askManager;public void setTkTaskManager(TkTaskManager tkTaskManager) this.tkTaskManager = tkTaskManager;2.3 配置文件2.3.1 Web.xmlWeb.xml是Web项目的启动配置文件,所有人WEB项目都是从web.xml开始启的,在Web.xml中可以配置监听器,servlet,启动初始化项目,预装载JSP等项目。例如:bmpencodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8h

47、ibernateFilterorg.springframework.orm.hibernate3.support.OpenSessionInViewFilterhibernateFilter*.doorg.springframework.web.context.ContextLoaderListenerorg.springframework.web.util.IntrospectorCleanupListeneractionorg.apache.struts.action.ActionServletconfig/WEB-INF/struts-config.xml1action*.dologin

48、.jspindex.html500/commons/error.jsp2.3.2 Struts-config.xml配置Struts-config.xml是Struts的配置文,主要配Struts的formbean,Action,forward等配置。为了使用方便,本框架使用动态formbean,所以勿需新建formbean类。只用在Struts-config.xml文件中配置: 配置Action: 其中action里的name名称必须与之相对应的formbean的name一致。配置forward: 其中name是在Action中要跳转的mapping,path是要跳转的目标页面。如果把Struts交给spring来管理的话还需使用插件。整个Action配置如下: 2.3.3 action-servlet.xml配置 action-servlet.xml主要配置Action的spring管理配置文件,需要注意的是:Name必须与struts-config.xml中的action配置中的path的值一致,c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论