--题外话--
今日分享两个小问题的解决方法:
1.在idea中搭建struts2环境问题
在使用idea进行struts2的搭建中在新建Project过程中左侧选择 Java Enterprise栏,不能选择Java栏,因为是JavaEE项目所以很多人使用Java栏中看见了Struts2选项时会直接选择,这样就会tomcat无法启动,变成橙色图标,并且会报错并且提示web服务器问题错误
2. 搭建好环境后运行tomcat成功,但在浏览器中打开网页时报错500,提示struts2中有非法字符":"
这是因为jdk版本导致的,将原来版本卸载并且换一个版本即可,一般老版本不容易出错,新版本有时候还在测试阶段,当然不要太老不支持就好。
--内容部分--
1.Struts2.xml配置介绍
package: 包. struts2 使用package 来组织模块
name属性:用于其他的包需要应用当前包
extends:继承,通常继承struts-default
namespace:可选,没有给出则用/为默认值
name:对应一个Struts2请求的名字
method:默认值excute
result: 结果. 表示action 方法执行后可能返回的一个结果. 所以一个action 节点可能会有多个result 子节点.多个result 子节点使用name 来区分
name: 标识一个result. 和action 方法的返回值对应. 默认值为success
type: 表示结果的类型. 默认值为dispatcher(转发到结果.)
2.web.xml
注意事项:当你在web.xml配置多个过滤器的时候,一定要把struts2的过滤器放到最后,这样可以防止过滤器链被中断,导致你配置的其他过滤器不起作用
3. 拦截器栈
interceptor-stack:通过拦截器栈来进行多个action对多个拦截器的使用进行管理
<interceptor-stack name="myStack">
<interceptor-ref name="alias"/>
<interceptor-ref name="autowiring"/>
</interceptor-stack>