Struts2框架学习流程介绍
在学习Struts2框架之前,首先我们要明白学习Struts2的目的是何?它能够给我们带来什么非同一般的好处?
1、框架介绍
Struts2框架是一个流行的全新的MVC框架,它是Struts的下一代产品,适合分层开发,应用于我们的web层开发。
针对此句话,我们需要了解两点:
- 第一点:Struts2和Struts1的异同之处
Struts 2=struts1+webwork,,它是基于webWork而开发的一个全新的框架,其实struts2的出现的原因就是因为webWork框架完美出现,但是唯一美中不足的就是不兼容struts,因为后来再一次升级,才取名struts2,所以,Struts2号称全新框架,也仅仅是相对于Struts1而言。Struts2与Struts1相比,确实是有很多革命性的改进,但他并非是新发布的框架。不过,他比较擅长吸取他人优点,取长补短,吸收了Struts1和WebWork两者的优势,走在了流行之路上。
- 第二点:和MVC的关系
基于MVC开发的过程,Struts是MVC的一种实现,他将Servlet和jsp标记用作实现的一部分,继承的MVC的所有特性,并针对J3EE的特点,做了相应的变化和扩展,有了自己的个性。实现原理图如下:
Struts2框架是以ActionServlet作为核心控制器,而ActionServlet是以Struts-config.xml作为核心,所以Struts-config.xml就是Struts2框架的神经中枢。当启动容器(浏览器,tomact)时,容器实例化ActionServlet,初始化ActionServlet,在初始化时加载xml文件。ActionServlet根据请求决定是否调用业务逻辑控制器来处理用户的请求,当结果处理完毕后,处理结果将通过JSP呈现给用户
2、执行原理分析
对于Struts2的官方解释,我们必须要去深入理解,我们可以通过一个demo调用来对其原理有一个简单的分析:
对于Struts2框架,我们使用第一步的前提就是在web.xml配置文件中配置一个Filter。(org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter),只有配置完成之后,才可使用。所以我们的执行从此开始。
3、框架使用过程:
- 1>导入jar包
- 2>在web.xml文件中配置一个Filter
<filter>
<span style="white-space:pre"> </span><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>
- 3>在src下创建一个struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 使用这一句,则是关闭了动态方法调用 -->
<constant name="struts.enable.DynamicMethodInvocation" value="false"
/>
<package name="default" namespace="/" extends="struts-default">
<!-- 使用pojo创建action -->
<action name="demo1" class="cn.itcast.action.Demo1Action">
<result>/success.jsp</result>
</action>
<span style="white-space:pre"> </span></package>
</struts>
配置完毕之后,剩下的就是Action和JSP页面的完工了。整体介绍就是如此,代码调用截图,配置如下:
一个优秀的框架可以帮助我们更有效,稳定的开发合格的产品,但是我们也不能单一的去依赖,辅助式的学习可以更加促进我们的成长。