1struts的框架介绍
struts2由struts1和webwork结合而来,更准确的的说是在struts1 的基础上按照webwork的设计理念发展起来的,实际上学过webwork的人更加容易平滑的过度到轻松的使用struts2,struts2与struts1实际上已经有很大的不。

1.1  struts2框架结构

下图为struts2的体系概图。

Struts2框架的大致处理流程如下:

>浏览器发送请求,例如:http://localhost/struts2/helloworld.jsp或者http://localhost/struts2/helloworld.action或者http://localhost/struts2/helloworld.pdf等

>struts2的核心控制器FilterDispatcher根据请求决定调用用合适的Action。

>拦截器链自动对请求应用,例如验证用户是否是登陆状态啊,validation,文件上传等操作。

>调用action的的execute的方法,execute方法会先获取用户的发过来的请求参数,然后执行某种数据库操作,可以是对对数据库中检索信息,可以是将数据保存到数据库中。实际上。这些操作都是由action调用对应的业务逻辑组件来完成的,action实际上只是一个控制器来调度业务逻辑组件来处理用户的请求。

>action的execute方法会将最终处理的结果信息输出到浏览器中,这些数据可以是HTML页面,图像,pdf和其他文档。Struts2支持的视图技术非常多支持Jsp,支持Velocity,FreeMarker等模板技术。

1.2 struts2的控制器组件

Struts2的控制器组件是struts2框架的核心,struts2的控制器组件由FilterDispatcher和业务控制器Action组成。核心控制器根据用户请求决定调用哪个Action,用户定义的业务控制器Action来处理用户的请求。总结起来,Action类有如下优势:

》action类完全是也一个pojo,完全不需要继承任何类或实现任何接口就可以被struts框架所有,因此具有很好的代码复用性。

》action类无需与servlet API耦合,因此进行单元测试非常简单,软件也更好的实现了分层。

》action类的execute方法仅返回一个字符串作为处理结果可以映射到任何的视图资源,甚至是另一个action。

1.3  struts2的配置文件

struts的配置文件有配置Action的struts.xml文件和配置struts2全局属性的struts.properties文件。

》struts2.xml文件内定义了struts2的系列action,action的name属性指定请求来自哪个jsp等页面,其class属性定义了处理对应请求的action实现类,其子元素result则定义了action实现类的处理结果与视图资源之间的映射关系。

》struts2配置struts2.xml文件全局属性的的struts.properties文件示例如下:

struts.customer.i18n.resources= myi18n

这里定义了struts在哪里找到国际化资源文件啊。

1.4  struts的标签库

struts的标签库的标签库是struts2的重要组成部分,不仅提供了表现层的表单,数据处理功能,还提供了对表单的校验,基本的流程控制,国际化,支持ajax的功能,使用struts的标签库,可以大限度的减少页面代码的书写。

struts的框架介绍相关推荐

  1. struts2框架之struts框架介绍

    如今,在Java Web 学习中,框架的学习是很重要的一个环节,大家很熟悉的名词SSH,代表的就是Struts.Spring.Hibernate三大框架.SSH也是现如今企业主流的JavaEE开发的一 ...

  2. 流行的9个Java框架介绍: 优点、缺点等等

    流行的9个Java框架介绍: 优点.缺点等等 在 2018年,Java仍然是世界上最流行的编程语言.它拥有一个巨大的生态系统,在全世界有超过900万Java开发人员.虽然Java不是最直接的语言,但是 ...

  3. ❤️六万字《SpringMVC框架介绍—从入门到高级》(建议收藏)❤️

    <SpringMVC框架介绍>(建议收藏) ❤️希望博友给个三连+关注!!! SSM: mybatis + Spring + SpringMVC MVC三层架构 SpringMVC + V ...

  4. java目前主流框架_java的三大主流框架介绍

    <java的三大主流框架介绍>由会员分享,可在线阅读,更多相关<java的三大主流框架介绍(2页珍藏版)>请在装配图网上搜索. 1.java的三大主流框架介绍java的三大主流 ...

  5. python爬虫scrapy框架教程_Python爬虫教程-30-Scrapy 爬虫框架介绍

    从本篇开始学习 Scrapy 爬虫框架 Python爬虫教程-30-Scrapy 爬虫框架介绍 框架:框架就是对于相同的相似的部分,代码做到不出错,而我们就可以将注意力放到我们自己的部分了 常见爬虫框 ...

  6. 2019年上半年收集到的人工智能开源框架介绍文章

    2019年上半年收集到的人工智能开源框架介绍文章 TensorFlow基本使用 TensorFlow.js:让你在浏览器中也能玩转机器学习 人工智能学习框架TensorFlow渐近分析 TensorF ...

  7. ESFramework网络通信框架介绍之(2)――网络通信消息NetMessage

    ESFramework网络通信框架与元数据 较之C++而言,.NET是一个更加"动态"的平台,其动态能力建立在反射机制之上,而反射的基础是"元数据". 上文已经 ...

  8. dommel mysql_.Net Core AA.FrameWork应用框架介绍

    开发多年,一直在从社区获取开源的便利,也深感社区力量的重要性,今天开源一个应用基础框架AA.FrameWork,也算是回馈社区,做出一点点贡献,希望能够帮助类似当年入行的我. AA.FrameWork ...

  9. Foundation框架介绍

    Foundation框架介绍 前言 在开发初期,个人发现开发主要涉及到这几个方面:语言语法使用.UIKit.Foundation, 语言是开发基础,UIkit主要负责用户界面设计,其他最常用的就是Fo ...

最新文章

  1. Git 常用命令集锦
  2. 网络摄像机ip修改工具_网络监控怎么连接网络
  3. Collections.toMap 报错 空指针 key重复
  4. 40岁“老程序员”的“辛酸”自述:
  5. PHP--去除字符串首尾空格
  6. 用开源代码如何建立网站_糖尿病患者找到开源并建立自己的医疗设备
  7. 【clickhouse】Code: 135. DB::Exception: Received from xxx:9000. DB::Exception: Indices in strings are
  8. 1.6.jquerymobile--列表
  9. LeNet卷积神经网络
  10. hdu 5901 Count primes 素数计数模板
  11. Apache访问localhost页面403Forbidden
  12. 学生选课系统项目分析-1,架构
  13. 远程连接Linux密码特殊字符,[转载]linux shell 命令_特殊字符
  14. 如何在Vue项目中使用websql数据库
  15. 乐购系统源码可多开站
  16. 微软服务器补丁管理软件,微软IT的补丁管理-MicrosoftDownloadCenter.PDF
  17. mysql数据抽取_史上最简单的数据抽取
  18. C++ STL库(6)
  19. flac格式转mp3
  20. galaxy tab p1000 升级android,三星Galaxy Tab P1000 简朴的刷机教程(附rom包下载地址)...

热门文章

  1. 超乎认知 认知智能十大黑科技 我国首次对外公布 道翰天琼认知智能
  2. GitHub如何使用
  3. 内容制作新纪元:AIGC技术的革命性影响
  4. git 创建分支并推送远端
  5. Maven下载及安装教程详解
  6. Excel VBA初级系列培训--课时1
  7. android加入聊天功能,app实现聊天功能 - houwanmin的个人空间 - OSCHINA - 中文开源技术交流社区...
  8. 1823. 找出游戏的获胜者
  9. java常见的命名规则
  10. java — 多线程设计模式