初识struts2

Struts2  框架:

1、作用:封装了 jsp servlet ,按照 mvc 的开发模式 进行了封装。

2、Mvc: model one model two (mvc) model view controller 控制层

3、Struts1 struts2(xwork webwork (framework))

这里面这个故事的版本貌似是这样的:显示 apache 开发了 struts1 然后 渐渐地另一拨人开发了xwork ,然后 不断地升级,越来越多的人发现这个好用,于是apache就把  这个 xwork连人带东西 都并购了。然后 改了个名字 叫做 struts1.

4、搭建一个struts2环境:

1)导入struts2 的jar包

2)Web.xml  进行struts2 的核心控制 配置, 用来 告诉 tomcat 有一个mvc框架

3)下一个 普通的 aciton类,里面必须有 execute 而且这个方法必须有一个 string的返回值

4)Struts2的核心配置文件,:请求路径action之间的关系,返回字符串和jsp页面之间的关系

5)这个配置文件就由 核心控制器 读取,并且使用。

5、在struts2 请求的流程中,携带数据,在相应的过程中,也携带数据回来。

总结:

1、struts框架概述

2、搭建环境(工作机制)重点

3、这样的环境下 数据的传递:属性驱动 对象驱动

4、作业:1、struts2登录  新增 修改 展现  删除

定义 action的方式 ,在 action中访问 servlet api ,在 action中 如果有多个方法的话,可以进行方法调用配置

1、导入jar包。

2、

<!-- 配置struts2 核心控制器 -->

  <filter>

   <filter-name>struts2</filter-name>

   <!-- 这个 应该 是高级版本的。 -->

   <!-- org.apache.struts2.dispatcher.FilterDispatcher    好像是说这个也行,回头试试  -->

   <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>

//这控制台上的输出有毒【囧】

这个当然是行。不过人家不建议使用了

这个 约束文件是要加上的。就是 那个 dtd文件。

工作原理:

Struts 工作原理:

From letben 先自己写一遍再抄老师的。

配置流程:

1、导入对应的jar包

2、到web.xml 中进行配置,配置时候,是以过滤器的形式。

3、写对应的action。

4、为相应的action配置 struts.xml 文件。

工作原理:

1、启动tomcat服务器。加载配置文件。发现在web.xml 中配置了对应的struts的核心控制器。并且让struts的核心控制器接管每一个当前工程目录结构下的路径。【如果没有配置,则struts不可以工作。】

1、随着请求的到来,【通常都是jsp页面的请求,当然也有来自 action。】tomcat服务器会去对应当前这个 请求是否对应到核心控制器的范围。【显然我们配置过了,会走这个配置器的工作路径】,页面一般会直接响应。【因为本质上struts是对servlet的封装。当然也包括一部分的jsp的封装。使之应用起来更加方便。】1)当请求的路径对应到struts.xml里面对应的package 里面namespace下的 action下的name 这样一个路径的时候,action对应的class的对象将被创建。2)随后执行里面的execute方法。然后返回一个string类型的结果。如果该结果对应到了action里面result的name,那么就会跳转到对应标签体那个里面的路径。如果是一个页面,那么就反馈新的这个页面给客户端。否则的话就继续到新的action里执行对应的方法。

来自老师:

1、当向tomcat发送请求的时候【通常都是jsp】。Tomcat接收到这个请求,并把这个请求给核心控制器

2、核心控制器拿到这个请求路径。通过过滤器,判定一次这个上面是否以.action结尾。如果有就把.action 去掉。

3、核心控制器就用这个掐头去尾的路径到struts.xml里面的action配置中做对应,匹配到之后,创建路径对应的action的对象

4、调用action中的execute()方法

5、调用该方法前,要经过一系列的过滤器,【做很多的通用功能,比如转码,参数拦截,checkbox拦截 等等。】

6、通过方法名进行对应,进入指定的方法,并执行相应的函数。执行这个函数时,当前action里面的各个属性已经根据反射得到了从页面或者 对应action的值。

7、在execute方法中,可以使用封装的model做数据的处理

8、根据处理结果作出相应,这个响应实质上是一个string类型的标识

9、经过拦截器把action中所有的属性,都存储到Request的作用域中

10、把标识给控制器。

11、核心控制器通过这个标识到struts.xml中找到一个 跟action里面result的name对应的结果,并执行这个结果。如果是.jsp就到对应页面,如果action,就到对应的action中继续执行。继续对应,直到反馈一个界面给客户端。

李飞和这个描述,差一个 参数拦截器。差一个method的对应

定义action的方式:

1、就是一个普通类,必须要有一个String返回值类型的 execute。

2、必须实现一个 action的接口。在这个接口中,有五个常量【分别是 success、error、none、login、input】,和一个 execute方法

3、必须集成一个 Actionsupport类。它实现【还是继承?】了action,validate,I18n 等 一共5个大类。还有一个 序列化,还有一个 忘记了

【方法3最多见,毕竟是继承,方法 提供的全面】

在 action中访问 servlet 的api:也提供了3种方式

