Struts2入门 | 学习笔记

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

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

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


Struts2入门

 

一、如何搭建基础 struts2项目

搭建 struts2项目的步骤

1. 新建 web 项目

2. 导入所需 jar 包(在 struts2目录-apps-解压 blank 压缩包-web.inf-lib-全部 copy 即可)

image.png

3. 配置 struts2的核心控制器 web.xml 文件,其实是一个过滤器。

<filter>

<filter-name>struts2</filter-name>

<filterclass>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>struts2</filter-name>

<url-pattern>/*</url -pattern>

</filter mapping>

最好将 web.xml 里的 package presentation 设置为 flat 模式而非 Hierarchical 模式,如果找不到原来的空项目,可以从 struts2-core jar 包中找到后缀为 filter 的栏目,将其中最长的一项右键拷贝过来,去掉.class 即可。

image.png

4. 在 src 下添加 struts2的配置文件,struts.xml—文件名不能更改

xml 文件的头文件——拷贝一个 struts.xml 文件,或者到 core 包下的 struts-default.xml 文件中拷贝(除了文档定义和根标签其他都可以去掉)。

注:到这里 struts2的框架搭建就完成了。

5. 编写 action 类—HelloAction

public class HelloAction {

public String execute(){

System.out.println("hello struts2");

return "success";

}

}

注:

在 servlet 中,默认执行 service 方法;在 struts2中,默认执行 execute 方法。

servlet 中,service 方法参数时 HttpServletRequest 和 HttpServletResponse,无返回值。在 struts2中,方法都是 public 的,并且返回值都是 String 类型,而且方法都是没有参数的。

6. 配置action类--在 struts.xml 文件中,配置 HelloAction,Struts2是基于包来管理的。

若没有书写提示的话,需要以下操作关联一下 dtd:

image.png

image.png

Location 在文件里搜索.dtd 找到,

也可通过 src-core-src-main-resources 找到。

<!--extends 必须写,直接或者间接继本 struts-default name自定义-->

<package name="hello" extends="struts-default">

<!-- name是请求名称,不要写/;class对应action完全限定名=包名+类名-->

<action name="hello" class="cn.sxt.action.HelloAction">

<!-result是结果集 name 和对应 action 中的方法的返回值匹配,默认是 success-->

<result name="success">/index.jsp</result>

</action>

</package>

7. 访问http://localhost:8080/02struts2 hello/hello

结果:

image.png

相关文章
|
监控 安全 Shell
Zabbix Server trapper 命令注入漏洞 (CVE-2017-2824)
Zabbix Server trapper 命令注入漏洞,攻击者可通过特定Payload获取服务器执行权限。
553 1
|
XML SQL Web App开发
用友 GRP-U8 Proxy XXE-SQL注入漏洞
用友 GRP-U8 Proxy XXE-SQL注入漏洞,攻击者可利用该漏洞获取数据库敏感信息,具体复现操作请看下文。
645 1
|
小程序 开发者
小程序顶部自定义导航栏添加背景图的实现
小程序顶部自定义导航栏添加背景图的实现
435 0
|
存储 监控 C语言
西门子S7-1200编程实例,关断延迟定时器指令如何使用?
在西门子S7-1200中有四种类型的定时器:TON接通延迟定时器、TONR保持型接通延迟定时器、TOF关断延迟定时器、TP脉冲定时器。
西门子S7-1200编程实例,关断延迟定时器指令如何使用?
|
数据采集 存储 大数据
数据治理:数据孤岛是企业信息化发展中难以避免的阶段
数据孤岛是企业信息化发展中难以避免的阶段。企业需要正视这一现象,通过完善数据治理体系、加强部门协作、采用先进技术手段等措施,逐步消除数据孤岛,实现数据的有效整合和利用。只有这样,企业才能在激烈的市场竞争中立于不败之地。
1079 0
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
535 2
|
存储 消息中间件 RocketMQ
RocketMQ中MessageExt属性
RocketMQ中MessageExt属性
441 0
|
安全 Linux 网络安全
|
存储 中间件 API
PHP框架详解 - Slim 框架
PHP框架详解 - Slim 框架
|
Oracle 关系型数据库
The opatch minimum version check for patch failed
The opatch minimum version check for patch failed
203 2