学习Struts(2)-Struts需求分析与设计(ADDRESSBOOK例子)

基于JSP+Struts的经典分页与数据操作实战项目 除了自动填充外,ActionForm还提供validate()方法用于执行业务级验证。该方法在execute()之前被调用,若返回非空的,则中断流程并跳转至input指定页面。= null &&!关键点说明validate()仅在form非null且scope为request或session时调用;- 错误消息可通过资源文件()国际化;- 必须调用将错误信息存入请求作用域; 阅读详情

1.  收集和分析应用需求

a.  在本例中采用了UML用例,感觉这样设计思路非常清晰,但是不知道如果放在我面前一个实际应用,然我自己去分析,能不能做到。总之觉得有了用例文档后,写后面的代码简直是在搭积木一样简单了。

b.  用例文档的主要内容有:①前置条件;②主事件流;③其他事件流;④后置条件

2.  设计数据库,这个活应该比较重要,我觉得它应该算是决定程序性能的因素之一了!

3.  设计客户界面,这些就交给美工啦哈哈

4.  设计ActionForm

5.  设计Action

6.  设计应用的业务逻辑组件

通过学习这个例子,对STRUTS开发流程基本上有了点眉目。也进一步掌握了如何给视图、控制器和模型组件分配功能。

1.  在视图组件中尽量避免java的业务逻辑代码的出现,这些代码完全可以封装在tag,感觉虽然工作量比在页面上直接写要大了些,但是换来的是可以复用、易于调试的jsp视图组件。

2.  对于action,基本上可以完成一些业务逻辑的验证和流程控制。这里现在了解还不是很透彻,先不多说了,感觉处在明白与糊涂之间的位置。

3.  在模型组件中则负责实际的业务逻辑了,如访问数据库的操作(查、删、改)。值得注意的是在模型组件中应该和控制器组件保持独立,也就是说在模型组件中不应该访问到Servlet API或者Struts API中的类。完全是对属性(数据、变量)的操作。

今天对STRUTS的一些看法:

最近的项目一直在作基于STRUTS的开发,STRUTS的流程控制真是个好东西,的确给我们这样的开发人员解决了不少问题,就像一句老话所说"让开发人员更加专著于业务逻辑的开发"呵呵,不知道用在这合适不

流程控制是不错,可VIEW层的东西就太让人郁闷了,FORM和TAGs,唉,真是让我又爱又恨呀。尤其是TAGs感觉写的太死板了,所以现在想去学习一下JSTL了。

超详细!动态规划详解分析(典型例题分析和对比,附源码) 为啥要使用动态规划?什么时候使用动态规划?以下是我的一些理解和心得,如果你感兴趣,就接着往下看吧。 对您有帮助的话记得给我点个赞哟! 动态规划的基本思想 动态规划(Dynamic Programming,DP)算法通常用于求解某种具有最优性质的问题。在这类问题中,可能会有许多可行解,每一个解都对应一个值,我们希望找到具有最优值的解。 动态规划算法与分治法类似,其基本思想也是将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解中 得到原有问题的解。与分治法不同的是,动态规划经分解后得到的子问题 阅读详情

相关推荐

【Godot】构建可维护的游戏工程 —— 项目代码组织结构

本文系统梳理了Godot引擎项目组织原则与架构模式,提出场景中心化、命名规范一致性和资源隔离三大核心原则。推荐按功能模块划分目录结构(如scenes/、entities/、systems/),采用snake_case命名避免跨平台问题,并通过.gdignore优化资源管理。文章详细解析了自包含场景设计、信号驱动解耦等架构技巧,以及团队协作中的版本控制策略,强调通过模块化设计平衡一致性与实用性。最终目标构建清晰可维护的项目结构,使资源定位和功能扩展更加高效。(148字)

qq_40205510的博客 1173

03_struts应用的需求分析与设计

3.0 准备 软件开发过程通常包括五个阶段:分析、设计、编码、测试和发布。 本章以通讯录为例,开发步骤为: a.收集和分析应用需求 b.设计数据库 c.设计客户界面 d.设计ActionForm e.设计Action f.设计应用的业务逻辑组件 3.1 收集和分析应用需求 用例分析 这个应用包括以下用例: a.安全登入 b.添加好朋友联系地址 c.根据特定条

uikoo9的专栏 908

【Kingbase人大金仓】授权文件更换

本文介绍了金仓数据库授权文件更换的步骤:1.通过ksql或客户端工具查询数据库版本;2.在官网下载对应版本的license.bat文件;3.替换前先备份原授权文件(使用tar命令压缩),再用新文件覆盖原文件。注意事项包括:版本号需严格对应,授权文件通常位于安装目录下,可使用find命令查找具体位置。操作需谨慎,建议先备份原文件以便恢复。