1、ActionContext 直接通过该类 进行访问  因为是 map的集合形式,所以应用也不是很多。但是这种封装的确是还不错。

2、Implements ServletRequestAware ServletResponseAware 实现这两个接口进行访问,但是弊端在于这个方法的冗余太大。本身我们这个 action就有对应的 接受信息和反馈,现在又多了这两个,的接口,所以 实现起来很是冗余。不过确实有这样的方法。

3、ServletActionContext,这就体现了这个 ActionSupport 的优势了。这个里面封装了这个ServletActionContext这个对象。

如果在action中有多个 方法,可以通过 方法调用配置  利用 属性:method来对应

分别采用符号 ! * {}

一共三种

时间: 2024-08-25 14:33:07

初识struts2的相关文章

初识struts2框架

一.struts2开发环境的搭建 1.1拷贝jar包到classpath中(找到struts2自带例子中struts-blank的war包,将\web-inf\lib目录下的jar包全拷贝) 1.2创建struts2配置文件(在最顶层的构建路径下,建立一个默认名为struts.xml的配置文件) 1.3配置控制器 a.配置位置:web.xml b.配置内容:参照servlet配置内容 <filter> <filter-name></..> <filter-clas

传统三大框架(SSH)之初识Struts2

Struts2(Struts1+webworks的整合) Struts和SpringMVC都是基于servlet来做的控制器   struts是Apache的一个子项目 servlet默认是单例模式,而Struts2的action默认的是prototype模式(一个请求创建一次对象 Prototype模式允许对象在不了解要创建对象的确切类以及如何创建等细节的情况下创建自定义对象.) 定位:Apache Struts is a free, open-source, MVC framework fo

Struts2之初识

Struts2教程 第一章 初识Struts2 主页:http://struts.apache.org/ 优势:用户请求,模块处理,页面展现.适用于企业级开发,便于维护. 配置:web.xml中添加的核心控制器 <filter> <filter-name>Struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFil

Struts2的简单使用

一.准备工作及实例 1.解压struts-2.1.6-all.zip apps目录:struts2自带的例子程序 docs目录:官方文档. lib 目录:存放所有jar文件. Src 目录:源文件存放地 2.六个基本包 struts2-core-2.1.6.jar :开发的核心类库 freemarker-2.3.13.jar :struts2的UI标签的模板使用freemarker编写 commons-logging-1.0.4.jar :日志包 ognl-2.6.11.jar :对象图导航语言

Struts2教程

一.初识Struts2 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互.许多框架在大家一开始学习的时候都觉得比较繁琐和多此一举,但大体都有相同的目的,那就是增强可扩展性.Struts2的核心其实就是通过改配置文件的方式将请求和视图(结果)分开. 1.1 开发环境搭建 首先下载Struts2,地址http://struts.apache.org/,我这里下载的版

Structs框架

一.准备工作及实例 1.解压struts-2.1.6-all.zip(structs网上下载) apps目录:struts2自带的例子程序 docs目录:官方文档. lib 目录:存放所有jar文件. Src 目录:源文件存放地 2.六个基本包 struts2-core-2.1.6.jar :开发的核心类库 freemarker-2.3.13.jar :struts2的UI标签的模板使用freemarker编写 commons-logging-1.0.4.jar :日志包 ognl-2.6.11

Struts2之Servlet API及单元测试初识

可以无视的声明:对于博文中出现的错别字,以及语义不对给大家造成的困扰向大家致歉,同时也希望朋友给予包容和谅解.鄙人现在真的忙的快要疯了,早晨一起床就是赶快发博文,然后就是维护自己网站.上午基本就这几样就没了,下午就是写软文,找友链.晚上就是给大家写博文了.有时碰到有课,都得一样一样往后推,但我不想推掉每日一篇的博文.所以博文出现的个别可以忽视的错误,大家就别计较了.当然我并不是说大家就不用联系我了,关于学习交流的问题,还是希望大家积极交流的.So 奋斗吧,骚年!!! 一.学习案例:通过在Logi

Struts2之模型驱动及分层架构初识

一.学习案例:通过在loginUI.jsp页面输入登录账号和密码判断是否正确,正确则跳转到成功页面(success.jsp),错误则返回登录页面(loginUI.jsp). 二.案例分析:struts2值传递分为:属性驱动和模型驱动. a)属性驱动 属性驱动就是在页面通过form表单设置name属性,在表单提交后在action中通过相同的名称属性的变量获取提交值. private String username; private String password; public String ge

SpringMVC学习系列(1) 之 初识SpringMVC

1.前言: 与SpringMVC的结识源于个人之前想做一个微信公众账号的管理平台玩玩,既然要做就需要考虑平台的选择问题.由于我的朋友只有一台运行了Linux系统的虚拟主机,且上面还运行有他自己的一些论坛.找不到windows虚拟主机,且肯定不能换朋友主机的系统.刚开始时打算用mono把之前做的.Net MVC项目搭的框架运行一下看看能不能用,发现根本跑不起来(项目用了Spring.NET当时mono和Spring.NET还不兼容,Sping.NET论坛说是由于mono的反射实现机制的问题.好消息