struts 2 的基本应用详解

1..structs 2 和serverlet API是完全分离的,为了能够使用serverlet API 可以在excute 方法中 应用actionContext 类

 主要通过 getContext 方法 的道 ActionContext 的实例 ,注意ActionContext 类中的 getSession 的方法 返回的是Map 类型 ,他可以和httpsession对象之间进行转换

例子

   ActionContext.getContext().getSession().put("user",getusername());

   在jsp 页面中应用时就可以这样写  $(sessionScope.user)

利用ActionContext
public void put(Object key,Object value):类似request.setAttribute
 
public Object get(Object key):类似request.getAttribute
 
public Map getApplication():返回一个Map,模拟了ServletContext
 
public Map getSession():返回一个Map,模拟了HttpSession

 

完全应用serverlet

使用ActionContext无法直接使用Servlet API实例。为了直接使用Servlet API实例,Struts2提供如下接口:
ServletRequetAware
ServletResponseAware
ServletContextAware
只需Action类实现相应接口即可得到相应实例。

 

3、利用ServletActionContext类
Struts2提供了一个ServletActionContext类,以帮助直接访问ServletAPI
public static HttpServletRequest getRequest()
public static HttpServletResponse getResponse()
public static ServletContext getServletContext()

 

2 .action 类中的成员可以可以在下一个页面中取到 ,因为action中的属性被封装到一个请求属性中,该属性的名字 是 stucts.valueStack

  例子

    action中有一成员 

      private String name;

   在jsp 页面中要想取得该值   

ValueStack vs=(ValueStack)request.getAttribute(“struts.valueStack”);
String name=(String)vs.findValue("name");
 3.完成国际化资源文件
     写一个MessageResource.properties文件 
用native2ascii 转换成 MessageResource_zh_CN.properties 和MessageResource_en_US.properties
4.完成程序资源国际化后加载资源文件
struts 2支持 在全局属性中加载资源文件
    在struts.properties 中配置  Struts.custom.i18n.resources=messageResource
4.输出国际化信息
   struts 2 中输出国际化信息有两种方式
 <s:text name="key"/>
 <s:property value="%{getText("key")}" >
5.使用 actionform (不是在配置文件中配置)
Struts2框架中采用Action的属性封装请求参数,Struts1中使用ActionForm封装。在Struts2中,如果希望采用Java Bean封装请求以及结果,可以采用模型驱动。
需要采用模型驱动时,需要Action类实现ModelDriven接口,重写其中getModel方法。
可以使用表达式输出Action中实例model的属性,如:
 <s:property  value=”model.tip”/>
也可以简化:<s:property  value=”tip”/>
Eclipse下Struts2框架的配置与应用 Struts2是Apache软件基金会的一个开源项目,提供了一个强大的Web应用框架。Struts2框架在设计上吸取了Struts1和WebWork的优点,并对它们进行了改进和整合。它的架构设计采用了MVC模式,MVC(Model-View-Controller)模式通过分离数据模型、界面和控制逻辑,使得开发更加模块化,便于维护和扩展。Struts2框架的主要特点包括:插件式架构:Struts2支持插件化开发,使得开发者可以根据需要添加各种插件来扩展框架功能。支持多种视图技术。 阅读详情

相关推荐

深入理解Struts2标签及其应用

Struts2标签库自诞生以来,一直为Web应用开发提供了一种简便的方式来处理页面上的数据。通过其声明式特性和内置标签,开发人员能够轻松地创建复杂的用户界面。

weixin_33759613的博客 1026

Struts 2 基本应用第一讲

目录 一、Struts2 的下载 二、Struts2 的安装 三、Struts2 的配置 四、部署Struts 2 应用 一、Struts2 的下载 登录官网,https://struts.apache.org/download.cgi#struts2522 下载Full Distribution,下载Struts2 的完整版,通常建议下载该版本,该选项包含了Struts2 的示例应用、空示例应用、核心库、源代码和文档等。 二、Struts2 的安装 将Struts2 的lib文.

淡淡的云彩恋歌 233

Struts2.3.1源代码在Eclipse中的导入与应用

本文还有配套的精品资源,点击获取 简介:Struts2.3.1是一个著名的Java Web框架,基于MVC模式,对开发者构建可维护和可扩展Web应用提供了强大的工具。了解Struts2.3.1源代码对于深入理解框架工作原理和进行二次开发至关重要。本文介绍如何在Eclipse中导入Struts2.3.1源代码,进行调试和学习。通过导入源码、配置JARs、关联源代码,并验证关联...

weixin_35728286的博客 1043

基于Struts 2开发Web应用

本文主要介绍在 IBM 产品平台上开发基于 Struts 2 的 Web 应用。Struts 2 与传统的 Struts 1 已经有了本质区别,例如在 Struts 2 中不再需要 ActionForm,任何 Java Bean 都可以用来捕获 form 表单输入参数等。本文将首先介绍如何利用 Rational Software Architect 7(RSA 7)以及 WebSphere A

