Struts2学习笔记(一)

J2EE系列之Struts2学习笔记(一)--Struts2安装与配置 之前跟着教学视频学习过Struts2,但是用到的时候总是忘记,需要回过头了看教学视频,这样既费时效果还不好。现在我准备写成博客的形式,既对自己加深印象,又能够帮助到需要的朋友。开始正题! 一、Struts基本情况介绍 简介:这里百度之,百度百科上面介绍的非常清楚了。 Struts2在用户请求、模块化处理以及页面展示方面具有非常好的效果。 二、下载 1.Struts2的主页为:http:/ 阅读详情

Struts2的基本流程

1、 核心控制器FilterDispather
FilterDispather是Struts框架的核心控制器,该控制器作为一个Filter运行在Web应用中,它负责拦截所有的用户请求,当用户到达时,该Filter会过滤用户请求。如果用户请求以action结尾,该请求将被转入Struts2框架处理。
2、 业务控制器
业务控制器组件就是用户实现Action类的实例,Action类里通常包含了一个execute方法,该方法返回一个字符串——该字符串就是一个逻辑视图名,当业务控制器处理完用户请求后,根据处理结果不同,execute方法返回不同的字符串,每个字符串对应一个试图名。
        配置Action的如下三个部分定义:
*         Action所处理的URL。
*         Action组件所对应的实现类
*         Action里包含的逻辑视图和物理资源之间的对应关系。
3、 Struts2的模型组件
JavaEE应用里的模型组件,通常指系统的业务逻辑组件。而隐藏在系统的业务逻辑组件下面的,可能还包含了DAO、领域对象等组件。
通常,MVC框架的业务控制器会调用模型组件的方法来处理用户请求。也就是说,业务逻辑控制器不会对用户请求进行任何实际处理,用户请求最终由模型组件负责处理。业务控制器只是中间负责调度器,这也是称Action为控制器的原因。
4、Struts的视图组件
       当Struts2的控制器返回逻辑视图名时,逻辑视图并未与任何的视图技术关联,仅仅是返回一个字符串,该字符串作为逻辑视图名。
5、Struts的运行流程
       请求首先通过Filter chain,Filter主要包括ActionContextCleanUp,它主要清理当前线程的ActionContext和Dispatcher;FilterDispatcher主要通过AcionMapper来决定需要调用哪个Action。
       ActionMapper取得了ActionMapping后,在Dispatcher的serviceAction方法里创建ActionProxy,ActionProxy创建ActionInvocation,然后ActionInvocation调用Interceptors,执行Action本身,创建Result并返回,当然,如果要在返回之前做些什么,可以实现PreResultListener。
一个请求在Struts2框架中处理大概分为以下几个步骤:
1)        客户端初始化一个指向Servlet容器(Tomcat)的请求。
2)        这个请求经过一系列的过滤器(Filter)其中有一个ActionContext CleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助。
3)        接着FilterDispather被调用,FilterDispather询问ActionMapper来决定这个请求是否需要调用某个Action。
4)        如果ActionMapper决定需要调用某个Action,FilterDispather把请求的处理交给ActionProxy。
5)        ActionProxy通过Configuration Manager查找框架的配置文件,找到需要的调用的Action类。
6)        ActionProxy创建一个ActionInvocation的实例。
7)        ActionInvocation实例使用命令模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8)        一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是一个需要被表示的JSP或者FreeMarker的模板。在表示的过程中可以使用struts2框架中继承的标签。在这个过程中需要涉及到ActionMapper。

 

2026 企查查/天眼查:IP频率限制 + 验证码策略,企业工商数据采集实战 企业工商数据采集技术解析与解决方案 本文深度剖析了2026年企查查和天眼查平台的反爬机制与技术对抗方案。主要内容包括: 反爬机制分析: 采用JA4+ TLS指纹识别、极验v6验证码等多层防护 IP限制策略严格区分未登录/普通/VIP账号 精准识别并封禁数据中心IP 核心解决方案: 构建高可用住宅代理池,动态轮换真实用户IP 基于YOLOv8的验证码缺口识别技术(准确率99%) 分布式架构设计,支持千万级数据采集 多账号池管理与行为模拟技术 技术亮点: 动态住宅IP池实现1%以下封禁率 Playwright浏 阅读详情

相关推荐

第二章-Ethernet/IP基本概念

在I/O连接中,一旦连接建立,就不会有请求-响应数据,只会按照连接建立时指定的生产触发器所确定的时间间隔生产和消耗带有ConnectionID的数据。连接是通过连接管理器对象的Forward请求服务建立的,ForwardOpen请求包含所有连接参数,包括传输类、生产触发器、定时信息、电子密钥和连接ID。I/O适配器:I/O适配器从I/O扫描器接收隐式通信连接请求,然后以请求的速率生成I/O数据。I/O扫描器:启动与I/O适配器的隐式通信,需要处理连接的配置以及如何配置适配器。扫描器还支持启动显式报文。

