struts2环境搭建
【摘要】 内容struts框架实现web应用的基本配置创建基于Struts2框架的HelloWord工程了解struts2 目的熟悉采用Eclipse搭建struts应用的一般流程了解struts.xml配置文件的基本结构及作用掌握Struts2建立web项目的步骤 平台:Eclipse for J2EETomcat服务器(Tomcat 6.x) 框架jar包官方网站下载,放入工程lib库中http...
内容
struts框架实现web应用的基本配置
创建基于Struts2框架的HelloWord工程
了解struts2
目的
熟悉采用Eclipse搭建struts应用的一般流程
了解struts.xml配置文件的基本结构及作用
掌握Struts2建立web项目的步骤
平台:
Eclipse for J2EE
Tomcat服务器(Tomcat 6.x)
框架jar包
官方网站下载,放入工程lib库中
数据库
MySQL、Navicat
软件下载地址
eclipse:http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/keplersr2
tomcat:http://tomcat.apache.org/
struts2:http://struts.apache.org/
步骤
apps -> 解压war包 ->WEB_INF->lib
- File -> New -> Dynamic Project ->填写Project Name ->勾选web.xml
- 在工程下的WebContent目录下创建视图helloWorld.jsp
- 复制下载struts2包中的struts2-blank lib下内容至当前工程WebContent/WEB-INF/lib中,并且复制struts.xml到src文件夹
4. 修改配置文件struts.xml ,修改为如下代码
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="helloWorld">
<result name="success">/HelloWorld.jsp</result>
</action>
</package>
</struts>
struts:
元素是文件的根元素,所有其他元素都放在 <struts></struts>
中。
package:
元素用于进行包配置,在 Struts2 框架中,包用于组织 Action 和拦截器等信息,每个包都是由零个或多个拦截器以及 Action 所组成的集合。
action:
定义处理请求URL为login.action的Action
result:
定义处理结果字符串和资源之间的映射关系
- 修改配置文件web.xml ,修改为如下代码(可复制struts-blank)
<web-app>
<display-name>HelloWorld</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<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>
</web-app>
- 启动Tomcat服务器 ,发布并测试HelloWorld
工作流程
当初始的请求到达Servlet容器的时候,该请求:
- 首先要经过Struts2框架的核心控制器StrutsPrepareAndExecuteFilter。
- 然后核心控制器依次查找ActionMapper来决定这个请求是否调用action。如果ActionMapper决定调用action,StrutsPrepareAndExecuteFilter就把请求的处理控制权委托给ActionProxy。
- ActionProxy通过Configuration Manager查询Struts2框架的核心配置文件(struts.xml),找到所要调用的Action类。
- 接下来,ActionProxy创建一个ActionInvocation实例,该实例负责命令模式的实现,包括在激活action本身之前调用配置的任意拦截器。
- 在action执行完成之后,ActionInvocation实例负责根据action的返回结果码在struts.xml配置文件中查找要输出的结果(Result)。该结果通常是JSP或者FreeMarker模板,也可能是action。在输出的时候,模板可以使用框架提供的Struts2标签。
- 然后,为action配置的拦截器将被再次执行(顺序和action被调用之前执行顺序相反)。
- 最后,服务器的响应将通过web.xml文件中配置的Struts2框架核心控制器返回。
总结来说就是:
- 发起请求
- 服务器接收请求并交给struts2的核心控制器
- 根据请求的url查看struts.xml中的namespace+actionname是否存在
- 执行action所对应类的对应方法
- 根据方法的返回结果到action的结果集中进行匹配
- 响应结果
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)