对Struts2中控制器的一点改进建议

Struts2漏洞检查工具2018版:自动安全审计与修复建议 Apache Struts2是一个流行的Java EE Web应用程序框架,用于创建企业级应用程序。它使用MVC(模型-视图-控制器)架构模式来分离业务逻辑、数据和用户界面。Struts2的核心是一个强大的拦截器栈,允许开发者通过拦截请求并应用业务逻辑来处理Web请求。在网络安全领域中,漏洞(Vulnerability)是一个能够被攻击者利用的系统、应用或网络协议的弱点。漏洞可能源于软件或硬件缺陷、配置错误、用户操作不当等多种因素。 阅读详情

使用Struts2进行Web开发的时候,完成每个功能需要做的工作主要有:

第一:在Service中编写具体实现功能的方法,或者在某个已有的Service添加方法,或者编写一个新的Service再添加方法。

第二:编写Action,或者在某个已经存在的Action中添加方法。如果需要传值,定义成员变量并且定义set或者get方法。

第三:在struts.xml中配置这个Action。包括两个方面请求到Action方法的对应关系,Action执行结果与响应界面的对应关系,有时候会定义拦截器。

第四:编写界面,请求中使用定义的action。

 

例如编写登录功能:

在界面使用login

在配置文件中配置login-->类action.UserAction的login方法

在Action中编写login方法,编写userid和password属性,提供set方法

在Service中...

 

例如编写注册功能:

在界面中发送球:register

在配置文件中配置register-->类action.UserAction的register方法

在Action中编写register方法,编写注册相关属性,提供set方法

在Service中...

 

可能这是一种习惯,请求采用名字a,配置的时候会用method="a",action就会提供a方法。既然这是一种习惯,为什么不可以把这种习惯作为系统的一种控制器的选择方案呢。Java EE5中大量的使用默认置,这里也可以采用这种思想。

 

下面是我的建议:

如果用户喜欢,可以不用配置struts.xml,直接在请求界面使用action.UserAction.login。action指出包名,UserAction支持类名,login指出方法名,如果包名太长,可以在配置文件中给包名定义一个别名。

关于action方法的返回值,原来返回的是字符串,现在可以返回表示逻辑名字的字符串,还可以返回具体的页面文件或者action,如果需要拦截器可以通过Java5提供的注释。

 

仅仅是想法,如果有不妥,请指正。

 

李绪成 优快云 Blog : http://blog.youkuaiyun.com/javaeeteacher
【免费】最新区块链钱包和私钥的助记词碰撞器,bybit使用python开发 【免费】最新助记词钱包碰撞器,全链全网络,一周左右就有,稳定高效。 阅读详情

相关推荐

从《新程序员》系列看程序员职业发展趋势与成长路径

在信息技术日新月异的当下,软件开发行业蓬勃发展,程序员作为行业的核心力量,其成长与发展路径备受瞩目。《新程序员》系列杂志应运而生,以其前瞻性的视角、丰富多元的内容,为广大程序员尤其是新程序员提供了洞察行业趋势、学习前沿技术、汲取前辈经验的宝贵窗口。该系列杂志由优快云精心打造,自推出以来,便在开发者群体中引发了强烈反响。《新程序员》系列内容涵盖了从基础技术知识的深入解读,到行业前沿趋势的精准预测;从优秀开发者的成长历程分享,到各大企业数字化转型的实践案例剖析等多个维度。

AllenLV的博客 2259

STRUTS2核心控制器:FilterDispatcher

原文:http://mopishv0.blog.163.com/blog/static/54455932200981295843192/1.    在struts1.x 系列中,所有的请求是通过一个servlet(ActionServlet)来管理控制的,在Struts2.X而是经过一个Filter 来处理请求的。Struts 2将核心控制器设计成Filter,而不是一个普通Servlet。struts1.x中actionorg.apache.struts.action.ActionServlet。。。St

Anvil的专栏 9127

【学一点英飞凌】AutoSar-MCAL-Gtm-TOM模块

本文基于英飞凌TC3X7芯片手册,GTM的TOM模块是产生并输出PWM的地方,想要彻底了解PWM,就必须知道它是怎么产生和如何被输出的。TOM通道还没有介绍的,详见下一篇;

qq_44688936的博客 6030

Struts2 详解

  (一)自己实现struts2框架        Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准。最初的struts1.x很快在企业开发中流行了起来,与此同时,当时还有一个非常的优秀的web开发框架诞生,那就是webwork,但webwork...

