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>
注意一个点:
当拷贝项目时,修改项目名称后直接运行在tomcat上会发现无法直接访问,而拷贝之前的路径能够访问
原因是项目拷贝时要修改一个地方:
在项目上点击右键,选择Properties,修改Context root为拷贝后项目的名称
不同IDE略有不同:
Eclipse
MyEclipse