Struts2 学习笔记 —— 02 —— Namespace

Struts到底干什么用的 —— 把请求跟视图分开


Namespace是命名空间


namespace决定了action的访问路径,默认为"",可以接收所有路径的action
namespace可以写为/,或者/***,或者/***/***,
对应的action的访问路径为/index.action,/***/index.action,或者/***/***/index.action
namespace最好也用模块来进行命名




创建struts项目,配置web.xml(配置方法见01

配置struts.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

	<constant name="struts.devMode" value="true" />

	<package name="front" namespace="/front" extends="struts-default">

		<action name="index">
			<result name="success">
				/Namespace.jsp
			</result>
		</action>
	</package>


</struts>

说明:

1、namespace写的是什么,就在访问时在路径加上它

namespace必须用“/”开头


2、namespace和package开发时都用模块管理,以区分不用模块下的同名action


3、凡是name="success"的action,这个name="success"可以省略


4、namespace可以为空(相当于namespace省略)

这时无论在任何路径下访问index.action,都可以访问这个namespace为空的action

即只要找到一个action,并且没有找到精确的package与之对应,则交由本namespace处理

<package name="all" namespace="" extends="struts-default">

		<action name="index">
			<result name="success">
				/NamespaceAll.jsp
			</result>
		</action>
</package>


上面配置了一个namespace为空的package,则随便输入一个action为index.action的路径,都能访问到这个界面




注意一个点:

当拷贝项目时,修改项目名称后直接运行在tomcat上会发现无法直接访问,而拷贝之前的路径能够访问

原因是项目拷贝时要修改一个地方:

在项目上点击右键,选择Properties,修改Context root为拷贝后项目的名称

不同IDE略有不同:

Eclipse



MyEclipse



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在 Struts 中,处理异常有两种方式:编程式异常处理和声明式异常处理。本篇笔记将讲解声明式异常处理。 声明式异常处理是指在 struts.xml 文件中通过配置来处理异常。这种方式可以让开发人员将重心放在业务逻辑的处理上,而不必关心异常的处理。 首先,我们需要在 struts.xml 文件中配置全局的异常处理器: ```xml <global-exception-mappings> <exception-mapping exception="java.lang.Exception" result="errorPage"/> </global-exception-mappings> ``` 这里我们配置了一个全局的异常处理器,它会处理所有的 java.lang.Exception 异常,并将结果返回到名为 errorPage 的 result 中。 接下来,我们需要在 action 中声明需要处理的异常: ```xml <action name="test" class="com.example.TestAction"> <exception-mapping exception="java.lang.IllegalArgumentException" result="illegalArgument"/> <result name="success">/test.jsp</result> </action> ``` 在这个例子中,我们声明了 TestAction 类中处理 java.lang.IllegalArgumentException 异常,并将结果返回到名为 illegalArgument 的 result 中。 最后,我们需要在 struts.xml 文件中定义这些 result: ```xml <result name="errorPage">/error.jsp</result> <result name="illegalArgument">/illegalArgument.jsp</result> ``` 这样,当 TestAction 类中抛出 java.lang.IllegalArgumentException 异常时,就会返回到名为 illegalArgument 的 result 中。 总之,声明式异常处理可以让我们更加专注于业务逻辑的处理,通过配置来处理异常,从而提高代码的可维护性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值