Struts2框架(一)

2023-11-16

Struts2框架

一、什么是框架,框架有什么用?

1、框架 是 实现部分功能的代码 (半成品),使用框架简化企业级软件开发 ,提高开发效率。

2、学习框架 ,清楚的知道框架能做什么? 还有哪些工作需要自己编码实现

二、什么是struts2框架,它有什么用?

1、Struts 2是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。

2、其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心

3、struts2=struts1+webwork;

4、struts2框架是apache产品。

5、struts2是一个标准的mvc框架

6、javaweb中的model2模式就是一个mvc模式。 model2=servlet+jsp+javaBean

7、struts2框架只能在javaweb开发中使用的

8、使用struts2框架,可以简化我们的web开发,并且降低程序的耦合度

 

三、XWork—它是webwork核心,提供了很多核心功能: 

1、前端拦截机(interceptor)

2、运行时表单属性验证

3、类型转换

4、强大的表达式语言(OGNL – the Object Graph Navigation Language)

5、IoC(Inversion of Control反转控制)容器等

 

四、一个请求在Struts2框架中的基本工作过程如下:

 

 

 

         操作(Actions)  拦截器(Interceptors)      值栈(Value Stack)/OGNL    结果(Result)/结果类型

 

而Struts2 与传统的MVC框架略有不同,因为它由Action扮演模型的角色,而不是控制器,虽然这样会有一些重叠。

 

1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求

2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin);

3、接着StrutsPrepareAndExecuteFilter被调用,StrutsPrepareAndExecuteFilter询问ActionMapper来决定这个请求是否需要调用某个Action(一般web.xml加载过滤器);

4、如果ActionMapper决定需要调用某个Action,StrutsPrepareAndExecuteFilter把请求的处理交给ActionProxy;

5、ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类(配置文件struts.xml)

6、ActionProxy创建一个ActionInvocation的实例。

7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。

8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。

 

Struts2下载

第一步:  在以下网址中下载最新的struts2版本。

http://struts.apache.org/download.cgi

 

第三步:单击“struts-2.3.37-all.zip”下载struts 2.3.37的完整版 。你也可以下载最新版的,但新版是不太稳定,所以我们不推荐使用。

第四步:进行下载文件的文件夹,进行解压

 

struts 2的目录结构如下图所示。

 

 

struts2的目录结构:

(1)apps: 该文件夹包含了基于struts2 的示例应用,这些示例应用对于学习者是非常有用的;例子程序war后缀表示web压缩文件

(2)docs : 该文件夹下包含了struts2 相关文档,包括struts2 快速入门、struts2的文档以及API文档等

(3)lib : 该文件夹下包含了Struts2框架和核心类库,以及struts2第三方插件类库

开发时没必要将lib目录下jar文件全部复制到项目中

(4)src : 该文件夹下包含了Struts2框架的全部源代码

A、core 它是struts2的源代码

B、xwork-core struts2底层使用了xwork,xwork的源代码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Struts2框架(一) 的相关文章

