`
dada_fangfang
  • 浏览: 146245 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts1学习(转)

阅读更多
Struts1.2教程一 Struts1.2入门



•我们为什么要用Struts1.2这个框架,他的到来到底为了解决什么样的问题

      在这前的我们已经学习了Java WEB,我们已经知道Java WEB开发的两个模式Model1和Model2,其中Model2模式借鉴了一种MVC模式(模型、视图、控制),这个模式能够有效的将业务与视图分开,从而将开发人员与网页美工人员分离开,有利于分工合作,但Model2模式也有它致命的弱点,由于所有的用户请求都通过控制器来与后台业务交互,但每一个用户请求又不同,这样我们就必须为每一个请求写一个控制器(servlet),如果一旦业务庞大,就可能有很多的控制器,这样会给系统维护和扩展都带来巨大的不便,为了解决这一问题基于MVC模式的开源框架Struts悄然问世,在这个框架中我们所有的请求都到一个中央控制器(ActionServlet)统一处理,这样既有利于我们的维护工作,也增强了系统的扩展性。



•Struts1.2初始化流程和具体工作流程
       初始化流程:struts最主要的是中央控制器(ActionServlet),它和其他Servlet一样,ActionServlet的加载取决于Servlet容器(WEB容器)来决定,容器根据配置文件(web.xml)的<load-on-startup>标签决定是在容器启动时加载还是第一次请求到来时加载。不管哪种方式,当ActionServlet加载时,ActionServlet加载并初始化Struts配置文件struts-config.xml,它会把每一个<action>标签的内容生成ActionMapping对象存放在内存中,对于每一个<form-bean>标签会生成ActionFormBean对象存放在内存中等等,最后加载并初始化消息文件到内存中。

(<load-on-startup>5</load-on-startup>,标记容器是否在启动的时候就加载这个servlet,当值为0或者大于0时,表示容器在应用启动时就加载这个servlet 当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载,正数的值越小,启动该servlet的优先级越高)

       基本工作流程:当完成Struts初始化工作后,以下是一个请求到来时的工作流程。

          1.一个请求到来,在内存中找到与之匹配的ActionMapping对象,如果没有找到这提示请求路径错误信息,如果找到进入第二步;

          2.找到ActionMapping对象对应的formBean,并创建一个实例把请求信息填充到对象中;

          3.根据配置的validate属性决定是否进行表单验证,如果需要则执行formbean的validate方法,如果返回null或者不包含ActionMessage的ActionErrors对象,则表明验证通过,如果不通过则根据配置的input属性的值跳到相应的错误页面;

          4.通过验证后配置的映射对象并创建该Action对象,执行execute方法完成业务逻辑的操作,返回一个ActionForward对象,ActionServlet根据返回的ActionForward对象,生成动态页面并响应给客户端。





•Struts1.2的几个知识点
          1.Struts1.2的初始化流程和工作流程;

          2.Struts1.2实质上应用了JavaEE的前端控制器模式,所有用户的请求都由这个控制器统一处理;

          3.Struts1.2在视图层有一些JSP组件和ActionFormBean来实现,控制器由ActionServlet和Action来完成,对于模型层Struts1.2没有对其实现,一般由javabean和EJB来完成;

          4.Struts标签如<bean:message>可以将消息文件中的文本显示在JSP页面,这样Struts1.2可以对国际化的实现;

          5.Struts1.2的核心配置文件struts-config.xml必须在web.xml配置文件中注册,因此struts-config.xml文件名是可以改动的。
分享到:
评论

相关推荐

    Struts 1 学习资料

    首先,开始学习Struts 1需要搭建环境。这通常包括创建一个Web工程,导入所需的Struts库。Struts 1的配置文件主要包括`struts-config.xml`和`web.xml`。`struts-config.xml`是Struts框架的核心配置文件,用于定义...

    struts2 学习重点笔记

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

    struts2学习心得

    Struts2是Struts框架的升级版本,它继承了Struts1的优点并在此基础上进行了改进,提供了更丰富的功能和更好的性能。Struts2基于MVC(Model-View-Controller)设计模式,能够帮助开发者构建出结构清晰、易于维护的Web...

    struts2学习 源码

    1. **动作(Action)**:在Struts2中,业务逻辑通常封装在Action类中。Action类负责处理用户请求,并与模型交互,最后返回一个结果。 2. **配置文件**:Struts2使用XML配置文件(struts.xml或struts.properties)来...

    struts2.0整合Struts 1

    Struts 2整合Struts 1,允许开发者利用Struts 1已有的投资,同时享受Struts 2带来的优势,如增强的类型安全和更强大的拦截器机制。 在《Struts 2权威指南--基于WebWork核心的MVC开发》这本书中,作者李纲深入浅出地...

    struts2(1-7)源码 struts2学习入门 源码学习

    struts2 将要进行自定义类型转换的点数据从1个增加到3个 struts3 进行全局的类型转换 struts4 使用Struts2中内部类中的方法进行自定义类型转换,用到的类StrutsTypeConverter struts5 增加集合类型,使用范型 ...

    struts2学习笔记三(第3讲.Struts2的类型转换)

    在本篇“Struts2学习笔记三”中,我们将聚焦于Struts2的类型转换这一核心特性。类型转换在处理用户提交的数据时非常关键,它允许Struts2自动将请求参数转换为Java对象的属性。 在Struts2中,类型转换主要由`...

    struts2 学习资料

    1. **Action类**:在Struts2中,Action类是业务逻辑的载体,它处理用户的请求并返回相应的结果。Action类通常继承自`com.opensymphony.xwork2.ActionSupport`或自定义基类,并通过注解或配置文件来指定执行方法。 2...

    struts2中文学习文档

    1. **官方文档**:Struts2的官方网站提供了详细的官方文档,包括快速入门指南、API文档和常见问题解答,是学习Struts2的第一手资料。 2. **在线教程**:互联网上有大量的Struts2教程,从基础到进阶,覆盖了Struts2的...

    Struts1.x-Jdbc,学习Struts1.的曾删改查

    通过以上知识点的学习,开发者可以熟练地在Struts1.x框架下利用JDBC进行数据库操作,实现Web应用的增删改查功能。在实际开发中,还需要结合具体项目需求,考虑数据缓存、安全性、可扩展性等因素,以构建高效、稳定的...

    struts1 时间转换的实现 demo

    Struts1是一个经典的Java Web开发框架,它在2000年代初期被广泛使用,为开发者提供了MVC(Model-View-Controller)架构的支持。在Struts1中,时间转换是一个重要的部分,尤其是在处理用户输入的数据时,如日期和时间...

    struts1完整demo

    在这个"struts1完整demo"中,我们可以回顾和学习Struts1框架的基础知识和核心概念。 1. **MVC模式**:MVC模式是软件设计模式的一种,将业务逻辑、数据和用户界面分离。Struts1框架实现了这一模式,Controller由...

    Migrating From Struts1 To Struts2

    - **优点**:Struts1在业界有着广泛的使用基础,大量的文档和示例使得学习成本较低;HTML标签库非常强大,能够满足大部分前端需求。 - **缺点**:ActionForm类的设计较为复杂,增加了代码量;单元测试支持不足,只能...

    struts2学习笔记.doc

    - **Struts2的起源**:Struts2最初由WebWork和Struts1的核心开发者联合创建,其目的是为了弥补这两个框架的不足之处。 **1.2 开发环境配置** - **IDE选择**:Eclipse 3.2 + MyEclipse 5.5。 - **Servlet Container*...

    Struts1 从0开始到熟练掌握【PDF文档】

    Struts1 是一款经典的Java Web框架,由Apache软件基金会开发,用于构建...在提供的压缩包文件"04Struts1"中,可能包含了关于Struts1的更多实例代码和讲解文档,建议读者结合这些资料深入学习,通过实践来巩固理论知识。

    struts1 开源项目研究

    Struts1是一个经典的开源MVC框架,由Apache软件基金会维护,它在Java Web开发领域有着广泛的应用。这个项目的研究将帮助我们深入理解Web应用程序的架构设计,以及如何通过框架简化开发流程。 首先,Struts1的核心是...

    struts1.x apps 所有最新的Struts1.x项目应用

    5. **异常处理和验证**:学习如何利用Struts1.x的验证框架和异常处理机制来增强应用的健壮性。 6. **最佳实践**:学习社区推荐的最佳实践,避免常见的设计和安全陷阱。 总之,Struts1.x作为Java Web开发中的经典...

    struts1 api 帮助文档

    通过深入学习和理解这些API,开发者能够更好地掌握Struts1框架,从而高效地构建Java Web应用程序。在实际开发中,结合配置文件、标签库和业务逻辑,开发者可以构建出既健壮又易于维护的Web应用。

    struts2学习笔记

    1. **不使用Struts2进行上传**:可以使用Servlet API直接处理文件上传,但Struts2提供了更简便的API。 2. **使用Struts2进行上传**:Struts2提供`CommonsFileUploadInterceptor`来处理文件上传,可以方便地获取文件...

    日文struts学习ppt

    根据给定的日文Struts学习PPT的内容,我们可以总结出以下关键知识点: ### Struts简介 **Struts** 是一种广泛应用于Java Web应用程序开发的框架。它是一个开源项目,具有高度的信任度,因为该框架已经得到了广泛...

Global site tag (gtag.js) - Google Analytics