struts2框架

ValueStack和OGNL达到Struts2形式的数据存储原理

左心房为你撑大大i 提交于 2020-03-03 21:03:23
(1)最近学习struts相框,我们在快乐struts强大。为了便于使用转发,但不了解详细的内部数据存储; (2)网上找了很多关于struts数据存储的原理,但我还没有找到一个具体的解释,本书上找到了 ValueStack和OGNL实现Struts2表单数据的存储原理 特分享给大家! (3)下面是部分截图:解说了关于struts框架中数据表单等的存储! 感觉这本书解说的确实非常好!须要的回复油箱地址发给你们! 版权声明:本文博主原创文章,博客,未经同意,不得转载。 来源: https://www.cnblogs.com/gcczhongduan/p/4758267.html

【java框架】-- Struts2(一)

我的梦境 提交于 2020-03-01 16:05:17
Struts2入门基础 1. Struts2的认识 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为核心控制器(Controller)来建立模型与视图的数据交互。 Struts2是Struts的下一代产品,是在Struts1和WebWork的技术基础上进行了合并的全新的Struts2框架。 Strust2主要有以下几点核心功能: ① 允许POJO(Plain Old Java Objects)对象 作为Action ② Action的execute 方法不再与Servlet API耦合,更易测试 ③ 支持更多视图技术(JSP、FreeMarker、Velocity) ④ 基于Spring AOP思想的拦截器机制,更易扩展 AOP 面向切面编程 ⑤ 更强大、更易用输入校验功能 ⑥ 整合Ajax支持(局部刷新技术) 2. Struts2基于Hello World构建一个Web项目 2.1.下载Struts2 可以到Struts2官网进行下载Struts2版本: http://struts.apache.org/download.cgi 目前最新版本Struts2为2.5.22,这里使用Struts2 2.3.20版本为例进行构建项目。 下载完成后解压struts-2.3.20-all.zip即可。

警告: Could not find action or result: /struts-day02/ There is no Action mapped for namespace [/] and

穿精又带淫゛_ 提交于 2020-02-29 19:43:13
可能的原因有两种 第一是导入的各个jar包之间版本有冲突。建议直接从maven上导入统一版本的sturts、spring。 第二种说法是导入的jar包排列顺序有问题,建议先导struts2-core-XXX,再导struts2-spring-pligin-XXX,(这里只包含了struts2框架和集合Struts2的Spring框架,H框架后续补上。。) 来源: CSDN 作者: ~!~ 链接: https://blog.csdn.net/A_234_789/article/details/104574555

struts2的工作原理

青春壹個敷衍的年華 提交于 2020-02-22 09:21:11
Struts2的工作原理   Struts2是在Struts1的基础上发展而来的,Struts是WebWork和Struts1的集合,采用的正是WebWork的核心,更多的是WebWork。 上图来源于Struts2官方站点,是Struts 2 的整体结构。 Controller Filter 为Struts2拦截指定的URL请求; Interceptors 拦截器,在调用Action前或之后由拦截器对请求进行预处理,或后处理; Model Action 处理业务逻辑,并为页面提供输出的数据; View JSP 显示页面。 一个请求在Struts2框架中的基本工作过程如下: 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin); 接着StrutsPrepareAndExecuteFilter被调用,StrutsPrepareAndExecuteFilter询问ActionMapper来决定这个请求是否需要调用某个Action; 如果ActionMapper决定需要调用某个Action

JavaWeb框架_Struts2_(六)----->Struts2的输入校验

a 夏天 提交于 2020-02-20 11:35:52
1. Struts2的输入校验 1.1 输入校验概述    输入校验分为客户端校验和服务器端校验,客户端校验主要是过滤正常用户的误操作,主要通过JavaScript代码完成;服务器端校验是整个应用阻止非法数据的最后防线,主要通过在应用中编程实现。 1.1.1 客户端校验    大多数情况下,使用JavaScript进行客户端校验的步骤如下: 编写校验函数; 在提交表单的事件中调用校验函数; 根据校验函数来判断是否进行表单提交;   下面通过一个简单的示例讲解使用JavaScript进行客户端校验的方法,具体代码如下所示: <%-- Created by IntelliJ IDEA. User: mairr Date: 17-12-5 Time: 下午10:07 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page language = "java" import = "java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head>

struts2工作原理