qq_41889810的博客 2882

FPGA控制DDR读写(AXI4总线接口)

FPGA控制DDR读写

qq_42712308的博客 1万+

Dofbot机械臂从零部署笔记(1)——ROS之创建URDF模型、配置Moveit和MotionPlanning

Dofbot机械臂从零部署笔记(1)——ROS之创建URDF模型、配置Moveit和MotionPlanning

takedachia的博客 8697

STRUTS2核心控制器 FilterDispatcher

STRUTS2核心控制器 FilterDispatcher

qq_44949848的博客 251

【DDSCAT——离散偶极近似仿真程序05】模型设计Matlab代码:多核壳球 、多核壳圆柱

简洁明了,后面及部分给出的都是模型设计的Matlab代码,这些代码都来自于一篇文章:Chin C W S. Localized Surface Plasmon Resonance with the use of Silver and Titanium Oxide Nanostructures[J]. 2011. 一、设计多个核壳球形结构 1)Matlab代码 ...

XD_Yangf的博客 4260

JavaEE-控制器Struts2

JavaEE-控制器Struts2 sf2gis@163.com 2015年9月20日 2015年9月23日重构 1 目标:web应用控制器。拦截所有请求,预处理,映射请求和处理类,根据处理结果跳转到不同的页面。 2 原理:为web应用增加struct2过滤器,将过滤过程抽象为接口。 struts是开源软件,目的是为了减少MVC设计模型开发Web应用的时间。struts可以清晰地区分控

弗里曼的小伙伴 1155

Ollama安装教程

Ollama 是一个开源的大语言模型(LLM)部署工具,专为在本地机器部署和运行大模型而设计,通过简单的命令就可以在本地快速运行大模型(如DeepSeek、Llama、Gemma、QWQ等)。非常适合开发者、研究人员以及对数据安全和隐私有较高要求的企业和用户

学习AI应用开发,分享AI干货、获取最新AI咨询 3855

ardupilot如何让官网支持自己的硬件方案

本节主要记录ardupilot中如何让官网支持自己的硬件方案。参考1参考2。

陌城烟雨 159

Struts2 框架简介

概述 Struts2 是基于MVC设计模式的web应用程序框架,最初是以WebWork框架和Struts框架为基础,通过提供增强和改进的Struts框架,进而实现简化web技术人员开发工作的目标。 模型(Model)-视图(View)-控制器(Controller),通常简称MVC,是一种开发web应用程序的软件设计模式。该软件设计模式由以下三部分组成:   模型——属于软件设计模式的底层基...

jcs1992的博客 2565

训练救星!EMA多尺度注意力让YOLOv11轻松攻克自定义数据集不涨点难题

在目标检测模型训练中,自定义数据集不涨点是阻碍算法落地的核心痛点之一。传统训练策略在数据分布特殊、样本量有限的场景下极易陷入收敛停滞,而 EMA(指数移动平均)结合多尺度注意力的方案,在自定义数据集上实现mAP 提升 6.5%,同时让训练曲线从“平缓停滞”转为“持续攀升”,彻底解决创新点在自有数据上的性能瓶颈。本教程将带你从原理到实践,通过 EMA 多尺度注意力为 YOLOv11 注入训练稳定性,让你的自定义数据集模型训练实现质的飞跃。EMA 衰减率:小样本数据集建议将decay。

FJN110的博客 160

Struts2 FilterDispatcher核心控制器

1.    在 struts1.x 系列中 , 所有的请求是通过一个 servlet(ActionServlet) 来管理控制的 , 在 Struts2.X 而是经过一个Filter 来处理请求的。 Struts 2 将核心控制器设计成 Filter ,而不是一个普通 Servlet 。 因为设计者为了实现AOP(面向方面 编程)概念. struts1.x 中   action 

lilun517735159的博客 689

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Struts1和Struts2核心控制器的执行原理

Struts11、初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web、xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config、xml)的配置信息,为struts中不同的模块初始化相应的对象。2、发送请求:用户提交表单或通过URL向WEB服务器提交请求,请求的数据用HTTP协议传给web服务器。3、form填充:s

郗晓勇|利己者生,利人者恒 6969

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

SpringMVC与Struts2对比教学

