`

Struts 学习笔记 一

    博客分类:
  • java
 
阅读更多

struts 1.2 

涉及到的包:
    commons-beanutils.jar : commons-beanutils.jar 提供对Java 反射和自省API的包装.
    commons-digester.jar  : Digester基于规则的XML文档解析,主要用于XML到Java对象的映射. 
    commons-fileupload.jar : 上传组件
    commons-logging.jar : 目的是提供一套轻量级的中间层日志接口,将项目与具体的日志框架解耦,
                                       从而实现不同日志框架之间的切换
    commons-validator.jar :包用来把验证规则程序提取出来,以供重复使用 
    jakarta-oro.jar : 一个Java工具包用来在 Java 类中进行文本处理的功能,
                                 提供兼容 Perl5 的正则表达式、类 AWK 的正则表达式等。
    struts.jar :     struts核心包
    antlr.jar:    语法分析生成器
    servlet_api.jar  : Java Servlet API的全部类和接口的详细说明
    aspectjweaver.jar : 用于在Spring 2.0中集成AspectJ AspectJ LTW织入器


web.xml 配置解析:

<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

 
    ActionServlet是Struts中最核心的部分,我们从这里开始。它相当于中央控制器,
我们来看看他是怎么样实现核心Control的。它是通过org.apache.struts.action.ActionServlet来实现的,
所有的请求通过它进行中转。它负责接受所有的request,并且产生相对应的response到请求的页面。
但是它怎么知道对应呢?这里就存在一个map文件(我习惯这么叫它)Struts-config.xml,
它包括了resource文件、如何到达下一个页面、下面一个页面是什么、页面的校验规则、
怎么样显示错误信息(如ActionMessage的使用)的定义。

<init-param>  
    <param-name>config</param-name>  
    <param-value>/WEB-INF/struts-config.xml</param-value>  
</init-param>  
<init-param>  
    <param-name>debug</param-name>  
    <param-value>3</param-value>  
</init-param> 

 
    
ActionServlet  初始化 config  成员变量 进行赋值
  public ActionServlet()//构造函数也已经进行了默认
 {
     ...
     config = "/WEB-INF/struts-config.xml";
     debug = 0;    
     ...
  }

<load-on-startup>0</load-on-startup>

     
    标记容器是否在启动的时候就加载这个servlet。
当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;
当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。
正数的值越小,启动该servlet的优先级越高。
    所以tomcat启动时会加载ActionServlet,也就是会执行ActionServlet中的init()方法,
Struts 的初始化实现就是在这里实现的。

<servlet-mapping>
  <servlet-name>action</servlet-name>
  <url-pattern>*.do</url-pattern>
</servlet-mapping>

    ActionServlet收到请求之后,它将会调用RequestProccessor对象来
处理httprequest请求的消息。如checkerrors等。下一步,它根据浏
览器的请求路径、struts-config.xml文件中对应的请求路径和Action Bean
的对应关系来调用对应的Action Bean的excute方法,action bean处理完成之后,
调用业务模型,调用完成之后,将含有返回下一个页面返回信息的ActionForward
对象传给ActionServlet,然后由actionservlet转换到下一个页面返回给浏览器。

web.xml

<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
        <param-name>config</param-name>
        <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
        <param-name>debug</param-name>
        <param-value>3</param-value>
    </init-param>
    <init-param>
        <param-name>detail</param-name>
        <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>

 

 

默认的ActionServlet会从配置文件web.xml中读取如下初始化参数:

application

应用使用的资源包(resources bundle)的基类

factory

用于创建应用的MessageResources对象的MessageResourcesFactory的类名。确省是org.apache.struts.util.PropertyMessageResourcesFactory。

config

Struts的配置文件,确省是/WEB-INF/struts-config.xml。注意这儿是与应用Context关联的相对路径。

content

定义了确省的内容类型和编码格式,它会被自动地被设置到每个response中,如果JSP/Servlet中没有明确的设置。确省是text/html。

debug

调试信息的级别。默认为0,比当前级别高的调试信息会被log到日志文件中。

detail

与debug的作用类似,只是这个detail是initMapping()时专用的。调试信息会被打印到System.out,而不是日志文件。

formBean

ActionFormBean的实现类,确省为org.apache.struts.action.ActionFormBean

forward

应用中使用的ActionForward类,确省是org.apache.struts.action.ActionForward。

locale

指定了确省使用的Locale对象。设为true,当得到一个session时,会自动在session中存储一个以Action.LOCALE_KEY标示的Locale对象,如果session中还没有与Action.LOCALE_KEY绑定的Locale对象。

mapping

应用中使用的ActionMapping类,确省是org.apache.struts.action.ActionMapping。

multipartClass

文件上传使用的MutipartRequestHandler的实现类。确省为org.apache.struts.upload.DiskMultipartRequestHandler

nocache

如果设为true,那么ActionServlet会自动在每个到客户端的响应中添加nocache的HTML头,这样客户端就不会对应用中的页面进行缓存。确省为false

null

如果设置为true,那么应用在得到一个未定义的message资源时,会返回null,而不是返回一个错误信息。确省是true。

maxFileSize

文件上传的大小上限,确省为250M

bufferSize

文件上传时的缓冲区的大小,确省为4M

tempDir

设置用于上传时的临时目录。工作目录会作为一个Servlet环境(Context)的属性提供。

validate

Are we using the new configuration file format?确省为true。

validating

在解析配置XML文件是是否进行有效性的验证。确省为true

分享到:
评论
1 楼 sblig 2012-09-17  
-Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M

相关推荐

    struts学习笔记

    Struts2 学习笔记-part2: 实现用户登录功能 在上一部分中,我们了解了构建一个基于Struts2的Java Web项目所需的基本库和配置文件。现在,我们将逐步实现一个简单的用户登录功能。 一、创建Action类 在Struts2框架...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    struts2学习笔记(完美总结)——转自OPEN经验库

    Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    struts2学习笔记总结

    Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是Action类,它是业务逻辑和视图之间的桥梁。通过使用拦截器,Struts2能够提供诸如输入验证...

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    struts2学习笔记(1)

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...

    struts2学习笔记

    struts2学习笔记struts2学习笔记struts2学习笔记

    struts2四天的学习笔记

    13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...

    struts 学习笔记(全)

    入门级的struts,适合新手入门

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    张龙圣思园struts2学习笔记word

    张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...

    struts学习笔记(四)

    Struts是Java Web开发中的一个开源框架,主要用来构建基于MVC(Model-View-...通过深入阅读“Struts学习笔记(四)”和配套的Struts.pdf文档,你将能够更好地掌握这一强大的工具,并将其应用于实际的项目开发中。

    struts2.0学习笔记1

    struts2.0学习笔记1 自己动手做的还算可以的 ]struts2.0学习笔记1 自己动手做的还算可以的struts2.0学习笔记1 自己动手做的还算可以的struts2.0学习笔记1 自己动手做的还算可以的

    struts2学习笔记3数据类型转换

    struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换

    Struts 学习笔记 Struts 中扩展JfreeChart 笔记

    Struts是Apache软件基金会下的一个开源框架,主要应用于Java Web应用程序的开发,它提供了一种组织应用程序代码的方式,使得开发者可以更有效地构建基于MVC(Model-View-Controller)架构的Web应用。JfreeChart则是...

    Struts1及14. Struts2学习笔记

    本学习笔记将对Struts1和Struts2进行详细解析。 **Struts1简介** Struts1是早期流行的MVC框架,它的核心是ActionServlet,负责处理HTTP请求,并通过ActionForm对象收集表单数据,然后调用Action类的方法进行业务...

    [摘]Struts 学习笔记之ActionForm

    博客文章"Struts学习笔记之ActionForm - xiaodaoxiaodao——蓝小刀的自言自语 - BlogJava.mht"可能包含更深入的实践示例和经验分享,包括如何处理ActionForm的生命周期、动态Form Beans、国际化等话题。通过阅读这篇...

Global site tag (gtag.js) - Google Analytics