_Nooice的博客 1233

Struts2 学习笔记一

 1.      Struts1 与 Struts2的区别Struts2从字面上来看似乎是Struts1的升级,但实事上可以说Struts2与Struts1几乎没有什么关系,除了名字相同外;说实在的,Struts2可以看作是WebWork的升级,因为无论从编程风格的相似性还是所引用到的jar包,到处可以看到WebWork的身影。下面就来比较下Struts1与Struts2到底有哪些区别吧:

dangdanglili的专栏 794

Xilinx Aurora 8B/10B IP核详解和仿真

Xilinx Aurora 8b/10b IP核的详解,以及使用与仿真示例,对IP核的配置和如何仿真有非常详细的说明,除了对IP核官方文档的内容进行了解析以外,还对GTX引脚的选择等比较容易混淆和不好理解的地方进行了说明。最后对IP核的仿真运行进行了STEP BY STEP 的说明,对仿真的结果也进行了简要的说明。 该文档对Xilinx FPGA和ZYNQ SOC下 AURORA 8B/10B IP核的使用提供了一个快速上手的指导。

weixin_43354598的博客 1万+

Struts2学习笔记(一) struts2的下载以及jar包的导入

一、struts2的下载 struts2下载地址:https://struts.apache.org 进入后点击download即可进入下载页面 在这里我们可以选择不同版本的struts2进入下载 下载时我们选择第一个,第一个中包括了下面所有的 这里我们以2.3.37版本为例,下载完成后我们对压缩包进行解压 二、struts2的基本jar包导入 在这之后我们就可以去创建一个Dynamic ...

showadwalker的博客 6450

实战STM32G0驱动DRV8870/AT8870:PWM+DMA精准调速与H桥衰减模式详解

本文详细介绍了如何使用STM32G0单片机结合DRV8870/AT8870电机驱动芯片实现直流有刷电机的精准控制。重点讲解了PWM与DMA结合实现高效调速的硬件配置与软件驱动方法,并深入剖析了H桥快衰减与慢衰减模式的工作原理及应用场景,为嵌入式电机控制项目提供了完整的实战解决方案。

c7d8e9的博客 596

关于动态存储器dram中rank,bank,device之间的关系

DEVICE_WIDTH表示设备的带宽(单位bit),每个列(column)包含DEVICE_WIDTH 位(bit),每一行(row)包含NUM_COLS个column。   而每一个bank包含NUM_ROWS个行(row)。所以一个设备(device)的存储容量为PER_DEVICE_STORAGE =NUM_ROWS*NUM_COLS*DEVICE_WIDTH*NUM_BANKS (i

wyj7260的专栏 4733

Struts2学习笔记一

本次学习笔记参考传智播客Struts2黎活明老师的视频。 一、Struts2 简单的认识     Struts2实在WebWork2的基础上发展而来的。属于MVC框架。相比于Struts1,Struts2有以下的几个优点。(我没有学习Struts1,直接来学Struts2)。     1)在软件设计上Struts2没有像Struts1那样Servlet PAI和Struts API有着紧密的

hyz_116的专栏 697

【CASS精品教程】032:CASS11台阶画法案例大全

一、普通无边台阶 二、普通有边台阶 三、普通圆弧无边台阶 四、U型台阶 五、曲线U型台阶 六、L型台阶

智慧空间实验室 7467

Struts2学习笔记(一)

Struts学习笔记(一) 文章目录Struts学习笔记(一)1 回忆使用Filter作为控制器的MVC应用2 struts2初识概述3 Struts2搭建环境4 Struts2第一个应用程序5 Struts2第一个应用程序解析6 Action概述6.1 通过ActionContext获取WEB资源6.2 通过Aware接口获取WEB资源6.3 Struts2通过和Servlet API耦合的方式获取WEB资源 1 回忆使用Filter作为控制器的MVC应用 2 struts2初识概述 3 Struts2搭

m0_50763265的博客 344

基于STM32设计的智能防盗单车锁_349

本设计基于STM32F103RCT6单片机,研制了一种适用于户外环境的智能防盗单车锁系统。系统集成了GPS定位模块、ADXL345加速度传感器、4G通信模块(Air780E)、OLED显示屏、继电器模拟锁控模块等硬件,通过姿态感知实现车辆异常移动检测,在锁车状态下自动触发蜂鸣器报警并通过短信与APP通知用户。

868

Proxmox VE 9 更换源

创建一键更换Proxmox VE 9.0源的Bash脚本,实现快速替换软件源。脚本需包含订阅提醒关闭功能,兼容Proxmox VE 9.0系统,执行命令为bash /proxmox_9.0_Repo.sh。该工具可简化源配置过程,自动处理系统更新源替换及订阅提示屏蔽,适合需要快速配置Proxmox环境的用户使用。

极致,细节 4989

