Apache Struts 2的命名空间实战
2015-10-03 11:46
603 查看
Apache Struts 2的命名空间实战
作者:chszs,版权所有,未经同意,不得转载。博主主页:http://blog.csdn.net/chszsApache 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的内容。
相关文章推荐
- Apache Struts 2入门指南
- ubuntu apache2的配置
- apache+php+mysql环境搭建
- APACHE PIG BATCH MODE初体验
- apache 占用内存总量与每个apache进程的平均内存占用量计算
- 许鹏:从零开始学习,Apache Spark源码走读(三)
- Apache容器扩展Transformer类
- ubuntu apache2 svn 搭建
- Linux、Apache、Mysql、PHP(LAMP) -- 部署文档
- Python CGI与Apache的配置
- Ubuntu 14.10下部署Django到Apache服务器
- org.apache.commons扩展容器中的Predicate类
- Web学习之——03Apache服务器的高级配置(虚拟主机、status)
- Web学习之——02Apache的基本配置(全局配置、主服务器配置)
- Windows下配置Apache虚拟机
- (IIS8/8.5/Apache)301域名重定向
- Apache SVN配置
- linux(apache)
- 【手把手教你全文检索】Apache Lucene初探
- 使用Apache Camel处理web service请求的三种方法