struts2框架之struts框架介绍

来源:互联网 发布:linux 启动ntp客户端 编辑:程序博客网 时间:2024/04/28 00:57

如今,在Java Web 学习中,框架的学习是很重要的一个环节,大家很熟悉的名词SSH,代表的就是Struts、Spring、Hibernate三大框架。SSH也是现如今企业主流的JavaEE开发的一套架构。那么什么是框架呢?我们又为什么要学习框架?对于第一个问题,需要我们以后再实践的学习中慢慢体会,这里给一个定义:框架是实现部分功能的代码!那么学习框架的技术,我们可以利用框架来简化企业级软件开发中的工作。在学习框架的过程中,我们要带着两个问题来学习:能清楚的知道框架能做什么?我们需要使用框架时还有哪些编码工作要自己来实现?

现在,让我们一起走进框架的世界吧。在学习之前大家应该要熟悉的了解什么是MVC模式。这里不再详细介绍。首先来介绍下什么是struts2框架。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架,但其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大,而且Struts 2以WebWork为核心进行开发的;即有:struts2=struts1+webwork;。struts2是一个标准的mvc框架, 那么其优势呢?struts2框架是在javaweb开发中使用的。 使用struts2框架,可以简化我们的web开发,并且降低程序的耦合度。

这里我们来看一下SSH框架及MVC模式的联系:

关于struts2的历史,这里大家可以自行去搜索相关资料。struts2是结合了struts1和webwork框架的综合体,其内核是webwork框架。在struts2的学习中,我们需要了解的知识有:struts2配置、struts2的结果类型、struts2处理请求参数、struts2的类型转换、struts2的校验、struts2国际化、struts2拦截器、struts2文件上传与下载、ognl、valuestack(值栈)、struts2中的防止表单重复提交、struts2中ajax插件等。

struts2的详细流程如下图所示(图片来自百度百科):

根据上图,这里简单的介绍下struts2的运行流程:

1、客户端浏览器发出HttpServletRequest请求

2、核心控制器FileterDispatcher接收请求后,根据后面的扩展名,决定是否调用Action类以及调用哪个Action类;

3、在调用Action的execute()方法之前,struts2会调用一系列的拦截器(拦截器链)来提供一些通用的功能;

4、在调用完拦截器链之后,Struts2就会调用Action的execute方法,在这个方法中就会执行用户的相关操作

5、根据execute方法的返回值,去struts.xml中处理相关信息,然后将处理结果信息返回到浏览器中。


3 0