`
dada_fangfang
  • 浏览: 144663 次
  • 性别: 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文件名是可以改动的。
分享到:
评论

相关推荐

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

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

    struts1跳转大全

    struts1 中跳 转 方 法 大 全,欢迎下载学习

    Struts2 学习笔记

    01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...

    struts学习笔记(2)

    当前struts2的filter过滤到一个.action结尾的请求的时候,会把这个请求交给struts2内部的拦截器(interceptor) 2)拦截器起到什么作用 可以帮我们丰富action的功能,比自动类型转换(页面传一个String类型的id,接收的...

    BBS-struts2课程设计-南工考研论坛

    1.论坛实现基本的用户交流要求,前台浏览,后台管理 2.游客可以浏览帖子,注册为用户才可回复和发帖(自定义拦截器实现) 3.管理员管理后台,帖子信息,回复信息和用户信息 特色功能: (1) BBS是网络中的电子公告版...

    Struts2 in action中文版

    第1章 Struts 2:现代Web框架 2 1.1 Web应用程序:快速学习 2 1.1.1 构建Web应用程序 2 1.1.2 基础技术简介 3 1.1.3 深入研究 6 1.2 Web应用程序框架 7 1.2.1 什么是框架 7 1.2.2 为什么使用框架 8 1.3 Struts 2框架...

    深入浅出Struts2

    书中概念清晰、环环相扣,便于读者高效地学习。 本书适合Java Web 程序员阅读和参考,也可以作为计算机相关专业教材。 第1章 Model 2应用程序 第2章 初识Struts 第3章 动作与结果 第4章 OGNL 第5章 表单标签 第6章 ...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    书中概念清晰、环环相扣,便于读者高效地学习。《深入浅出Struts2》适合Java Web 程序员阅读和参考,也可以作为计算机相关专业教材。 编辑推荐 《深入浅出Struts2》是广受赞誉的Struts2优秀教程.它全面而深入地...

    Struts2+Jquery实现ajax并返回json类型数据

    主要实现步骤如下: 1、JSP页面使用脚本代码执行ajax请求 2、Action中查询出需要返回的数据,并转换为json类型模式数据 3、配置struts.xml文件 4、页面脚本接受并处理数据!

    java从入门到精通70个PPT

    javaPPT 从入门到精通 从基础到框架 70个PPT 1.初识java 2.变量、数据类型和运算符和表达式 3运算符和程序流程结构 ...67 Struts 1基础 68 Struts 1应用 69 在线培训:JFreeChart 70 指导学习:课程总复习

    flex 4 学习资料

    用flex开发过程中积累下来的资料,供flex初学者学习! 以下为部分资料标题: /***************************************/ 在tomcat中部署安装Flex Data Services (LiveCycle DS) [转]_baidu_百度空间 基于flex4技术...

    Java语言基础下载

    学习目标 1 Java历史 2 Java技术概述 3 Java技术的优点 3 Java虚拟机 4 类加载器 6 Windows环境变量 8 内容总结 13 独立实践 14 第二章: 面向对象概述 15 学习目标 15 面向对象(Object Oriented) 16 面向对象的主要...

    Java学习笔记-个人整理的

    \contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...

    java从零开始全栈离线教程

    3 后端框架:Hibernate、Struts、SpringBoot,、Mybatis 等等 4 工具知识:MAVEN、Redis、Docker、Git 等等 5 数据库:oracle、mysql 6 实践项目:基于不同框架的完整的模仿天猫整站的项目J2EE、 SSH、SSM、...

    java web技术开发大全(最全最新)

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握...

    java web开发技术大全1 pdf

    通过对这两个实例的学习,读者可以对SSH开发模式有更透彻地理解和认识。SSH是目前最流行的Java Web开发技术。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》适合广大从事Java Web开发工作的...

    java web开发技术大全

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握...

    整理后java开发全套达内学习笔记(含练习)

    补码= 反码 +1 正数=负数的补码(反码+1) 反码= 非(二进制数) 八进制数,零开头 011(八进制)=9(十进制) 十六进制数,零x开头 0x55(十六进制)=5*16+5(十进制) 类型:数据都必须有类型 boolean (8bit,不定...

Global site tag (gtag.js) - Google Analytics