Struts2-第三篇-CodeingStruts2Action

编写一个Struts2 Action时,涉及几个部分:

1、Mapping一个action到一个类。

2、Mapping一个result到一个view

3、在Action类中编写控制逻辑


Action Mapping: 

< action  name = "hello"  class = "org.apache.struts.helloworld.action.HelloWorldAction"  method = "execute" >
     < result  name = "success" >/HelloWorld.jsp</ result >
</ action >
上面Action mapping指定如果执行HelloWorldAction类的方法,返回success时,然后到视图HelloWorld.jsp并返回到浏览器

Struts2 Action Classes

Action类在MVC开发模式中,扮演着控制器的作用。Action类响应一个用户action,执行业务逻辑,然后返回一个result并告诉Struts显示什么。

Struts2 Action类通常继承ActionSupport类,它是由Struts2 Framework框架提供。类ActionSupport提供缺省继承大部分的公共actions,并且也实现一些有用的Struts2接口。当你的Action类继承ActionSupport,你能重写缺省的继承或者是继承他们。

Processing Form Input In the Action Class

Action类的众多功能职责之一是去处理输入方式,然后使处理的result对应到view 页面。

在index.jsp中添加如下代码:

< s:form  action = "hello" >
 
     < s:textfield  name = "userName"  label = "Your name"  />
     
     < s:submit  value = "Submit"  />
 
</ s:form >
Make a note of the value of the name attribute for the Struts 2 textfield tag, which is userName. When the user clicks on the submit button for the above form, the action hello will be executed (hello.action). The form field values will be posted to the Struts 2 Action class (HelloWorldAction). The Action class may automatically receive those form field values provided it has a public set method that matches the form field name value.

在类HelloWorldAction中,添加如下代码:

private  String userName;
 
public  String getUserName() {
     return  userName;
}
 
public  void  setUserName(String userName) {
     this .userName = userName;
}

对于个人的MessageStore message添加如下java代码到HelloWorldAction's execute方法,Add userName value to message

if  (userName !=  null ) {
             
     messageStore.setMessage( messageStore.getMessage() +  " "  + userName);
             
}

部署项目:http://localhost:8080/Coding_Struts2_Actions/index.action


当点击Submit时,struts将调用HelloWorldAction类中匹配的格式输入名字的任何方法。因此在这个例子方法中,setUserName被调用并且通过用户输入的值在UserName field。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com
"POST /struts2-showcase/index.action" 是一个常见的Web请求,指示客户端正在向服务器的特定路径发送POST请求。在这种情况下,请求的路径是"/struts2-showcase/index.action"。 这个请求可能是针对使用Struts 2框架构建的Web应用程序的攻击尝试。Struts 2是一个流行的Java Web应用程序开发框架,但它也存在一些安全漏洞。攻击者可能会尝试通过发送特定的请求来利用这些漏洞。 要确保您的Web应用程序安全,您可以采取以下措施: 1. 更新和修补漏洞:确保您使用的Struts 2框架是最新的,并及时应用官方发布的安全补丁。这有助于修复已知的漏洞,并提供更好的安全性。 2. 输入验证和过滤:对于所有从客户端接收的输入数据,包括表单提交和URL参数,进行有效的输入验证和过滤。确保只接受预期格式和类型的数据,并避免执行任意代码。 3. 强化访问控制:通过实施适当的访问控制策略,限制用户对敏感功能和数据的访问。使用角色和权限来确保只有授权用户可以执行特定操作。 4. 安全日志记录和监控:确保您的Web应用程序具有适当的日志记录和监控机制,以便及时检测和响应任何异常活动。监控登录尝试、访问模式和异常请求等活动,以便尽早发现潜在的攻击。 5. 安全培训和意识:教育您的开发人员和用户有关常见的Web应用程序安全问题和最佳实践。提高他们对潜在威胁的意识,并确保他们知道如何正确处理敏感数据和执行安全操作。 请注意,以上建议是基本的安全实践,但仍然需要根据您的具体应用程序和环境进行调整和扩展。定期进行安全审查和渗透测试,并与安全专家合作,以确保您的Web应用程序的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值