随机推荐

  • 《每日一题》NO.21:画出CMOS 非门/与非门/或非门的结构

    芯司机 每日一题 会每天更新一道IC面试笔试题 其中有些题目已经被很多企业参考采用了哦 聪明的你快来挑战一下吧 今天是第21题 CMOS Complementary Metal Oxide Semiconductor 互补金属氧化物半导体
  • Vivo 2019秋季校园招聘笔试题(9月22号机考)

    Vivo笔试题这次真是出乎意料了 上来就直接三道编程题奉上 题目描述 1 小V在公司负责游戏运营 今天收到一款申请新上架的游戏 跳一跳 为了确保提供给广大玩家朋友们的游戏都是高品质的 按照运营流程小V必须对新游戏进行全方位了解体验和评估 这
  • webpack多个Html,Webpack构建多页面应用配置

    安装依赖 devDependencies babel core 7 12 3 babel preset env 7 12 1 babel preset react 7 12 1 babel loader 8 1 0 clean webpac
  • 一元多项式的相加

    一元多项式的表达和相加 使用单链表表示一元多项式 由于使用java语言自己编写实现 没有使用LinkedList集合实现 所以需要创建单链表的类 类中包含指数 系数和后继元素的地址 类的设计如下 public class SingleLis
  • 01背包问题(采药) 动态规划,python实现

    采药问题 题目描述 辰辰是个天资聪颖的孩子 他的梦想是成为世界上最伟大的医师 为此 他想拜附近最有威望的医师为师 医师为了判断他的资质 给他出了一个难题 医师把他带到一个到处都是草药的山洞里对他说 孩子 这个山洞里有一些不同的草药 采每一株
  • python后端接口框架Flask的基本用法

    简介 在现代Web开发中 后端接口是十分重要的一部分 它们建立了前端和后端之间的连接 使得数据能够在两者之间传递 Python是一门受欢迎的动态编程语言 它可以用来编写高效且功能强大的后端接口 本文将介绍如何使用Python编写后端接口 以
  • WSS 代码执行的权限提升

    WSS 代码执行的权限提升 概述 WSS 默认使用身份模拟执行代码 也就是说用当前登录的用户身份执行Web Part或者自定义应用程序的代码访问 在大多数情况下 这种机制能够准确并严格地控制了标准权限的用户他对特定网站资源和敏感数据的访问
  • [LeetCode-35]-Search Insert Position(搜索整数所在的位置)

    文章目录 题目相关 Solution 1 顺序遍历 2 算法改进 二分查找 题目相关 题目解读 从有序整数列表中搜索给定整数 如果在其中返回下标位置 如果不在 返回应该在的位置 题目 原题链接 Given a sorted array an
  • MyBatis3 映射boolean 类型注意事项

    1 MySQL8 数据库关于boolean 存储结构定义 使用tinyint 1 代表Boolean 类型 2 实体定义关于属性字段为boolean 类型定义 3 实体属性与数据库字段映射文件配置 Mapper xml 文件 4 控制层 如
  • 你不知道的JavaScript---异步:现在与未来

    目录 异步 分块的程序 事件循环 并行线程 并发 非交互 交互 协作 任务 语句顺序 异步 js如何表达和控制持续一段时间的程序行为 分散在一段时间内运行的程序行为 持续一段时间 不是指类似于 for循环开始到结束的过程 而是指 程序的一部
  • Android 嵌套滑动总结,android基础考试题及答案

  • git 合并多个 commit

    1 rebase 介绍 rebase在git中是一个非常有魅力的命令 使用得当会极大提高自己的工作效率 相反 如果乱用 会给团队中其他人带来麻烦 它的作用简要概括为 可以对某一段线性提交历史进行编辑 删除 复制 粘贴 因此 合理使用reba
  • 数据分析(一)

    label distribution 是一个不均衡的数据集 需要做数据预处理 Sentence length distribution 句子的长度也很极端 有很多的outliers 需要对过长的数据进行舍弃或者切割
  • Eviews用向量自回归模型VAR实证分析公路交通通车里程与经济发展GDP协整关系时间序列数据和脉冲响应可视化

    最近我们被客户要求撰写关于向量自回归模型的研究报告 包括一些图形和统计输出 视频 向量自回归VAR数学原理及R软件经济数据脉冲响应分析实例 视频 向量自回归VAR数学原理及R语言软件经济数据脉冲响应分析实例 时长12 01 河源市是国务院1
  • JS函数curry(柯里化)

    原文地址 http blog jobbole com 77956 什么是柯里化 柯里化是这样的一个转换过程 把接受多个参数的函数变换成接受一个单一参数 译注 最初函数的第一个参数 的函数 如果其他的参数是必要的 返回接受余下的参数且返回结果
  • 机器学习之特征工程

    1 为什么做特征工程 我们学习编程语言时被告知程序 数据结构 算法 那么对于机器学习 我认为也可以类比为机器学习 大数据 机器学习算法 运行平台 面对一个机器学习问题 一般有两种解题思路 传统机器学习算法或者深度学习算法 一般而言 传统机器
  • Android.mk文件详解

    Android mk文件详解 Android mk 文件位于项目 jni 目录的子目录中 用于向构建系统描述源文件和共享库 它实际上是构建系统解析一次或多次的微小 GNU makefile 片段 Android mk 文件用于定义 Appl
  • 链表oj刷题——6道进阶题目

    目录 1 链表分割 题目 思路 2 链表的回文结构 题目 思路 3 输入两个链表 找出它们的第一个公共结点 题目 思路一 思路二 思路三 4 给定一个链表 判断链表中是否有环 题目 思路 5 给定一个链表 返回链表开始入环的第一个结点 如果
  • ConcurrentHashMap总结

    为什么80 的码农都做不了架构师 gt gt gt 并发编程实践中 ConcurrentHashMap是一个经常被使用的数据结构 相比于Hashtable以及Collections synchronizedMap ConcurrentHas
  • Struts2框架(一)

    Struts2框架 一 什么是框架 框架有什么用 1 框架 是 实现部分功能的代码 半成品 使用框架简化企业级软件开发 提高开发效率 2 学习框架 清楚的知道框架能做什么 还有哪些工作需要自己编码实现 二 什么是struts2框架 它有什么