Java编程语言学习专栏 1965

IntelliJ IDEA 2017.3中创建Struts2 Web应用程序指南

Struts2项目遵循MVC(Model-View-Controller)设计模式,合理的目录结构有助于保持代码的组织性和可维护性。一个典型的Struts2项目的目录结构定义如下::存放Java源代码,例如Action类、服务层、数据访问对象(DAOs)等。:存放配置文件,如struts.xml、数据库连接配置(例如)、日志配置等。:存放静态资源和JSP视图文件,其中WEB-INF目录用于存放Java Servlet规范要求的文件,包括web.xml和lib。

weixin_35734408的博客 1168

Struts2示例应用深入解析与实践:Struts2Demo2

本文还有配套的精品资源,点击获取 简介:Struts2Demo2是一个基于Apache Struts2框架的示例应用程序,旨在展示如何利用Struts2构建动态Web项目。Struts2是一个基于MVC设计模式的Java Web框架,通过核心组件Action类实现业务逻辑处理,并通过struts.xml等配置文件定义Web应用行为。本应用深入讲解了Struts2的关键组件,...

weixin_42620563的博客 746

Struts2 应用详解

服务器端校验也必不可少,是整个应用阻止非法数据的最后防线。当然,客户端校验也决不可少,因为 Web 应用大部分浏览者都是正常的浏览者,他们的输入可能包含了大量的误输入,客户端校验把这些误输入阻止在客户端,从而降低了服务器的负载。注意,如果在上传的过程中文件的大小超过了 struts2 默认的文件大小的话,就会上传失败,这时候,可以根据具体的情况设置 struts.multipart.maxSize 的值来满足上传的需求。在实际的项目中,有时候可能会要求上传多个文件的情况,下面就来说说上传多个文件的情况。

band_mmbx的博客 291

NetBeans下Struts2插件的应用与优势

Struts2是Apache软件基金会项目下的一个非常成熟的MVC框架,用于构建企业级的Java Web应用。它允许开发者将界面、业务逻辑和数据源分离,以简化应用的开发和维护。MVC(Model-View-Controller)模式是现代Web开发中的一种重要设计模式,它将应用分成三个核心组件,各自承担不同的职责,有助于提升代码的组织性和可维护性。

weixin_33419305的博客 1096

一个简单的Struts2应用

简单的总结一下一个Struts2应用遇到的问题 1.下载Struts2的jar包 我用的是struts-2.3.16.1-all.zip这个版本 2.建立一个web procejt 3. 配置web.xml <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"

在大神路上奔跑的菜鸟的博客 392

使用Maven和Struts2创建Java Web应用实例

Maven是一个项目管理和理解工具,它使用一个名为POM(Project Object Model,项目对象模型)的XML文件来配置项目的基本信息、构建配置以及依赖关系。Maven通过定义了一套项目对象模型来实现项目的构建、报告和文档化。Struts2框架的核心组件包括::代表用户请求的代理,负责调用Action。:负责执行Action以及拦截器链中的拦截器。:拦截器栈,按照指定顺序执行拦截器链。Result。

weixin_36235398的博客 865

逆向Shopee签名机制:从参数分析到稳定采集方案

本文深入解析了Shopee签名机制的逆向过程,从参数分析到稳定采集方案的实现。通过抓包定位关键参数`sap-ri`和`x-sap-sec`,还原了签名生成算法,并提供了Python实现代码。文章还分享了反反爬策略、性能优化技巧及长期维护建议,帮助开发者构建稳定的Shopee数据采集方案。

weixin_27722377的博客 672

在eclipse中开发struts2应用

转自李刚的下面开始在Eclipse中整合Tomcat服务器,实际上,如果我们安装了MyEclipse插件,我们可以在Eclipse中整合大部分的Java EE服务器(包括Web服务器)。但如果我们不安装任何插件,Eclipse则很难与任何Java EE服务器整合。提示:Eclipse必须安装了相应插件后才具有丰富的功能。为了开发Java EE应用,通常都推荐安装MyEclips

spring_fans的专栏 3424

RAID 0/1/5/10 性能实测:4块 SATA SSD 组阵列,顺序读写速度对比

本文通过实测对比了RAID 0/1/5/10在4块SATA SSD上的顺序读写性能,详细展示了不同RAID级别的配置方法、理论性能与实际测试数据。测试结果显示,RAID 0在顺序读写速度上表现最佳,而RAID 10则在性能与数据安全之间取得了平衡,适合数据库服务器等关键应用场景。

weixin_33462167的博客 424

在struts2第一个应用中,struts.xml的struts标签内的代码

goodgirl1991的专栏 389

使用GitLab+Drone CI持续集成自动部署web项目,图文详细

kind: pipeline # 定义对象类型,还有secret和signature两种类型 type: docker # 定义流水线类型,还有kubernetes、exec、ssh等类型 name: mall-tiny-drone # 定义流水线名称 steps: # 定义流水线执行步骤,这些步骤将顺序执行 - name: package # 流水线名称 image: maven:3-jdk-8 # 定义创建容器的Docker镜像 volumes: # 将容器内目录挂载到宿主机,仓库

