美文网首页
Struts2基础学习(一)

Struts2基础学习(一)

作者: 飞灰非辉 | 来源:发表于2019-07-20 17:15 被阅读0次

Struts是什么?

翻译:支柱,支干,来源于旧建筑和旧式飞机使用的金属支架
Struts是流行和成熟的基于MVC设计模式的Web应用程序框架。

使用Struts的目的

为了帮助我们减少在运用MVC设计模型来开发Web应用时间。
MVC模式
JSP+JavaBean=Model-1:适用于小型网站的开发
JSP+Servlet+JavaBean=Model-2:最典型的MVC模式
MVC是模型(Model)、视图(View)和控制器(Controller)的缩写;MVC是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。在Struts中,Controller就是action,JSP为View,JavaBean为Model。

image.png

Struts实例程序创建步骤

(工具Myeclipse10+tomcat7+jdk1.8)
1、创建Web Project

2、导入jar包,在src下建立struts.xml
可在下面网址下载jar包
Struts官方网站:http://struts.apache.org/
历史版本:http://archive.apache.org/dist/struts/

image.png
向工程中导入jar包
Struts2的基础包
1.、commons-fileupload(上传下载包);
2、commons-io(输入输出包);
3、commons-lang 3-3.2(基础包);
4、commons-logging(日志包);
5、freemarker(模板引擎,通过模板生成文本输出的通用工具);6、structs2-core(核心包);
7、xwork-core(一些类基于xwork);
8、ognl(表达式);
9、javassist-3.11.0.GA.jar(解析java类文件的一个包)
image.png

3、打开web.xml,添加

<filter>
    <filter-name>[过滤器名]</filter-name>
    <filter-class>   
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    </filter-class>
</filter>
<filter-mapping>
    <filter-name>[过滤器名]</filter-name>
    <url-pattern>/*</url-pattern>
    <!-- /*代表过滤所有路径 -->
</filter-mapping>
image.png

4、打开struts.xml,假如文档类型定义DTD(用myeclipse直接添加struts可以不用添加jar包)

image.png
image.png
image.png
如果使用的是上面添加的2.3的jar包版本DTD为
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">

5、创建action,新建class(命名hello)继承ActionSupport类,默认执行ActionSupport的execute() 执行成功返回SUCCESS.


image.png

6、在struts.xml中配置action

<package name="default" namespace="/" extends="struts-default">
<!-- package name="default"   是默认包名,可以自定义,用于被其他包继承
        namespace="/"    命名空间,可以指定可以默认
       extends="default"    该包所继承的包
-->
    <action name="hello" method="" class="包全名.hello">
        <result name="">/result.jsp</result>
        <!-- result 的name默认是SUCCESS 也可以是其他action中传回的字符串 -->
    </action>
</package>
image.png

7、在WebRoot下创建result.jsp

8、发布运行项目,打开浏览器访问http://localhost:8080/[项目名]/hello.action。

Struts2工作原理

1.客户端通过httpservletrequest向servlet容器,也就是tomcat提交一个请求,

2.这个请求,会经过一些列的过滤器,如ActionContentClearUp过滤器,最终被struts核心过滤器过滤,
也就是FilterDispatcher

3.从struts2.1.3版本以后struts的核心控制器发生了变化,变成了PrepqreAndExecuteFiletr,核心过滤器过滤以后,可以让用户在准备和执行之间写一些自己的过滤器

4.调用访问ActionMapping,决定是否调用某一action,

5.如果action请求的是jsp页面或者是其他资源,不会调用某一action,

6.如果决定调用某一action,ActionMapping会将控制权委派给ActionProxy也叫action代理,

7.这是action代理会通过一个Configuration Manager也就是配置管理器对象加载struts核心配置文件,也就是struts.xml。

8.如果在struts.xml找到需要创建的action,ActionProxy会创建一个Action Invocation实例,action Invocation包括一些列的拦截器和action,

9.先顺序执行一系列的拦截器,然后执行action处理,

10.返回一个结果,通过result返回一个视图或者调用另外某个action。

11.当返回这个视图以后,将之前执行过的拦截器反向执行一遍,

12.然后通过response响应客户端的请求。

image.png

相关文章

  • Struts基础知识

    下一篇:struts2核心文件 Struts基础知识 参考: Struct2 入门(Struts2学习系列一)My...

  • Struts2基础学习(一)

    Struts是什么? 翻译:支柱,支干,来源于旧建筑和旧式飞机使用的金属支架Struts是流行和成熟的基于MVC设...

  • 简单了解Struts2

    struts2是什么? struts2是一个基于MVC设计模式的WEB框架。struts2是在WebWork的基础...

  • struts2 笔记1

    struts2 是什么 struts2 介绍 struts2 是在stuts1 和 webwork的技术基础上进行...

  • Struts2入门

    Struts2简介   Struts2是在WebWork2基础上发展而来的。Struts2和Struts1一样,也...

  • JAVA Web学习(20)___第14章Struts2基础

    第14章Struts2基础 14.1 Struts2概述 14.1.1 理解MVC原理 14.1.2 Struts...

  • 2020-12-16

    Struts2介绍 Struts2是在WebWork2基础发展而来的。和Struts1一样,Struts2也属于m...

  • Struts2基础学习(二)

    Struts2中的核心文件 1.web.xml任何MVC框架都需要与Web应用整合,这就不得不借用于web.xml...

  • SSH框架笔记01_SSH整合的两种方式

    1. 框架回顾 2. 创建项目,引入jar包 2.1 Struts2的jar包 基础包:..\struts2\st...

  • Struts2与Struts1的区别以及配置

    一、Struts2与Struts1的区别 Struts2是WebWork2基础上发展而来的,和Struts1一样,...

网友评论

      本文标题:Struts2基础学习(一)

      本文链接:https://www.haomeiwen.com/subject/oolulctx.html