struts2框架
任务:
- 了解struts2框架的组成
- 搭建struts2框架
struts2框架组成:
Struts2 是由 struts1 和 webwork 整合而来。是 apache 下的一个项目。开源,免费。
可以通过这里的网址下载下载struts-2.5.8-all:
https://github.com/apache/struts
;
http://struts.apache.org/download.cgi#struts2324
解压该文件,打开后可看到:
-
Apps 里面存放的是一些项目案例
-
Docs 存放的是学习文档,包括用户指南,api文档等
-
Lib 存放所需 jar 包
-
Src 存放的是 struts2 的源码
搭建struts2框架
1. 新建web项目
2.导入struts2的jar包(从上面我们下载的struts-2.5.8-all里的Lib文件夹里选择以下包)
2.1:复制这些包
2.2:粘贴到项目的WebRoot文档下的WEB-INF下的lib文件夹里
3.编写web.xml(配置 struts2 的核心控制器 )
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.编写struts.xml(struts2 的配置文件)
Xml
文件的头文件
---
拷贝一个
struts.xml
文件,或者到
core
包下的
struts-default.xml 文件中拷贝。
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!--extends必须写,直接或者间接继承struts-default name自定义 -->
<package name="hello" extends="struts-default">
<!-- name是请求名称,不要写/;class对应action完全限定名=包名+类名 -->
<action name="hello" class="com.demo.HelloAction">
<!-- result是结果集 name和对应action中的方法的返回值匹配,默认是success -->
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
到这里框架就搭建完毕,核心代码可以在src下编写java文件(控制器和模式)以及在WebRoot下编写视图文件(jsp等)
struts2框架的执行步骤流程
浏览器通过action发出请求,然后执行web.xml 加载核心控制器,然后分析action后面的字符串,由这个字符串来匹配struts.xml中所对应的action,找到class对应的类,然后执行src的java文件中的execute()方法,返回一个字符串,当返回一个字符串后,到struts.xml中匹配result,然后跳转到相应的文件。