回顾 | 学习笔记

简介: 快速学习回顾,介绍了回顾系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【Java Web开发系列课程 - Struts2框架入门:回顾】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/537/detail/7302


回顾

 

内容介绍:

一、第六讲 配置文件详解

二、第七讲 Action 的实现方式

三、第八讲 以对象的方式处理表单数据

 

一、第六讲 配置文件详解

1.常量配置两种方法

(1)用 constant 直接配置。

(2)在 src 下添加 struts.properties 配置文件。

2. 团队协作的开发

通过 include 添加不同人员的配置文件。

一是分门类总结。

二是 package 的配置,package 的命名空间需要掌握。

3. action 的配置

(1)name 是 url 请求名,不需要加后缀(.action )。

(2)class 是处理 url 请求对应的 java 类,class 要求包名+类名,并且该类是由公共的无参构造方法的。

(3)method 配置处理请求类的处理的方法,默认为 execute;方法要满足是公共的,返回值类型是 String,无参

method 和 name 无关

4. result的配置

result﹣指结果集

(1)name:匹配请求处理方法的返回值;默认是 success。

(2)type:结果处理类型;默认是 dispather 转发。

type有:chain:指action链,链接下一个 action ;执行 actionA 以后直接执行ActionB 后直接执行 ActionC,用得较少

地址栏是执行的第一action

(3)dispatcher:转发;和 servlet 一致。如果 request 中有数据要到视图显示,那么使用 dispatcher。

(4)redirect:重定向;如果是重定向到 jsp 页面,可以直接重定向,如果是重定向到另一个action,需注意是否配置了 action 的后缀名。如果要求有后缀名,那么重定向的action一定要加上后缀名。

(5)redirestAction:重定向导另一个 action;不用加 action 的后缀名,会将前一个 action 的后缀名自动加上。

(6)stream:以流的形式显示﹣-﹣文件下载

5.全局配置

一般项目里有

<!-﹣配置全局结果集-->

< global - results >

< result name =" Login ">/ login .jsp </ result >

</ global - results >

配置默认的 Action 不常见

6.通配符的配置

<!-﹣使用通配符来配置 action ,可以减少 action 的配置*表示匹配所有,占位符用{1)表示

第一个*所代表的内容-->

<action name="user*class="cn.sxt.action .AddAction method ="{1}”>

< result >/ index - jsp < result >

</action >

7.减少 action 的配置还可以使用 DMI (动态方法调用),不推荐存在安全隐惠

 

二、第七讲 Action的实现方式

1.定义一个 pojo 类

好处:自定义一个普通的 java 类即可,不具有侵入型

public class PojoAction {

public String execute (){

System . out . println (“ pojo action ");

return " success " ;

2.实现 Action 接口

好处:使得编写的代码更加规范

Public class InterfaceAction implements Action{

public String execute () throws Exception {

System . out . println (" interface action ");

return SUCCESS ;

3.继承 ActionSupport 类

好处:可以继承一些 AstionSuport 实现功能,

如:验证;官方推荐使用

public class ExtendsAction extends ActionSupport {

@0verride

public String execute () throws Exception {

System . out . println (" extends action ");

return SUCCESS ;

 

三、第八讲 以对象的方式处理表单数据

1. 属性驱动

需要加 action 名称。

2. 模型驱动

不需要加名称,实现 ModelDriven 和 getModel 方法以及对应的对象。

相关文章
|
2月前
|
人工智能 搜索推荐 程序员
从程序员到UP主:一个结构化的B站视频文案生成方案
专为技术人打造的B站视频文案生成指令,结构化拆解内容创作流程。输入主题、类型等信息,结合AI一键生成含分镜脚本、标题、SEO及互动设计的完整方案,提升创作效率与视频质量。
407 2
|
2月前
|
监控 关系型数据库 MySQL
在CentOS系统中,如何统计哪个进程打开了文件描述符?
利用上述方法,你可以有效地监控和统计CentOS系统中的进程打开的文件描述符数量,以帮助排查错误或优化系统配置。通过组合使用各种工具和命令,可以获得对系统状态和行为的深入了解,进而做出相应的调整和
153 5
|
2月前
|
人工智能 搜索推荐 Cloud Native
拔俗AI助教系统:教师的"超级教学秘书",让每堂课都精准高效
备课到深夜、批改作业如山?阿里云原生AI助教系统,化身“超级教学秘书”,智能备课、实时学情分析、自动批改、精准辅导,为教师减负增效。让课堂从经验驱动转向数据驱动,每位学生都被看见,教育更有温度。
|
8月前
|
传感器 边缘计算 云计算
边缘计算:数字世界的”末梢神经系统”解析-优雅草卓伊凡
边缘计算:数字世界的”末梢神经系统”解析-优雅草卓伊凡
715 32
边缘计算:数字世界的”末梢神经系统”解析-优雅草卓伊凡
|
消息中间件 存储 网络协议
操作系统的心脏:深入理解进程间通信(IPC)机制
在现代计算机系统中,操作系统扮演着至关重要的角色,而进程间通信(IPC)作为操作系统的核心功能之一,极大地影响着系统的性能和稳定性。本文将通过浅显易懂的语言,详细探讨进程间通信的基本原理、主要类型及其实际应用,旨在为读者提供一个清晰且全面的理解和认识。 ##
832 1
|
存储 PyTorch API
NVIDIA Triton系列09-为服务器添加模型
本文介绍了如何为NVIDIA Triton模型仓库添加新模型。通过示例模型`inception_graphdef`的配置文件`config.pbtxt`,详细解释了模型名称、平台/后端名称、模型执行策略、最大批量值、输入输出节点及版本策略等配置项。内容涵盖了模型的基本要素和配置细节,帮助读者更好地理解和使用Triton服务器。
297 0
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之运行mysql to doris pipeline时报错,该如何排查
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
Mock 工具使用 - 模拟弱网测试
在移动互联网时代,弱网测试至关重要,尤其面对多样化的网络环境和应用场景,如2G, 3G, 4G及弱信号WiFi。弱网通常指低于3G的网络或弱信号WiFi。Charles工具能方便地模拟不同网络条件,包括带宽、丢包和延迟,以进行功能测试和优化用户体验。通过Proxy -&gt; Throttle Setting启用限制,选择预设或自定义参数(如下载速度、带宽和延迟)进行测试。通过基础模拟和定制设置,确保移动端应用在弱网环境下的稳定性和性能。
|
安全 Java 应用服务中间件
当遇到非法 URL 参数时,如何保障网页正常打开
访问如`http://example.com?a@b=1`的链接出现400 Bad Request错误,这是因为Tomcat不允许请求目标中含有非法字符。Spring Boot 2可通过配置`server.tomcat.relaxed-query-chars`来允许特殊字符,但这样做可能引入安全风险。因此,建议在Nginx层使用`rewrite_by_lua_block`和`ngx.redirect`进行重定向,将非法字符替换为合法形式,如`http://example.com?ab=1`,同时记录日志以监控。此方案能避免直接修改后端代码,提高安全性。
720 0
|
数据挖掘 Python
python数据分析——业务指标量化
业务指标量化是衡量企业运营效果的重要手段,通过具体的数据和数值,可以更加直观地了解企业的运营状况,为企业决策提供有力的数据支持。
306 1