struts的框架介绍
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的框架介绍相关推荐
- struts2框架之struts框架介绍
如今,在Java Web 学习中,框架的学习是很重要的一个环节,大家很熟悉的名词SSH,代表的就是Struts.Spring.Hibernate三大框架.SSH也是现如今企业主流的JavaEE开发的一 ...
- 流行的9个Java框架介绍: 优点、缺点等等
流行的9个Java框架介绍: 优点.缺点等等 在 2018年,Java仍然是世界上最流行的编程语言.它拥有一个巨大的生态系统,在全世界有超过900万Java开发人员.虽然Java不是最直接的语言,但是 ...
- ❤️六万字《SpringMVC框架介绍—从入门到高级》(建议收藏)❤️
<SpringMVC框架介绍>(建议收藏) ❤️希望博友给个三连+关注!!! SSM: mybatis + Spring + SpringMVC MVC三层架构 SpringMVC + V ...
- java目前主流框架_java的三大主流框架介绍
<java的三大主流框架介绍>由会员分享,可在线阅读,更多相关<java的三大主流框架介绍(2页珍藏版)>请在装配图网上搜索. 1.java的三大主流框架介绍java的三大主流 ...
- python爬虫scrapy框架教程_Python爬虫教程-30-Scrapy 爬虫框架介绍
从本篇开始学习 Scrapy 爬虫框架 Python爬虫教程-30-Scrapy 爬虫框架介绍 框架:框架就是对于相同的相似的部分,代码做到不出错,而我们就可以将注意力放到我们自己的部分了 常见爬虫框 ...
- 2019年上半年收集到的人工智能开源框架介绍文章
2019年上半年收集到的人工智能开源框架介绍文章 TensorFlow基本使用 TensorFlow.js:让你在浏览器中也能玩转机器学习 人工智能学习框架TensorFlow渐近分析 TensorF ...
- ESFramework网络通信框架介绍之(2)――网络通信消息NetMessage
ESFramework网络通信框架与元数据 较之C++而言,.NET是一个更加"动态"的平台,其动态能力建立在反射机制之上,而反射的基础是"元数据". 上文已经 ...
- dommel mysql_.Net Core AA.FrameWork应用框架介绍
开发多年,一直在从社区获取开源的便利,也深感社区力量的重要性,今天开源一个应用基础框架AA.FrameWork,也算是回馈社区,做出一点点贡献,希望能够帮助类似当年入行的我. AA.FrameWork ...
- Foundation框架介绍
Foundation框架介绍 前言 在开发初期,个人发现开发主要涉及到这几个方面:语言语法使用.UIKit.Foundation, 语言是开发基础,UIkit主要负责用户界面设计,其他最常用的就是Fo ...
最新文章
- Git 常用命令集锦
- 网络摄像机ip修改工具_网络监控怎么连接网络
- Collections.toMap 报错 空指针 key重复
- 40岁“老程序员”的“辛酸”自述:
- PHP--去除字符串首尾空格
- 用开源代码如何建立网站_糖尿病患者找到开源并建立自己的医疗设备
- 【clickhouse】Code: 135. DB::Exception: Received from xxx:9000. DB::Exception: Indices in strings are
- 1.6.jquerymobile--列表
- LeNet卷积神经网络
- hdu 5901 Count primes 素数计数模板
- Apache访问localhost页面403Forbidden
- 学生选课系统项目分析-1,架构
- 远程连接Linux密码特殊字符,[转载]linux shell 命令_特殊字符
- 如何在Vue项目中使用websql数据库
- 乐购系统源码可多开站
- 微软服务器补丁管理软件,微软IT的补丁管理-MicrosoftDownloadCenter.PDF
- mysql数据抽取_史上最简单的数据抽取
- C++ STL库(6)
- flac格式转mp3
- galaxy tab p1000 升级android,三星Galaxy Tab P1000 简朴的刷机教程(附rom包下载地址)...