4105

大语言模型的三种主要架构 Decoder-Only、Encoder-Only、Encoder-Decoder

f基于 Transformer 模型以非灰色显示:decoder-only 模型在蓝色分支,encoder-only 模型在粉色分支,encoder-decoder 模型在绿色分支。模型在时间线上的垂直位置表示它们的发布日期。开源模型由实心方块表示,而闭源模型由空心方块表示。右下角的堆积条形图显示了各公司和机构的模型数量。从时间轴上,我们可以看到:2021年前,当 OpenAI 决定在,他们实际上是在逆流而上。

u010899985的博客 2万+

将Struts应用程序迁移到Struts 2

无论是直接经验还是阅读文章或书籍,大多数人都熟悉Struts。 在本系列文章中,我们将从Struts的角度介绍Struts2的功能-通过迁移一个简单的应用程序。 在开始迁移过程之前,需要对Struts2有所了解。 本文的第一部分将介绍Struts2,以及一些核心体系结构差异,这些差异将有助于从概念上将所有内容组合在一起。 第二部分将介绍后端的迁移-深入了解操作之间的差异; 与行动有关的框架...

cunfu6353的博客 294

SSD |(二)SSD主控

控制器作为一个片上系统,处理来自用户端的命令并负责管理闪存颗粒。

知识库搭建ing 1959

struts2中ActionContext应用

struts2中ActionContext应用

wanxiaotao12-126-com 118

《我的Classic Platform AUTOSAR之路》 BSWM 模式管理(二)ESH

只有 PostRun 和 wakeup 才能切换到 RUN,其他状态需要先切换到 wakeup 模式。进入 RUN 模式需要打开通信 allow,退出 Run 需要 disable 通信 allow。Prepareshut 与 dem_shutdown 绑定,如果没有 dem 配置,不会生成。除了 Init 模式下,其他模式下都要检查 ECU 的唤醒源和通信 pending 需求。与 ECUM 相关,整个 ECU 状态管理的状态机制。postrun 可以不配置,需要根据自己的需求使能。

libuping2023的博客 964

QtQuick QML教程(2):qml语法介绍

​ qml一个普通的文本文件,后缀是.qml, 一个qml文件主要由两部分组成:(1) import语句 :这个就像C++中的头文件, 使用 import 导入qml需要的相关模块,可以查询Qt文档进行导入,注意每个版本的Qt模块声明可能都不同,相比于QWidget项目,QtQuick的变动是很大的;(2) QML对象树 :根对象是Window, 然后可以在Window中添加各种控件,例如按钮,文本,菜单等。

琅嬛福地 551

Struts应用转移到Struts2

Struts应用转移到Struts2翻译:SpringSide团队   转载请注明出处。有很多人都很熟悉 Struts, 无论是从项目中直接获得的实战经验还是从书中了解到的。我们这一系列文章,将通过一个由 Stuts 转移到 Struts2 简单的例子向大家展现Struts2的所有特征。    在我们开始这个例子之前,你需要去知道一点 Struts2的背景知识。 在第一部分的文章中,我们将介绍

mrmxh的优快云 1354

【常见开源库的二次开发】基于openssl的加密与解密——openssl认识与配置(一)

OpenSSL 是一个开源的软件库,它提供了一系列加密工具和协议,主要用于实现安全通信,如在网络上的数据传输。它支持多种加密算法,包括对称加密、非对称加密、散列函数、伪随机数生成器、数字签名、密钥交换以及证书管理等。

嵌入式技术开发 4161

struts 2.0 标注得应用

这几天研究了一下,struts 2.0 的快速开发标注的应用。晚上回来写一下总结。

hongpengdage的专栏 516

计算机控制技术及应用

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

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Struts秘籍之第1.2式. 部署Struts 示例应用

第1.2式. 部署Struts 示例应用问题你需要将Struts所带的MailReader 示例应用部署到Tomcat中。动作分解如果你好没有安装和运行Tomcat,你可以从http://jakarta.apache.org/tomcat下载之。这一招假定你使用的是Tomcat 5。首先设置为Struts 和Tomcat设置环境变量,将Struts 示例的WAR文件拷贝到Tomcat,然后启动To

铁手剑谱 1218

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

如何创建一个Struts 2 Web应用

翻译自Struts官方文档,原文地址:点击打开链接    本教程将一步一步的教你如何使用Struts2 框架创建一个简单的Web应用。    虽然Struts 2框架使用很简单,但是想要创建一个复杂的Web应用,你最好有J2EE基础知识和技术,包括: JavaFilters, JSP, and Tag LibrariesJavaBeansHTML and HTTPWeb Contai

Cloud-Future的博客 1338

NTscan扫描工具

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

上一篇: 一个验证码项目
下一篇: web 中cookie的简单应用
smartfirstme
博客等级 码龄18年 1粉丝 179原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值