Struts2第一天学习内容

本文介绍了Struts2的学习目标,包括理解Struts2基本概念、开发步骤、执行原理和常用配置。讲解了Struts2作为MVC框架的角色,配置开发环境的步骤,以及Struts2环境的搭建过程。文章还详细阐述了Struts2的执行机制,即通过过滤器执行请求,匹配Action并调用相应方法,最后根据返回值跳转到指定的JSP页面。此外,还讨论了Struts2的配置,如Package、Action和Result标签的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Struts2
第一天学习目标

1、了解Struts2的基本概念
2、掌握Struts2的开发步骤
3、了解Struts2的执行原理
4、掌握Struts2的常用配置

1、了解Struts2的基本概念
什么是Struts2?
----严格按照MVC的分层思想,把客户端和服务端响应按照流程编写的开发框架。
MVC分层思想。M:model 模型 V:view 视图 C:controller 控制器

总结:按照Controller,Service,Dao,Pojo编写代码,处理客户端和服务端之间交互的框架。

  1. 掌握Struts2的开发步骤
    配置开发环境
    切换工作空间 File-switch Workspace
    配置工作空间的编码 Window-preference–搜索Workspace
    修改jsp文件编码 Window-preference–搜索jsp
    设定jdk,tomcat
    设置字体大小

Struts2文件下载
隶属于Apache。www.apache.org

Apps 里面包含的Struts2的一些例子
Docs 里面包含Struts2的开发文档API
Lib Struts2的开发jar包
Src Struts2的源代码

Struts2运行需要jar包

Struts2-core.xxx.jar Struts2运行的核心jar包
Xwork-core.xxx.jar Struts2依赖的Xworkjar包
Ognl-xxx.jar 导航语言,类似el表达式
Freemarker-xxx.jar 包含的模板引擎
Common-logging.jar 日志jar包
Common-fileupload-xxx.jar 上传文件的jar包
Common-io-xxx.jar 跟上传有关
Common-lang3.xxx.jar 通用类

搭建Struts2环境

  1. 添加jar包
  2. 添加过滤器,在web.xml

    struts2
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter


    struts2
    /*
  3. 创建一个struts2的配置文件


    /success.jsp


    配置代码提示:默认没有联网的请求,我们需要手动配置DTD。如果连接,不用管。
    Window-prefereces–搜索xml catelog ,添加dtd,关闭Struts2.xml文件,重新打开就可以了。
  4. 创建Action
    public class HelloAction {
    public String sayHello(){
    System.out.println(“say Hello”);
    return “success”;
    }
    }
  5. 运行,测试
    http://localhost:8080/项目名/action路径

Struts2执行原理
当我们发送一个请求,首先是经过了web.xml中的StrutsPreparedAndExcuteFilter,这个过滤器过滤所有的请求,然后,在Struts.xml中,根据请求的Action的名字找到对应的Action,
根据method找到对应的方法。当方法执行之后,根据返回值,找到struts.xml中的result名字,根据result名字找到对应的jsp路径。

  1. 掌握Struts2常用配置
    Package标签:分模块开发
    属性name,包的名称,必须有且唯一。
    属性 extends=“struts-default”,继承的包名,这个是有且不变。
    属性abstract=“true”,表示是抽象包,可以被继承

属性namespace,命名空间,设定包访问路径。
Namespace=“”默认命名空间
Namespace=“/”根命名空间

命名空间的运行原理
访问路径 http://localhost:8080/Struts2/p1/p2/p3/testShop
http://localhost:8080/Struts2/p1/p2/p3/myShop
步骤1,当访问p1/p2/p3/,如果这个namespace存在,就执行找对应Action。
但是没有对应的action,执行步骤4。找对应的Action,但是没有。执行步骤2。
步骤2,当访问p1/p2/,如果这个namespace存在,就执行找对应Action。
但是没有对应的action,执行步骤4。找对应的Action,但是没有。执行步骤3。
步骤3,当访问p1,如果这个namespace存在,就执行找对应Action。
执行步骤4。
步骤4,去默认namespace中找对应的action。

先找命名空间,在命名空间找对应Action。如果没有,去默认命名空间找,如果找不到。去下层命名空间找,。。。。如果,所有的命名空间的Action中都找不到,报错。。。。

Constant标签

<constant name="struts.action.extension" value="action,do"></constant>

Action标签
配置Action类,执行其中的方法。
Name属性,就是访问的路径,必须有且唯一
Class属性,Action的全路径
Method属性,Action需要执行的方法

Result标签
Name属性,返回的视图名称
视图路径

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值