天大地大妈咪最大 提交于 2020-02-17 08:02:59
[组成]Struts2框架的一些组成部分 1、ActionMapper和ActionMapping org.apache.struts2.dispatcher.mapper.ActionMapper接口在HTTP请求和action调用请求之间提供一个映射。当给定一个HTTP请求时,ActionMapper根据请求的URI查找是否有对应的action,如果有,返回一个描述action调用的ActionMapping;如果没有,返回null。 ActionMapping本质上是一个数据传输对象,它将action类和要执行的方法的详细资料手机在一起。 2、ActionProxy和ActionInvocation ActionProxy在XWork和真正的action之间充当代理角色,在通过框架执行action的过程中,因为是使用代理而不是直接操作对象,所以可以在代理中封装拦截器、result等额外代码。 ActionProxy持有ActionInvocation对象。ActionInvocation代表了action执行的当前状态。它持有拦截器(按顺序排列)、Action实例、结果映射(从结果吗到Result实例的映射)和ActionContext。 3、ActionContext ActionContext是action执行的上下文

idea搭建struts2框架dome

╄→гoц情女王★ 提交于 2020-02-16 09:59:44
第一步 第二步 第三步 进入项目目录后,在web/WEB-INF下新建lib文件夹,同时将在上一节整理的struts2开发包拷入lib文件,之后,右键lib目录,选择Add as library选项,将开发包配置好。如下: jar包下载连接:https://pan.baidu.com/s/1w6NZRVr6LIMpQusVvpw64w 提取码:5034 第四步 打开web/WEB-INF中的web.xml,配置filter,这个就是之前提到过的前端控制器。如下: <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 这里注意 :struts2每个版本不同org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter 路径地址不一样,具体请根据版本的不同书写正确的拦截器路径地址

Struts2拦截器

坚强是说给别人听的谎言 提交于 2020-02-12 03:10:36
转自:http://blog.csdn.net/qjyong/article/details/1824607 Struts2 拦截器 (Interceptor) ++YONG 原创,转载请注明 1. 理解拦截器 1.1. 什么是拦截器: 拦截器,在 AOP ( Aspect-Oriented Programming )中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是 AOP 的一种实现策略。 在 Webwork 的中文文档的解释为——拦截器是动态拦截 Action 调用的对象。它提供了一种机制可以使开发者可以定义在一个 action 执行的前后执行的代码,也可以在一个 action 执行前阻止其执行。同时也是提供了一种可以提取 action 中可重用的部分的方式。 谈到拦截器,还有一个词大家应该知道——拦截器链( Interceptor Chain ,在 Struts 2 中称为拦截器栈 Interceptor Stack )。拦截器链就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。 1.2. 拦截器的实现原理: 大部分时候,拦截器方法都是通过代理的方式来调用的。 Struts 2 的拦截器实现相对简单。当请求到达 Struts 2 的 ServletDispatcher 时,

Struts2拦截器(Interceptor)

无人久伴 提交于 2020-02-12 03:02:43
1. 理解拦截器 1.1. 什么是拦截器: 拦截器,在 AOP ( Aspect-Oriented Programming )中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是 AOP 的一种实现策略。 在 Webwork 的中文文档的解释为——拦截器是动态拦截 Action 调用的对象。它提供了一种机制可以使开发者可以定义在一个 action 执行的前后执行的代码,也可以在一个 action 执行前阻止其执行。同时也是提供了一种可以提取 action 中可重用的部分的方式。 谈到拦截器,还有一个词大家应该知道——拦截器链( Interceptor Chain ,在 Struts 2 中称为拦截器栈 Interceptor Stack )。拦截器链就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。 1.2. 拦截器的实现原理: 大部分时候,拦截器方法都是通过代理的方式来调用的。 Struts 2 的拦截器实现相对简单。当请求到达 Struts 2 的 ServletDispatcher 时, Struts 2 会查找配置文件,并根据其配置实例化相对的拦截器对象,然后串成一个列表( list ),最后一个一个地调用列表中的拦截器。如下图: 2. 拦截器的配置 Struts 2

Struts2的配置文件——web.xml

喜欢而已 提交于 2020-02-03 16:08:22
任何MVC框架都需要与Web应用整合,这就不得不借助于web.xml文件,只有配置在web.xml文件中Servlet才会被应用加载。 通常,所有的MVC框架都需要Web应用加载一个核心控制器,对于Struts2框架而言,需要加载FilterDispatcher,只要Web应用负责加载FilterDispatcher,FilterDispatcher将会加载Struts2框架。 因为Struts2将核心控制器设计成Filter,而不是一个普通Servlet。故为了让Web应用加载FilterDispatcher,只需要在web.xml文件中配置FilterDispatcher即可。 标准配置文件如下: Java代码 <?xml version= "1.0" encoding= "UTF-8" ?> <web-app id= "WebApp_9" version= "2.4" xmlns= "http://java.sun.com/xml/ns/j2ee" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >