Struts2框架的学习(Struts-2.5.x)

Struts2框架的学习(Struts-2.5.x)

1.第一个Struts程序

1.1 Struts2的体系结构

Struts2是基于WebWork技术开发的全新Web框架,如下图所示为Struts2的体系结构:
Struts2框架的学习(Struts-2.5.x)_第1张图片
Struts2通过过滤器拦截要处理的请求,当客户端发送一个HTTP请求时,需要经过一个过滤器链,这个过滤器链包括ActionContextCleanUp过滤器,其他Web应用过滤器及StrutsPrepareAndExcuteFilter,其中StrutsPrepareAndExcuteFilter过滤器是必须配置的。
当StrutsPrepareAndExcuteFilter过滤器被调用时,Action映射器将查找需要调用的Action对象的代理。接下来,Action代理将从配置管理器读取Struts2的相关配置(struts.xml),读取完成后,Action容器调用指定的Action对象,在调用Action对象之前需要经过Struts2的一系列拦截器。拦截器与过滤器的原理相似,从上图中可以看出它的执行顺序是相反的。
当Action处理请求后,将返回相应的结果视图(JSP,FreeMarker等),在这些视图中可以使用Struts标签显示数据对数据逻辑方面的控制,最后HTTP请求回应给浏览器,在回应的过滤器中同样经过过滤器链。
Struts2所需jar包如图:
Struts2框架的学习(Struts-2.5.x)_第2张图片

1.2 创建第一个Struts程序

① 创建一个JavaWeb项目
② 在项目中导入1.1中所示的jar包
③ 在项目的WEB-INF目录下创建web.xml文件,在文件中配置StrutsPrepareAndExcuteFilter过滤器(必须配置)
代码如下:


  <filter>
  	<filter-name>struts2filter-name>
	<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilterfilter-class>
  filter>
  <filter-mapping>
  	<filter-name>struts2filter-name>
  	<url-pattern>/* url-pattern>
  filter-mapping>

代码中filter-class的配置应根据自己项目所导入的jar所配置(struts2-core-2.5.x.jar),如下所示:
Struts2框架的学习(Struts-2.5.x)_第3张图片获取该类的全限定类名(包名+类名)。
④ 在项目源码文件夹(src)目录下创建struts.xml配置文件,在配置文件中,在配置文件中配置Struts2的Action对象,配置如下代码:



<struts>
	
	<package name="myPackage" extends="struts-default">
		
		<action name="first">
			
			<result>/first.jspresult>
		action>
	package>
struts>

package 标签:声明一个包,通过name属性指定包的名称为myPackage,并通过extends属性指定此包继承struts-default包。
action 标签:用于定义Action对象,它的name属性用于指定访问此Action的URL。
result 子元素:用于定义处理结果和资源之间的映射关系,实例中result子元素的配置为处理成功后,请求将其转发到first.jsp页面。
⑤ 创建index.jsp 主要代码如下:

<body>
	<a href="first.action">first.jspa>
	<br />
body>

⑥创建first.jsp,为执行成功后,所跳转的页面
⑦运行项目的结果如下所示
Struts2框架的学习(Struts-2.5.x)_第4张图片

你可能感兴趣的:(JavaEE)