初识Struts2_构建第一个Struts2程序
如何在项目中使用Strust2呢?
一、准备步骤
下载Struts2的类库
下载完成后解压,下面是解压完成后的目录
apps:示例程序
docs: 文档
lib:类库
src:源码
二、搭建开发环境
1.首先在MyEclipse中创建一个web项目:Struts2_Hello
2.导入项目所需的jar包。
解压apps\struts2-blank.war(struts2-blank是一个示例项目)
将struts2-blank\WEB-INF\lib下的jar复制到项目中
3.导入配置文件struts.xml
将struts2-blank\WEB-INF\classes\struts.xml复制到项目的src下
4.配置struts过滤器
打开struts2-blank\WEB-INF\web.xml
将以下代码复制到自己项目的web.xml中
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
5.配置自己的第一个Action
打开自己项目src\struts.xml将<struts></struts>中的内容全部删除,
并添加如下代码
<!-- Add packages here --> <!-- 启用开发者模式,当修改struts配置文件时不用重启服务器 --> <constant name="struts.devMode" value="true" />
<!--
package的name属性:
作用是为了区分不用的package
package的namespace属性:
代表package下action的上级路径
--> <package name="default" namespace="/" extends="struts-default">
<!--
action的name属性:
代表action的名字
actio的result属性:
代表访问action之后要转发或重定向到的页面
注意:
当action省略class属性时,默认使用ActionSupport类
当action省略method属性时,默认使用execute()方法
-->
<action name="hello">
<!--
当result省略name属性时,默认name="success"
-->
<result> /hello.jsp </result> </action> </package>
6.在自己项目的webRoot下创建一个hello.jsp
7. 发布项目并访问
三、程序解释
当访问http://localhost:8080/Strust2_Hello/hello时
请求会先被Struts的过滤器拦截(见步骤 二、4)
Struts过滤器会先解析请求地址http://localhost:8080/Strust2_Hello/hello
并去src/struts.xml中寻找对应的action
最后找到了<action name="hello"> 返回了/hello.jsp