`
robinsoncrusoe
  • 浏览: 746708 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

开源web框架-Struts配置文件

    博客分类:
  • J2EE
阅读更多
开源web框架-Struts配置文件
发布时间:2006.03.10 10:09     来源:blog.csdn.net    作者:baggio785

Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。

Struts应用采用两个基于XML的配置文件来配置,分别是web.xml和struts-cofig.xml文件.web.xml文件是配置所有 web应用的而struts-config.xml文件是struts专用的配置文件,事实上也是可以根据需要给这个配置文件起其他名称的.

Web应用的发布描述文件:web应用发布描述文件可以在应用开着者,发布者和组装者之间传递配置信息,Web容器在启动的时候从该文件中读取配置信息, 根据它来装载和配置web应用.文档类型定义DTD对XML文档的格式做了定义,DTD吧XML文档划分为元素,属性,实体每一种XML文档都有独自的 DTD文件.可以从网上下载.元素是web.xml的根元素,其他元素必须嵌入在元素之内.要注意的是子元素也是有顺序的比如必须是首先,然后最后.

为Struts应用配置Web.xml文件:首先最重要的一步是配置ActionServlet,这个用标签的servlet-name属性起一个名字叫action,然后用servlet-class属性指定ActionServlet的类.然后用标签的servlet-name属性指定action,在用url-pattern指定接收范围是*.do的请求.不管应用中包含了多少子应用,都只需要配置一个ActionServlet,类来出来应用中的不同的功能,其实者就是不必要的,因为Servlet本身就是多线程的,而且目前Struts只允许配置一个ActionServlet.声明ActionServlet的初始化参数:的子元素用来配置Servlet的初始化参数.param-name设置config参数名.param-value设置struts-config.xml的路径参数值.

配置欢迎使用清单:如果客户访问Web的时候值是访问了WEB应用的根目录URL.没有具体的指定文件,Web会自动调用Web的欢迎文件.元素来配置的.通过其中的欢迎页面来配置.

配置错误处理:尽管Struts框架功能强大的错误处理机制,但是不能保证处理所有的错误或者异常.当错误发生时,如果框架不能处理这种错误,把错误抛弃给Web容器,在默认的情况下web容器会想客户端返回错误信息.如果想避免让客户看到原始的错误信息,可以在Web应用发布描述文件中配置元素.通过404来定义错误的类型.然后通过要处理错误的JSP页面来对错误进行处理.还可以用来设置异常,然后通过来处理异常的JSP页面来处理异常.

配置Struts标签库:这个就和以前学到的JSP自定义标签类似,配置元素为来配置.这个指定标签库的uri,类似起一个名称.这个是标签库的位置也就是实际所在的路径.通过这样的方法引入一个标签库,然后在前台JSP页面就可以通过自己定义的URI来调用标签.

Struts配置文件:struts-config.xml文件.首先研讨一下org.apache.struts.config包,在struts应用启动的时候会把Struts配置文件信息读取到内存中,并把它们存放在config包中相关的JavaBean类的实例中.包中的每一个类都和 struts配置文件中特定的配置元素对应,ModuleConfig在Struts框架中扮演了十分重要的角色,它是整个config包的核心,在 Struts运行时来存放整个应用的配置信息.如果有多个子应用都会有一个ModuleConfig对象,它和Struts文件根元素的对应.根元素中包含等元素.

元素:时Struts配置文件的根元素,和它对应的配置类ModuleConfig类,元素有8个子元素.他们的DTD定义是data-sources?form-bean? global-exception?global-forwards?action-mapping?controller?message- resources?plug-in*在Struts配置文件中,必须按照DTD指定的先手顺序来配置元素的各个子元素,如果颠倒了这些子元素的顺序,会产生错误.

元素:用来配置应用所需要的数据源, 数据源负责创建和特定的数据库的连接.许多数据源采用连接池的机制实现.以便提高数据库访问的性能.JAVA语言提供了 javax.sql.DataSource接口,所有的数据源都必须实现这个接口.许多应用服务器和Web服务器都提供了数据源组件.很多数据库厂商也提供了数据源的实现.元素包含多个子元素永远配置特定的数据源.他们可以包含多个子元素用于设置数据源的各种属性.配置了数据源以后,就可以在Action类中访问数据源,在Action中定义了 getDataSource(HttpRequest)方法,用于获取数据源对象的引用.然后可以利用DataSource对象调用 getConnection获取一个连接对象对数据库进行操作.在配置文件中声明多个数据源的时候需要为每一个数据源分配唯一的Key值,通过这个来表示特定的数据源.获取特定的数据源的时候可以用dataSource = getDataSource(reqeust,”A”);

元素:用来配置多个ActionForm,包含一个或者N个子元素.每个元素都包含多个属性.className指定和匹配的类.name指定该ActionForm的唯一标识符,这个属性是必须的以后作为引用使用.type指定ActionForm类的完整类名,这个属性也是必须的.注意包名也要加上.是指定动态的Form的元素,以后会深入了解.

元素:用于配置异常处理,元素可以包含一个或者多个元素,用来设置JAVA异常和异常处理类ExceptionHandler之间的映射.className指定和元素对应的配置类,默认的不用动.handler指定异常处理类默认是ExceptionHandler.key指定在本地资源文件中异常的消息Key,path指定当前异常发生的时候转发的路径.scope指定ActionMessages实例存放的范围.type指定需要处理异常类的名字,必须的.bundle指定 Resource Bundle.

元素:用来声明全局转发,元素可以有一个或者N个元素组成,用于把一个逻辑名映射到特定的URL,通过这种方法Action类或者JSP页面无需指定URL,只要指定逻辑名称就可以实现请求转发或者重定向.这样可以减少控制组件和视图的聚合.易于维护.className对应的配置类.contextRelative如果为true表示当path属性以 /开头的时候,给出的是对应的上下文URL默认是false.name转发路径的逻辑名,必须写.path转发或者重定向的URL,必须写必须是以/开头.redirect设置为true的时候表示执行重定向操作,此项为false的时候,表示执行请求转发操作.重定向与请求转发的区别以后就是重定向是把请求生成应答给客户端然后在重新发送给定向的URL,浏览器地址栏会有显示.而转发就是直接把请求转发给本应用的另一个文件,不生成应答所以客户端IE 没显示.

元素:包含一个或者N个元素,描述了从特定的请求路径到响应的Action的映射.在元素中可以包含多个和子元素,他们分别配置局部异常处理和局部转发.attribute设置Action关联的ActionForm在request或者session范围内的 key.就是在request或者session共享内的名称.className对应配置元素的类.默认的是 ActionMapping.forward指定转发URL路径include指定包含URL路径.input指定包含表单的URL,当表单验证失败的时候发送的URL.name,指定和该Action关联的Form名字.该名字必须是在form-bean中定义过的,可写可不写.path必须/开头的方位Action的路径.parameter指定Action配置参数.在Action的execute()方法中可以调用ActionMapping的 getParameter()方法来读取匹配的参数.roles指定允许调用该Action的安全角色,多个角色之间逗号格开.scope指定Form的存在范围.默认是session.tyep指定Action的完整类名.unknown如果是true表示可以处理用户发出的所有的无效的 ActionURL默认是false.validate指定是否调用ActionForm的validate方法.

元素:用于配置 ActionServlet.buffreSize指定上载文件的输入缓冲大小.该属性为可选默认4096.className指定元素对应的配置类,ControllerConfig.然后是contentType指定响应结果内容类型和字符编码,该属性为可选,默认是text/html如果在 Action或者JSP网页也设置了类型内容,会覆盖这个.locale指定是否把Locale对象保存到当前用户的session中默认 false.tempDir指定处理文件上载的临时工作目录.nochache如果是true在响应结果中加入特定的头参数.

元素:用来配置 Resource Bundle.用于存放本地文本消息文件.className元素对应的配置类.MessageResourcesConfig.factory指定消息的工厂类.key指定文件存放的Servlet对象中采用的属性Key.null指定如何处理未知消息.parameter指定消息的文件名.

元素:用于配置Struts插件.

配置多应用模块:所有的子应用都可以共享同一个ActionServlet实例,但是每个子应用都有单独的配置文件.把应用划分为多个子应用模块.首先为每个应用创建单独的Struts配置文件,在web.xml的 ActionServlet配置代码中添加几个子应用信息.采用元素来实现应用之间的切换.

Digester组件:是一个Apache的另一个开源代码项目.当Struts被初始化的时候,首先会读取并解析配置文件,框架采用Digester组件来且西配置文件.然后创建config包中的对象.者对象用于存放配置信息.

其实配置文件不难,只要都理其中的原理就OK了.真正实际的项目开发中,采用的工具例如Eclipse系列,提供了相应的插件,在创建一个Struts工程的时候配置文件的标签都是自动生成的,而我们只需要往里面填写属性就OK了.


分享到:
评论

相关推荐

    跟我学Java_Web--Struts2技术详解

    - 在`web.xml`中配置`ActionServlet`这个控制器,确保所有用户请求都能被Struts2框架接收并处理。 #### 三、Struts2的关键特性 **1. 校验框架**: - Struts2提供了强大的校验功能,可以轻松实现数据验证,提高应用...

    org.springframework.web.struts-3.1.0.M2.jar

    同时,Struts的配置文件(struts-config.xml或struts2的struts.xml)也需要进行相应的调整,引入Spring的插件和配置信息。 `springframework-license.txt`文件则包含了Spring框架的许可协议,它规定了软件的使用、...

    多个struts配置文件使用

    以下是对“多个struts配置文件使用”这一主题的详细解析。 ### 一、Struts框架概述 Struts是一个开源的MVC(Model-View-Controller)框架,用于构建可扩展的企业级Java Web应用程序。它提供了一种结构化的方式来...

    WEB-struts课件.rar

    最后,随着Spring MVC和其他现代Web框架的崛起,虽然Struts在某些方面可能显得略显陈旧,但理解其工作原理对于理解其他MVC框架仍然大有裨益。因此,这份WEB-struts课件对于想要深入了解Java Web开发历史和原理的...

    struts-ajax-json-struts包

    使用这些库和插件时,开发者需要在Struts配置文件中定义AJAX和JSON相关的配置,比如指定AJAX结果类型或者JSON插件的设置。同时,前端页面需要使用JavaScript(可能是jQuery或其他库)来发起AJAX请求,并处理返回的...

    搭建SSH框架需要引入的Struts2包(log4j,spring-web,struts2-spring-plugin)

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。在构建SSH框架时,每个框架都扮演着不同的角色,以提供一个高效、可扩展的后端架构。现在我们来详细了解一下搭建SSH...

    猜数字---------struts

    Struts是Apache软件基金会下的一个开源项目,它是一个用于构建企业级Java Web应用程序的MVC(Model-View-Controller)框架。在这个游戏中,用户可能会与服务器进行交互,尝试猜测一个预设的数字。 描述中提到的...

    上传文件--struts

    【标题】:“上传文件--struts” 在Java Web开发中,Struts框架是一个非常流行的MVC(模型-视图-控制器)架构,用于构建企业级应用程序。Struts 1是其早期版本,而Struts 2是其后续的升级版,提供更强大的功能和更...

    spring-struts.jar

    在实际项目中,整合步骤通常包括配置 Struts 的配置文件(struts-config.xml),添加 Spring 的配置文件(如 applicationContext.xml),以及在 Struts 的 Action 类中声明并注入 Spring Bean。例如,一个简单的 ...

    MYECLIPS--STRUtS教程--PDF

    Struts是Apache软件基金会 Jakarta项目下的一个开源框架,主要用于构建基于Java EE的Web应用程序。它提供了MVC(Model-View-Controller)设计模式的实现,帮助开发者更好地组织和管理代码,提升开发效率。MYECLIPS--...

    SSH 框架 struts-2.3.34 spring4.3.12 hibernate5.0.12

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个框架集合提供了一种高效且强大的方式来构建企业级应用,它整合了模型-视图-控制器(MVC)设计模式、依赖注入(DI)...

    jakarta-struts-1.2.0-lib

    Struts是Apache软件基金会 Jakarta项目下的一个开源框架,主要用于构建基于Java的企业级Web应用程序。Jakarta Struts 1.2.0是该框架的一个版本,发布于2004年,它为开发者提供了模型-视图-控制器(MVC)架构,帮助...

    spring-struts2-maven

    Struts2是一个基于MVC设计模式的Java Web框架,用于构建可维护性高、结构清晰的Web应用程序。它继承了Struts1的优点,并引入了拦截器(Interceptor)机制,增强了灵活性和可扩展性。Struts2与Spring集成,可以实现...

    test-struts-all

    Struts是Apache软件基金会旗下的一款开源Java Web框架,主要用于构建MVC(Model-View-Controller)架构的应用程序。"test-struts-all"这个压缩包很可能包含了一整套关于Struts框架的示例代码、配置文件和其他相关...

    SSH框架整合中struts2框架所需要的配置文件

    SSH框架是Java Web开发中的一种经典组合,由Spring、Struts2和Hibernate三个开源框架组成。这个框架集合提供了模型-视图-控制器(MVC)的完整解决方案,用于构建高效、可扩展的企业级应用程序。在SSH框架整合中,每...

    rapidsh-SSH经典整合框架-包括权限管理-文件上传下载-用户管理-分页-lookup

    同时,Spring MVC是Spring提供的一个轻量级Web框架,与Struts2类似,它也实现了MVC模式,但提供了更简洁的配置和更好的性能。 **Hibernate**:Hibernate是一个对象关系映射(ORM)框架,它可以将Java对象映射到...

    技术我之见----struts

    Struts作为一个开源的MVC框架,它为开发者提供了构建可维护、结构清晰的Web应用程序的工具和结构。通过分离业务逻辑、用户界面和控制流程,Struts使得项目更易于测试和扩展。它基于Servlet和JSP技术,遵循Sun ...

    java-struts-spring

    Struts是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Web应用框架。Struts主要负责控制层的工作,通过ActionServlet来协调HTTP请求和业务逻辑处理。它提供了一系列的组件,...

    Struts2框架程序示例

    Struts2框架是Java Web开发中的一个重要组成部分,它是一个基于MVC(Model-View-Controller)设计模式的开源框架,旨在简化企业级应用的开发。本示例将深入讲解Struts2框架的核心概念、主要特性以及如何在实际项目中...

    ssh(Struts2+hibernate+spring)三大开源框架的参考文档

    SSH是Java开发中广泛使用的三大开源框架,包括Struts2、Hibernate和Spring。这三大框架在Web应用开发中各自承担着不同的职责,协同工作以提高开发效率和代码质量。 Struts2是MVC(Model-View-Controller)设计模式...

Global site tag (gtag.js) - Google Analytics