学习Struts2经验总结

一、struts 访问路径问题

1) Struts2的思想:主要围着“action”转,只要找到“action”它就知道自己该干嘛了。

  首先配置struts.xml ,我们可以明白的看到,action name="index",而result 需要返回到一个界面“index.jsp”

<struts>

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

<result >

/index.jsp
</result>
</action>
</package>

</struts>

2 )修改“index.jsp” ,只输出一句话:Hello Struts2!

<title>首页</title>
</head>
<body>
Hello Struts2!
</body>

3)部署项目,重启tomcat7.0 在地址栏输入  http://localhost:8080/Struts1/index (或者http://localhost:8080/Struts1/index.action)——>回车,结果如下:

4) 当我们改动了“action”的 “name”,其他地方不变,相应的在地址栏也改动它的名字,但是不会再有之前的结果,报错(找不到"action")。

<struts>

<package name="default" namespace="/" extends="struts-default"> 
<action name="hello"> 
<result > 
/index.jsp
</result> 
</action> 
</package>

</struts>

结果:

 

 

5)解决办法:由上可知,这种情况需要重启服务,重新部署项目。现在有一个一劳永逸的方法:在struts.xml文件里加入常量 <constant name="struts.devMode" value="true" /> 使得一直处于开发模式(即Development Mode)(需要注意的是:要把value的默认值“false”改为“true”,才能是开发模式)。然后需要重启服务,再次运行,成功。

为了验证该方法是否有效,可以再将“action” name改为之前的“index” ,但是不重启服务,直接运行,实践证明:此方法可行。

6) 技巧总结i:1 写程序时可以运用的小技巧:地址栏需要输入对应的项目名称,但是太长了容易写错,没关系

                 此时直接单击项目——>右键——>copy Qualified Name,即可将项目名称准确无误的填入地址栏。

              2.当想看struts jar包的源代码,直接单击目录: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter,只会看到这个界面

 不用急,可以如下操作:在struts2-core-2.2.1.jar文件上右键——>Properties——>Java Source Attachment——>External Folder(外部目录)——>OK。需要注意的是路径不能错。

  同样,要看它的doc文档,struts2-core-2.2.1.jar文件上右键——>Properties——>Javadoc Location——>Browse——>OK——>新建class——>粘贴web.xml中的一句话:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter  f;——> 按下f1,即可看到右边的“help”目录下的doc文档。

 

posted on 2016-03-31 11:21  小虾米吖~  阅读(158)  评论(0编辑  收藏  举报