Apache Struts 2的命名空间实战

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/48877493 Apache Struts 2的命名空间实战作者:chszs,版权所有,未经同意,不得转载。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/48877493

Apache Struts 2的命名空间实战

作者:chszs,版权所有,未经同意,不得转载。博主主页:http://blog.csdn.net/chszs

Apache Struts 2的命名空间是一个新概念,它通过为每一个模块分配一个命名空间从而实现多模块的处理。另外,它解决了不同模块下的相同Acion名的名字冲突的问题。
从下面的图我们可以理解URL是怎样匹配Struts 2命名空间的。
这里写图片描述

一、命名空间的配置

下面我们通过Struts2的命名空间配置实例来说明它是怎样匹配URL和目录的。要说明一点,包名(即package name=”default”)不影响URL匹配结果,它仅仅是一个有意义的名字。
struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="default" namespace="/" extends="struts-default">
        <action name="SayWelcome">
            <result>pages/welcome.jsp</result>
        </action>
    </package>
    <package name="common" namespace="/common" extends="struts-default">
        <action name="SayWelcome">
            <result>pages/welcome.jsp</result>
        </action>
    </package>
    <package name="user" namespace="/user" extends="struts-default">
        <action name="SayWelcome">
            <result>pages/welcome.jsp</result>
        </action>
    </package>
</struts>

Struts 2的Action命名空间映射到目录的结构图如下:
这里写图片描述

二、JSP页面

我放了三个相同文件名的JSP文件,但是它们分别位于不同的模块。

1)Root -> webapp/pages/welcome.jsp
2)Common module -> webapp/common/pages/welcome.jsp
3)User module -> webapp/user/pages/welcome.jsp

三、工作机制

运行项目,我们分别访问不同的URL,即可实现对不同的命名空间进行访问。

例子1
URL : http://localhost:8080/Struts2Example/SayWelcome.action
这将匹配root命名空间。

<package name="default" namespace="/" extends="struts-default">
    <action name="SayWelcome">
        <result>pages/welcome.jsp</result>
    </action>
</package>

这里写图片描述
显示的是webapp/pages/welcome.jsp的内容。

例子2
URL : http://localhost:8080/Struts2Example/common/SayWelcome.action
这将匹配common命名空间。

<package name="common" namespace="/common" extends="struts-default">
    <action name="SayWelcome">
        <result>pages/welcome.jsp</result>
    </action>
</package>

这里写图片描述
显示的是webapp/common/pages/welcome.jsp的内容。

例子3
URL : http://localhost:8080/Struts2Example/user/SayWelcome.action
这将匹配user命名空间。

<package name="user" namespace="/user" extends="struts-default">
    <action name="SayWelcome">
        <result>pages/welcome.jsp</result>
    </action>
</package>

这里写图片描述
显示的是webapp/user/pages/welcome.jsp的内容。

目录
相关文章
|
1月前
|
运维 Linux Apache
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
22 2
|
1月前
|
域名解析 Linux Apache
Linux Apache服务详解——虚拟网站主机功能实战
Linux Apache服务详解——虚拟网站主机功能实战
33 5
|
5月前
|
Kubernetes Apache 对象存储
海程邦达基于Apache Paimon+Streampark实现 Streaming warehouse的实战应用(中)
海程邦达基于Apache Paimon+Streampark实现 Streaming warehouse的实战应用
124 0
|
6月前
|
分布式计算 Hadoop 大数据
大数据Hadoop之——Apache Hudi 数据湖实战操作(Spark,Flink与Hudi整合)
大数据Hadoop之——Apache Hudi 数据湖实战操作(Spark,Flink与Hudi整合)
|
1月前
|
运维 Linux Apache
LAMP架构调优(九)——Apache Rewrite功能实战
LAMP架构调优(九)——Apache Rewrite功能实战
13 1
|
1月前
|
监控 API Apache
实战!配置DataDog监控Apache Hudi应用指标
实战!配置DataDog监控Apache Hudi应用指标
21 0
|
1月前
|
消息中间件 JSON Kafka
实战 | Apache Hudi回调功能简介及使用示例
实战 | Apache Hudi回调功能简介及使用示例
17 0
|
1月前
|
运维 Linux 网络安全
Linux Apache服务详解——用户个人主页实战
Linux Apache服务详解——用户个人主页实战
22 1
|
8月前
|
分布式计算 资源调度 Apache
【大数据】Apache Spark入门到实战 1
【大数据】Apache Spark入门到实战
79 0
|
4月前
|
负载均衡 Dubbo 应用服务中间件
阿里微服务架构到底多牛逼:深入解析Apache Dubbo与实战
在Apache Dubbo (以下简称Dubbo)重新开源之前,Dubbo已经被很多公司广泛用于生产环境并获得了良好的反馈,很多公司内部也会建立私有分支自己维护,其中Dubbox 就是基于Dubbo分支进行扩展并二次维护的。重新开源后,社区维护的Dubbo版本进行了大量“bug fix" .和特性支持,收到了大量Dubbo用户的支持和参与。编写本书的想法是在开源后提出来的,因此本书取名《深入理解Apache Dubbo与实战》。

热门文章

最新文章

推荐镜像

更多