今天开始学习struts2顺便写一下笔记。
一、工作流程
(1)、客户端流量器发送请求;
(2)、控制器FilterDispatcher接收请求后,更加扩展名调用Action;
(3)、调用Action的execute方法之前,struts2会调用一系列的拦截器来提供一些通用的功能,如workflow、验证或文件上传等功能;
(4)、调用Action的execute方法,在该方法中会执行用户的相关操作,如执行某种数据库操作,处理业务逻辑等;
(5)、根据Action的返回值,将处理结果信息返回到浏览器,这些结果可以是html页面、jsp页面等
二、配置文件
一般是放在《web根目录》\WEB-INF\classes目录中,该文件为struts.xml,每个Action对应一个<action>标签,该标签中定义如何处理返回结果,以及拦截器等。下面是struts。xml文件的例子。
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="struts2" extends="struts-default">
<action name="login" class="com.struts2.action.TestAction">
<result name="success">success.jsp</result>
</action>
</package>
</struts>
三、控制器
struts2的Action只要包含execute方法的POJO类就可以作为Struts2的Action类,该类也可以包含用于封装客户端请求参数的getter和setter方法。
特点:
1、Action类可以实现Action接口,也可以继承ActionSupport类(一个默认的Action接口的实现,将在后面详细介绍),但Struts2并不强迫这样做。只要包含execute方法的POJO类都可以作为Action类;
2、execute方法只返回一个字符串,通过struts.xml配置文件,可以将这个返回字符串映射到任何一个web资源上,如html、jsp等
四、例程
我用的是MyEclipse
1、新建web project
2、右击项目,把指标放在myEclipse,点击add Struts2。即可在对应的文件夹下看到相对应的配置文件。
3、新建自己的action类,在struts.xml的<action>标签配置即可以调用。