
struts2
文章平均质量分 81
吴声子夜歌
个人学习记录
展开
-
Web——SSH框架整合
工程目录结构如下:1、导入jar包<dependencies> <!--hibernate包--> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.2.10.Final</version&g转载 2023-05-22 00:17:24 · 252 阅读 · 0 评论 -
Struts2--自定义拦截器三种方式(实现Interceptor接口、继承抽象类AbstractInterceptor、继承MethodFilterInterceptor)
实现自定义拦截器在实际的项目开发中,虽然 Struts2 的内建拦截器可以完成大部分的拦截任务,但是,一些与系统逻辑相关的通用功能(如权限的控制和用户登录控制等),则需要通过自定义拦截器实现。本节将详细讲解如何自定义拦截器。1.实现Interceptor接口在 Struts2 框架中,通常开发人员所编写的自定义拦截器类都会直接或间接地实现 com.opensymphony.xwork2.in...原创 2019-10-20 18:42:07 · 3171 阅读 · 0 评论 -
Struts2--内建拦截器详解
Struts2 框架中内置了许多拦截器,这些拦截器以 name-class 对的形式配置在 struts-default.xml 文件中,其中,name 是拦截器的名称,也就是引用的名字;class 指定了该拦截器所对应的实现。只要自定义的包继承了 Struts2 的 struts-default 包,就可以使用包中定义的内建拦截器,否则需要自行定义拦截器。内建拦截器介绍名称说明...原创 2019-10-20 18:17:30 · 569 阅读 · 0 评论 -
Struts2--拦截器的配置和使用
拦截器要使用拦截器,首先要对它进行配置。拦截器的配置是在 struts.xml 文件中完成的,它通常以 <interceptor> 标签开头,以 </interceptor> 标签结束。定义拦截器的语法格式如下所示:<interceptor name="interceptorName" class="interceptorClass"> <pa...原创 2019-10-20 16:02:32 · 549 阅读 · 0 评论 -
Struts2--拦截器(Interceptor)简介和实现原理
拦截器概述拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之间,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。在Webwork中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以一个action执行前阻止其执行。同时也是提供了一种可...原创 2019-10-20 15:48:11 · 831 阅读 · 0 评论 -
Struts2--获取值栈数据的两种方式:属性驱动和模型驱动
在 Struts2 中,值栈的主要作用就是解决从 Action 到页面的数据交换问题。在采用属性驱动和模型驱动交换数据时,Struts2 会将对象自动存储到 ValueStack 中,其存储说明如下。属性驱动:每次请求访问 Action 的对象时,Action 中的属性对象会被自动压入 ValueStack 中。模型驱动:Action 如果实现了 ModelDriven 接口,那么 Mode...原创 2019-10-19 20:36:46 · 812 阅读 · 0 评论 -
Struts2--值栈内部结构详解
ValueStack 对象的内部有两个逻辑部分。ObjectStack(对象栈):是 CompoundRoot 类型,用 ArrayList 定义,Struts2 把动作和相关对象压入 ObjectStack 中。ContextMap(Map 栈):是 OgnlContext 类型,是一个 Map 集合,Struts2 把各种各样的映射关系(一些 Map 类型的对象)压入 ContextMa...原创 2019-10-19 20:05:25 · 501 阅读 · 0 评论 -
Struts2--值栈(ValueStack)
值栈值栈(ValueStack)就是 OGNL 表达式存取数据的地方。在一个值栈中,封装了一次请求所需要的所有数据。在使用 Struts2 的项目中,Struts2 会为每个请求创建一个新的值栈,也就是说,值栈和请求是一一对应的关系,这种一一对应的关系使值栈能够线程安全地为每个请求提供公共的数据存取服务。1.值栈的作用:值栈可以作为一个数据中转站在前台与后台之间传递数据,最常见的就是将 S...原创 2019-10-19 19:45:00 · 532 阅读 · 0 评论 -
Struts2--非表单标签
非表单标签Struts2 的非表单标签主要用于在页面中生成非表单的可视化元素,以及输出在 Action 中封装的信息,如输出错误提示信息等。常用的非表单标签有 <s:actionmessage>、<s:actionerror> 和 <s:fielderror> 标签,它们分别用于显示动作信息、动作错误信息和字段错误信息。如果信息为空,则不显示。各标签的具体功...原创 2019-10-19 19:38:30 · 530 阅读 · 0 评论 -
Struts2--表单标签
Struts2 的表单标签用于向服务器提交用户输入的信息,绝大多数的表单标签都有其对应的 HTML 标签。表单标签的公共属性每一个表单标签在 Struts2 核心 JAR 文件的 org.apache.struts2.components 包中都有一个对应的类,这些对应的类都继承自 UIBean 类。UIBean 类提供了一组公共属性,这些属性是所有表单标签的通用属性,具体如下表所示:...原创 2019-10-19 18:38:24 · 1409 阅读 · 1 评论 -
Struts--数据标签(s:property、s:a、s:debug、s:include、s:param)
<s:property>标签<s:property> 标签的作用是输出指定的值,通常输出的是 value 属性指定的值,<s:property> 标签的属性及属性说明如下:value: 可选属性,指定需要输出的属性值,如果没有指定该属性,则默认输出 ValueStack 栈顶的值。id: 可选属性,指定该元素的标识。default: 可选属性,如果要输...原创 2019-10-19 11:51:04 · 1819 阅读 · 0 评论 -
Struts2--控制标签(s:if、s:elseif、s:else、s:iterator)
<s:if>、<s:elseif>、<s:else>标签Struts2 标签库中的 <s:if>、<s:elseif>、<s:else> 标签与 Java 中的 if、else if 和 else 语句功能类似,主要用于程序的分支逻辑控制。其中,只有 <s:if> 标签可以单独使用,而 <s:elseif&...原创 2019-10-19 11:34:49 · 3021 阅读 · 0 评论 -
Struts2--用OGNL表达式从域中取值
在实际开发过程中,OGNL 表达式要结合 struts2 的标签使用,主要就是%、#和$三个符号的使用。# 符号在 Struts2 框架中,#符号有三种用途,分别如下:1.访问非跟对象的属性如访问 OGNL 上下文和 Action 上下文。由于 Struts2 中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀。#相当于 ActionContext.getContext()。例如‘...原创 2019-10-19 10:54:35 · 673 阅读 · 0 评论 -
Struts2--OGNL语法详解(取值、赋值、调用普通方法、调用静态方法、创建List和Map)
创建项目并导包创建一个User类package cn.itheima.bean;public class User { private String name; private Integer age; public User() { super(); } public User(String name, Integer age) { super(); this...原创 2019-10-19 10:07:31 · 729 阅读 · 0 评论 -
Struts2--OGNL表达式概述
OGNLOGNL 的全称是**“Object-Graph Navigation Language”**,即对象图导航语言,它是一种功能强大的开源表达式语言。使用这种表达式语言可以通过某种表达式语法存取 Java 对象的任意属性,调用 Java 对象的方法,以及实现类型转换等。OGNL 具有以下特点:支持对象方法调用。如 objName.methodName()。支持类静态方法调用和值访问...原创 2019-10-19 09:03:08 · 477 阅读 · 0 评论 -
Struts2--标签库概述
Struts2 是一个优秀的 MVC 框架,其实现重点主要放在了业务逻辑控制器部分和视图页面部分。控制器部分主要由 Action 提供支持,而视图页面部分则由大量的标签提供支持。Struts2 的标签库是一个比较完善且功能强大的标签库,它将所有标签都统一到一个标签库中,从而简化了标签的使用;它提供了对主题和模板的支持,极大地简化了视图页面代码的编写;它还提供了对 Ajax 的支持,极大地丰富了视...原创 2019-10-19 08:58:30 · 758 阅读 · 0 评论 -
Struts2--封装集合类型的数据(List、Map)
封装集合类型的数据在实际的开发中,有些时候我们需要批量插入用户或者其他的对象,在Action中需要接收到多个Action中封装的对象,然后传递给业务层。那么这个时候就需要将表单的数据封装到集合中。一般我们通常使用的集合无非是List或者是Map集合。封装到List集合中User类:public class User { private String name; private In...原创 2019-10-18 23:15:51 · 566 阅读 · 0 评论 -
Struts2--Action处理请求参数(属性驱动、模型驱动)
在 Struts2 框架中,页面的请求数据和 Action 有两种基本的对应方式,分别是字段驱动(FieldDriven,也称为属性驱动)方式和模型驱动(ModelDriver)方式。属性驱动属性驱动是指在 Action 中通过字段属性进行与页面之间的数据传递,通常使用时会包括两种情况:一种是与基本数据类型的属性对应,另一种是直接使用域对象。1. 基本数据类型字段驱动方式的数据传递publ...原创 2019-10-18 21:52:52 · 1141 阅读 · 0 评论 -
Struts2--Action访问ServletAPI的两种方式(ActionContext、ServletActionContext)
通常开发时需要访问 Servlet API 中的 HttpServletRequest、HttpSession 和 ServletContext 三个接口,它们分别对应 JSP 内置对象 request、session 和 application。在 Struts2 中,访问 Servlet API 通常采用两种方式,分别是通过 ActionContext 访问和通过 ServletAction...原创 2019-10-18 20:52:19 · 1299 阅读 · 0 评论 -
Struts2--框架搭建流程
创建工程并导包书写Action类public class HelloAction { public String hello() { System.out.println("hello world!"); return "success"; }}书写struts.xml配置文件导入依赖,位于核心包下:路径:书写配置:<?xml version="1.0" ...原创 2019-10-09 23:22:25 · 515 阅读 · 0 评论 -
Struts2--体系结构、处理用户请求的完整流程
体系结构处理用户请求的完整流程首先客户端浏览器发送一个请求(HttpServletRequest)。接着程序会调用 StrutsPrepareAndExecuteFilter,然后询问 ActionMapper 这个请求是否需要调用某个 Action。如果 ActionMapper 决定需要调用某个 Action,StrutsPrepareAndExecuteFilter 会把请求的...原创 2019-10-10 23:07:55 · 693 阅读 · 0 评论 -
Struts2--struts.xml配置文件(常量配置、包配置、包含配置)详解
struts.xml配置struts.xml 是 Struts2 框架的核心配置文件,该文件主要用于配置 Action 和请求的对应关系,以及配置逻辑视图和物理视图(逻辑视图就是在 struts.xml 文件中配置的 元素,它的 name 属性值就是逻辑视图名;物理视图是指 元素中配置的结果页面,如 JSP 文件)资源的对应关系。struts.xml 文件通常放在 Web 应用的 WEB-...原创 2019-10-10 23:35:37 · 2362 阅读 · 0 评论 -
Struts2--Action的实现方式与配置详解
ActionAction 是用于处理请求操作的,它是由 StrutsPrepareAndExecuteFilter 分发过来的。在 Struts2 框架中,Action 是框架的核心类,被称为业务逻辑控制器,主要用于实现对用户请求的处理。一个 Action 类代表一次请求或调用,每个请求的动作都对应一个相应的 Action 类。也就是说,用户的每次请求,都会转到一个相应的 Action 类中...原创 2019-10-11 11:02:06 · 1333 阅读 · 0 评论 -
Struts2--配置Result、ResultType結果类型详解
配置Result在 struts.xml 文件中, 元素用于配置 Result 逻辑视图与物理视图之间的映射关系,它有两个可选属性 name 和 type。其中,name 属性用于指定逻辑视图的名称,默认值为 success;type 属性用于指定返回的视图资源的类型,不同的类型代表不同的结果输出,它的默认值是 dispatcher。<action name="loginAction" ...原创 2019-10-11 18:53:01 · 812 阅读 · 0 评论 -
Struts2--框架概述、前端控制器模式、依赖JAR包说明
Struts2框架概述Struts2是基于MVC模式的轻量级Web框架,它自问世以来,就收到了广大Web开发者的关注,并广泛应用于各种企业系统的开发中。目前掌握Struts2框架几乎成为Web开发者的必备技能。Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。...原创 2019-10-08 23:14:21 · 1078 阅读 · 0 评论