Struts2学习笔记一(Struts2入门)

这是笔者在学习过程中的知识记录,可能有错误的地方,仅供参考 #Struts2的入门 Struts2的简介 在Javaee开发中,我们一般将整个项目分成表现层,业务层,和持久层,在持久层就是和数据库打交道,之前的Hibernate就是属于这个层的,在表现层我们在没有框架之前是使用jsp+servlet+javabean的MVC设计模式来实现的,Struts2框架就是用来代替之前表现层的开发模式...

水中无名鱼的博客 181

【华为OD机试真题】45、 分糖果 | 机试真题+思路参考+代码解析(C++、Java、Py、JS)

### 🎃题目描述 >小明从糖果盒中随意抓一把糖果,每次小明会取出一半的糖果分给同学们。 >  当糖果不能平均分配时,小明可以选择从糖果盒中(假设盒中糖果足够)取出一个糖果或放回一个糖果。 >  小明最少需要多少次(取出、放回和平均分配均记一次),能将手中糖果分至只剩一颗。

正在更新最新华为OD机试2025B卷,提供OJ在线刷题 1290

Struts2框架学习笔记一:Struts2框架搭建、配置详解

文章目录Struts2框架学习笔记一:Struts2框架搭建、配置详解Struts2框架搭建Struts2拦截器的重要性struts2常量配置struts2动态调用struts2的默认值配置Action类的操作 Struts2框架学习笔记一:Struts2框架搭建、配置详解 Struts2框架搭建 创建一个Dynamic web project项目 在lib文件下导入相应的包,解压Struts压...

公子&小白的博客 1151

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

struts2拦截器_Struts2 学习笔记(一)

1. Struts的概述1.1 什么是Struts2Struts2是一个基于MVC设计模式的Web应用框架,它的本质就相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2是在Struts和WebWork的技术的基础上进行合并的全新的框架。Struts2以WebWork为核心,采用拦截器的机制来处理的请求。这样的设计...

weixin_39653622的博客 273

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Struts2 系统学习笔记一

笔记一,包含Web application概念,struts2基本介绍以及struts2的样例程序。

啊昕的博客 721

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

struts2 学习笔记一 第一个struts2程序

最近准备开始学习struts2,所以百度上找了个简单例子,想先感受一下struts2编程。http://student.youkuaiyun.com/space.php?uid=44933&do=blog&id=14087,上面网址就是我学习的第一个例子,感觉不错,讲的浅显易懂,并且有穿插struts1的知识。但根据示例一步一步下来,遇到几个问题,怎么也调试不通过。于是又百度,但没有满意的答案,费了九

butterflydream的专栏 896

struts2学习笔记(一)—— struts2介绍及入门程序

一、struts2概述 1.1 什么是struts2?  在介绍Struts2之前,先来认识一下Struts1。Struts1是最早的基于MVC模式的轻量级web框架,他能够合理的划分代码结构,并包含了验证框架、国际化框架等多种实用工具框架。但随着技术的进步,Struts1的局限性也越来越多的暴露出来。为了符合更加灵活、高效的开发需求,Struts2框架应用而生。   Struts...

VNOpU2015的专栏 271

黑马程序员——struts2学习笔记一

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------ struts2学习笔记一 一、strust2工作原理示意图 核心过滤器:StrutsPrepareAndExecuteFilter; 二、strust配置 1、配置web.xml文件,由于strust2的执行是基于过滤器的

ajin2015的博客 1614

Struts2学习笔记一之Struts2入门

大家都知道Struts2是一个MVC框架,我们javaWeb中学习的servlet也是一个mvc框架,那我要问大家一个问题,为什么要用struts2开发呢?怎么不使用serlet来开发呢? 那我们先来讨论一下servlet的缺点,它的缺点有哪些呢? 1. Servlet回顾     1.1. 第一步:创建一个Servlet类,继承HttpServlet 1.2. 第二步:编

一个技术宅 516

struts2学习笔记(一)

一、struts2简介 1.1 struts2是什么 struts2是一个web层的架构,初步实现了mvc的模式,使得网站开发变的更加的便捷。 如图所示: 1.2 struts2的优点 自动封装参数、参数校验、结果的处理(转发、重定向)、国际化、显示等待页面、表单的重复提交。 1.3 struts2的历史 struts2与structs1的区别就是没有任何关系,struts2前身...

Emmanuel的博客 226

struts2学习笔记(一)

   最近才开始真正的去学习struts2,第一步就遇到问题了,在网上搜了下解决了,特此记录:   下载过struts2的开发包后,eclipse中新建工程,然后把jar包放入WEB-INF下的lib中,配置web.xml;struts.xml   启动tomcat.....就在我认为没什么问题的时候,tomcat却报如下错误: Unable to load bean: type:

依依~~ 1538
上一篇: 放弃,也是一种选择......
AllRuby
博客等级 码龄17年 20粉丝 3原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值