qq_34463511的博客 3455

struts数据源详解

Struts连接数据库一般有直接JDBC和数据源两种方式, 1、JDBC: 在MySQL中创建数据库: drop database if exists login; create database login; use login; create table user( username varchar(50) not null, ...

日蚀 282

【现代电路理论】【2】考尔法设计无源单口网络

夏 弥:其实你在冰面上看到鱼浮上来 明年冬天如果你还在那里,那鱼还是会上来换气 那时候你就可以带一把冰镐 把冰面砸开把鱼捞上来熬汤

痛苦的时候装出幸福相,这不是那么难做到的事 2884

工程师必看:如何用功率谱密度搞定随机振动测试(附Grms计算实例)

本文为工程师详解如何通过功率谱密度(PSD)曲线计算Grms(总均方根加速度),从而量化随机振动测试的强度。文章拆解了平直谱、斜谱的计算公式,提供了完整的Grms计算实例,并指出了单位换算、对数坐标等常见工程陷阱,帮助工程师精准完成测试准备与设备推力评估。

3c4x5z6v7b的博客 625

终于学会了如何使用optionsCollection标签

下拉框是一个特别常用的html组件,在struts中的tag也是比较复杂的一个了,如果想真正的将MV分离学会如何使用标签是非常重要的,当然如果是高人,那自己写也是没有问题的^_^最近作的一个页面上要用到下拉框,我想借此机会多学习一下如何使用标签来更好的将MV分离,因此下定决心一定要将下拉框的内容存放到一个bean里,然后通过标签调用bean,再用调用bean里面的LabelValueBean的集合

2735

保姆级教程:用Protege 5.5.0从零构建你的第一个知识图谱(附实战案例文件)

本文提供了一份详细的Protege 5.5.0使用指南,从零开始构建知识图谱。通过'中国古代文人关系网'实战案例,涵盖软件安装、本体创建、属性定义、实例填充到高级功能应用的全流程,帮助初学者快速掌握知识建模的核心技能。

weixin_26808205的博客 234

学习使用DispatchAction

DispatchAction继承自Action类,它是一个抽象类,封装了一些基础方法,来解决使用一个Action处理多个操作的能力,这就是DispatchAction最大的用途,它可以帮助我们用一个Action类,封装一套类似的操作方法,节省了类的数目,同时也减轻了后期维护的困难。DispatchAction中主要包括一下几个方法:protected ActionForward dispatchM

1518

VisDrone2019数据集实战:从下载到YOLO格式转换的完整指南

本文提供了一份完整的VisDrone2019数据集实战指南,详细介绍了从数据集下载、理解其独特的标注格式,到转换为YOLO模型可直接训练格式的全过程。通过清晰的代码示例和步骤讲解,帮助读者掌握处理复杂无人机视觉数据集的核心技能,为基于YOLO的目标检测模型训练做好准备。

weixin_29165725的博客 384

Modbus协议介绍及解析

Modbus协议介绍及解析 1.Modbus简介 Modbus是一种广泛应用于工业控制领域串行通信协议,以其开放性、高可靠性、高效简单性、免费等优点,成为了工业领域通信协议的业界标准,是工业现场电子设备之间常用的连接方式。Modbus按其格式可分为Modbus-RTU,Modbus-ASCII,Modbus-TCP,其中前两者适用于串行通信控制网络中,例如RS485,RS232等,而Modbus-TCP主要应用于基于以太网TCP/IP通信的控制网络中。通过此协议,控制器相互之间、或控制器和其它设备之间进行通

逍遥子的博客 1万+

通过开发一个STRUTS项目的体会

    今天已经进入项目的尾声了,足足忙活了一个月。从搭建工作环境,然后熟悉业务流程、工作计划、进度控制等等项目相关的东东开始,到今天一个功能完备的管理系统已经出现在我的眼前,感到一种成就感。    想一想,起初对STRUTS只停留在书本的认识上,也就是能够看个明白,不过经过这个月的摸爬滚打也算有些入门了,也了解了STRUTS项目是如何进行开发的。记得第一天开工作计划是这样的:先是开发数据库值对象

1440

NTscan扫描工具

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

学习Struts(6)-Struts视图组件

 一.视图组件的构成:    HTML文档    JSP客户化标签    JavaScript和stylesheet    多媒体文件    消息资源(Resource Bundle)    ActionForm Bean二.DTO数据传输对象        采用DTO来传输数据的好处:        减少传输数据的冗余,提高传输效率。        有助于实现各个层之间的独立。三.Struts框

1256

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

学习Struts(1)-郁闷的第一步,环境问题

今天有点心血来潮,突然想自己整个struts的应用学习一下,于是拿来前阵子买的《精通struts:基于MVC的Java Web设计与开发》,看到第二章,有个非常简单的例子,因此觉得拿来上手。启动tomcat5.0.19,在地址栏输入http://localhost:8080/helloapp/,......居然显示了一页编译错误,很是郁闷。错误信息如下:org.apache.jasper.Jasp

1179

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

学习Struts(4)-Struts控制器组件

Struts的控制器组件主要完成的任务:1.   接受用户请求2.   根据用户请求,调用合适的模型组件来执行相应的业务逻辑。3.   获取业务逻辑执行结果。4.   根据当前状态以及业务逻辑执行结果,选择合适的视图组件返回给用户。注:从上面流程可以看出,前面所说的控制组件应注重于流程的控制,将具体的业务逻辑分配给相应的模型组件来完成。对于控制器组件中(ActionServlet、RequestP

1065

学习Struts(3)-配置Struts应用

配置web.xml文件:1.     不管应用中包含多少子应用,都只需要配置一个ActionServlet。配置多个ActionServlet类来处理应用中不同的功能,其实是没必要的,因为Servlet本身支持多线程。而且,目前的Struts框架只允许在应用中配置一个ActionServlet。2.     配置welcome file list,看到这里在想,为什么会要多个欢迎页呢?这多个页面又

1053

学习Struts(5)-Struts模型组件

1.模型的概念:模型代表应用的业务数据和逻辑。它包含了业务实体和业务规则,负责访问和更新持久化数据。2.模型的类型:    a.概念模型(分析阶段):用来模拟问题域中的真实实体,它描述了每个实体的概念和属性,以及实体之间的关系。但是在这个阶段并不描述实体的行为。    b.设计模型(设计阶段):在概念模型的基础上创建。包含了实体的行为。3.业务对象(BO):    是对真实世界的实体的软件抽象,包

997

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

要努力去发光,而不是被照亮~ 114

在Codex 让AI模型 拥有长期智能记忆

本文介绍Claude-Mem V15新功能——智能记忆召回,解决AI遗忘、重复提示、执行不一致等问题。通过本地部署claude-mem,实现自动记录决策(如数据库选型)、跨会话智能召回,支持记忆写入、检索、遗忘全流程闭环。相比传统记忆方案,其基于Hooks自动捕获工具调用,结构化存储,可追溯、可共享、可清理,显著提升工程效率与协作一致性,是长期项目中理想的“工作黑匣子”与“工程脑”。

米莱虾 260

Spring Boot 数据源与 MyBatis(-Plus) 自定义配置详解

本文详解 Spring Boot 中单数据源环境下 HikariCP 与 MyBatis-Plus 的自定义配置。通过手动声明 SqlSessionFactory,实现下划线转驼峰、日志输出、一级缓存策略等精细化控制。结合 HikariCP 核心参数调优(如最大连接数、连接生命周期),确保高性能与稳定性。适用于仅需访问单一数据库的场景,避免多数据源复杂性,兼顾性能与可维护性。

BADAO_LIUMANG_QIZHI的博客 192

Docker Compose:搭建本地多服务开发环境

从一个 Java API、PostgreSQL 和 Redis 开始,配置服务名、端口、环境变量、健康检查、数据卷和依赖关系。理解 Compose 文件如何被解析、项目如何隔离,以及哪些数据不能依赖“重建容器”保留,能够把个人开发环境整理成团队可复用的启动入口。

m0_62221377的博客 421

45-存储过程与函数

匿名块跑完就没了,想下次再用只能复制粘贴。给块起个名字存进数据库,就成了存储过程与函数:一次编译、处处调用、权限收口,还能让 Java 侧少拼 SQL。这篇讲封装、调用、限制与排错的完整套路。CREATE OR REPLACE 覆盖式创建,事务由调用方控制;参数三模式 IN 只进、OUT 只出、IN OUT 双向,OUT 参数调用时要备好变量接;调用三姿势 EXEC、CALL、匿名块,命名传参=>最清晰;函数必有 RETURN,想在 SQL 里调用就不能碰 DML 和事务控制;

yuhou25的博客 152

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 384

数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南

Oracle 提供了ORA_ROWSCN伪列(System Change Number),记录最后修改行的 SCN,类似 PostgreSQL 的xmin。实践中通常仍使用 version 字段方案,逻辑与 MySQL 完全相同。-- Oracle:通过 ORA_ROWSCN 实现乐观锁-- 更新时比对 SCN// 自定义注解// AOP 切面@Aspect@Component@Slf4jtry {

yjc_1111的专栏 395
上一篇: 学习Struts(1)-郁闷的第一步,环境问题
下一篇: 学习Struts(3)-配置Struts应用
fishbob21
博客等级 码龄25年 1粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值