面试时如果被问到,可以笑着说:“这就像问现在出门是骑马(Struts2)还是开车(SpringMVC)。当然,如果贵司马厩里(老系统)还有几匹 Struts2 的千里马需要照顾,我也略懂驯马术(维护经验)😉。SpringMVC 和 Struts2 就像武林中的两大门派,虽然都是处理 Web 请求的高手(MVC 框架),但招式风格和内功心法大不相同。来,咱们用最接地气的方式掰扯掰扯,保准你笑着记住!记住这些核心点,结合生动的类比,面试官想不给你加分都难!

了凡 1206

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

从struts1到struts2的跳转

struts2原理 1.Struts 2的基本流程    Struts 2框架由3个部分组成:核心控制器FilterDispatcher、业务控制器和用户实现的业务逻辑组件。在这3个部分里,Struts 2框架提供了核心控制器FilterDispatcher,而用户需要实现业务控制器和业务逻辑组件。  2.核心控制器:FilterDispatcher    FilterDi

执行梦想代码 1221

Struts2的控制器

控制器(Controller)是MVC框架的核心部分,Struts2框架的控制器由三种组件组成:gu

秋水の歌的专栏 3219

Struts 2的控制器组件

Struts 2的控制器组件 Struts 2的控制器组件是Struts 2框架的核心,事实上,所有MVC框架都是以控制器组件为核心的。正如前面提到的,Struts 2的控制器由两个部分组成:FilterDispatcher和业务控制器Action。实际上,Struts 2应用中起作用的业务控制器不是用户定义的Action,而是系统生成的Action代理,但该Act

董文枭 老人的陋室 1579

Struts2

Struts2是一个WEb端的MVC框架。 MVC模式: 模型:分为业务模型和数据模型 视图:负责显示页面,渲染模型 控制器:接收用户请求,调用模型处理用户请求,选择视图 目前在Model2中我们使用Servlet作为控制器: Servlet作为控制器的过程 接收用户请求 将参数封装为java中的对象 调用service来处理业务逻辑 根据service返回的结果选择视图 Fil...

大哥的叔的博客 9742

struts2框架介绍

struts2是基于web的一个MVC框架MVC介绍MVC思想将一个应用分为三个基本部分:Model(模型)、View(视图) 和Controller(控制器),这三个部分以最少的耦合协同工作,从而提高应用的可扩展及可维护性。MVC有如下特点:1.多个视图可以对应一个模型。按MVC设计模式,一个模型对应多个视图,可以减少代码的复制及代码的维护量,一量模型发生改变,也易于维护。2.应用被分为三层,降低了各层之间的耦合,提供了应用的可扩展性。3.MVC更符合软件工程化管理的精神。不同的层各司其职,每一层的组件具

renxing1207的专栏 4480

struts和struts2-面试题

1.Struts 2的基本流程 Struts 2框架由3个部分组成:核心控制器FilterDispatcher、业务控制器和用户实现的业务逻辑组件。在这3个部分里,Struts 2框架提供了核心控制器FilterDispatcher,而用户需要实现业务控制器和业务逻辑组件。2.核心控制器:FilterDispatcher FilterDispatcher是Struts 2框架的核心控...

龙兮 362

简单了解Struts与Struts2

一、概念           Struts通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。           对于Struts1框架而言,由于与JSP/Servlet耦合非常紧密,因而导致了一些严重的问题。首先,Struts1支持的表现层技术单一。由于Struts1出现的年代比较早,那个时候

程序媛~ 1154

struts2框架的总结

struts2框架的学习心得   经过一段时间的学习,逐渐学会了java的一些框架,想在这里做个总结,可能有一些不足之处,日后补充。 一、struts2框架的历史         struts2框架是由apache基金会研发的一种开源框架,但是并不是单纯的由struts1版本升级而来,而是apache根据一个名为webwork的项目发展来的,所以两者的关系并不大。 二、为什

lanlan521523的博客 1945

struts2 简介

一、struts2 是一个框架,属于属于表现层,需要我们基于这个框架下进行开发。 特点: 可读性 可维护性 可拓展性。 javaEE 开发根据职责的纵向划分:表现层 业务层 持久层。也就所说的javaEE的三大框架(ssh)。 表现层:负责处理与界面交互的相关操作。(struts2/spring)。 业务层:负责复杂的逻辑业务计算和判断。(spring) 持久层:负责将业务逻辑数据进行...

好好学习,天天向上! 2275
上一篇: Java基础:第六讲 编写Java应用
下一篇: 对Struts2中控制器的一点改进建议
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值