struts2标签

Web上传超大文件解决方案

允我心安 提交于 2019-12-04 11:41:53
文件上传下载,与传统的方式不同,这里能够上传和下载10G以上的文件。而且支持断点续传。 通常情况下,我们在网站上面下载的时候都是单个文件下载,但是在实际的业务场景中,我们经常会遇到客户需要批量下载的场景,还有文件夹的下载场景。与传统业务需求相比,新的业务需求要求更高,难度也更大。但是用户体验比传统应用场景更好,更加符合用户的实际需求。 第一点:系统的配置 第二点:系统路径的配置,将所有的路径统一配置,在子页面只需要引用即可,不需要再反复引用 文件初始化服务端处理逻辑 文件上传上处理程序,处理服务器返回的数据信息 2. 在Jsp页面中进行引用该Java类: \ 第三点:struts2实现文件的上传和下载 第一步:在WEB-INF/lib下加入commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar。这两个文件可以从 http://commons.apache.org/ 下载。 第二步:把form表的enctype设置为:“multipart/form-data“,如下: Java 代码 下载的参数接收及初始化部分 后面便是我们实际的下载逻辑 注:一个表单里的文件域对应Action中三个属性,分别是文件,文件名,文件类型,命名是固定的,文件名必须表单中的文件域名称相同(uploadImage),文件名为:文件+FileName,文件类型:文件

外网上传超大文件解决方案

£可爱£侵袭症+ 提交于 2019-12-04 11:28:41
文件上传下载,与传统的方式不同,这里能够上传和下载10G以上的文件。而且支持断点续传。 通常情况下,我们在网站上面下载的时候都是单个文件下载,但是在实际的业务场景中,我们经常会遇到客户需要批量下载的场景,还有文件夹的下载场景。与传统业务需求相比,新的业务需求要求更高,难度也更大。但是用户体验比传统应用场景更好,更加符合用户的实际需求。 第一点:系统的配置 第二点:系统路径的配置,将所有的路径统一配置,在子页面只需要引用即可,不需要再反复引用 文件初始化服务端处理逻辑 文件上传上处理程序,处理服务器返回的数据信息 2. 在Jsp页面中进行引用该Java类: \ 第三点:struts2实现文件的上传和下载 第一步:在WEB-INF/lib下加入commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar。这两个文件可以从 http://commons.apache.org/ 下载。 第二步:把form表的enctype设置为:“multipart/form-data“,如下: Java 代码 下载的参数接收及初始化部分 后面便是我们实际的下载逻辑 注:一个表单里的文件域对应Action中三个属性,分别是文件,文件名,文件类型,命名是固定的,文件名必须表单中的文件域名称相同(uploadImage),文件名为:文件+FileName,文件类型:文件

struts2学习笔记

拥有回忆 提交于 2019-12-04 05:39:12
Struts2学习笔记 1.Struts2 简介 1.1 Struts2概念 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(controller)来建立模型与视图的数据交互。Struts2是Struts2的下一代产品,这个框架充分发挥了Struts2和WebWork这两种技术的优势,抛弃原来Struts1的缺点,使得Web开发更加容易。 1)、运行在web层.负责处理请求的. 2)、struts2已经帮我们封装了很多web中常用的功能(拦截器) 3)、struts2 与 struts1 没什么关系. struts2是基于webwork框架 1.2 Struts2的优点 项目开源,使用及扩展方便; 提供Exception处理机制; Result方式的页面导航,通过Result标签很方便的实现重定向和页面跳转; 通过简单、集中的配置来调度业务类,使得配置和修改都非常容易; 提供简单、统一的表达式语言来访问所有可供访问的数据; 提供标准、强大的验证框架和国际化框架; 提供强大的、可以有效减少页面代码的标签; 提供良好的Ajax支持; 拥有简单的插件,只需要放入响应的jar包,任何人都可以扩展Struts2框架 1.3 Struts2与Servlet比较 优点:业务代码解耦,提高开发效率

Struts2相关面试题(转)

故事扮演 提交于 2019-12-03 20:25:18
Struts2 面试题 1、struts2工作流程 Struts 2 框架本身大致可以分为 3 个部分: 核心控制器 FilterDispatcher 、业务控制器 Action 和用户实现的企业业务逻辑组件。 核心控制器 FilterDispatcher 是 Struts 2 框架的基础, 包含了框架内部的控制流程和处理机制。 业务控制器 Action 和业务逻辑组件是需要用户来自己实现的。 用户在开发 Action 和业务逻辑组件的同时,还需要编写相关的配置文件, 供核心控制器 FilterDispatcher 来使用。 Struts 2 的工作流程相对于 Struts 1 要简单,与 WebWork 框架基本相同, 所以说 Struts 2 是 WebWork 的升级版本。基本简要流程如下: 1 、客户端初始化一个指向 Servlet 容器的请求; 2 、 这个请求经过一系列的过滤器( Filter ) (这些过滤器中有一个叫做 ActionContextCleanUp 的可选过滤器, 这个过滤器对于 Struts2 和其他框架的集成很有帮助,例如: SiteMesh Plugin ) 3 、接着 FilterDispatcher 被调用, FilterDispatcher 询问 ActionMapper 来决定这个请是否需要调用某个 Action 4 、如果

struts2值栈与action上下文

孤街醉人 提交于 2019-12-03 19:57:15
原文 http://blog.sina.com.cn/s/blog_87216a00010137t0.html 1、值栈的简单定义: (1)简单的说,值栈是对应每一个请求对象的轻量级的数据存储中心,在这里统一管理着数据,供Action、Result、Interceptor等Struts2的其他部分使用,这样数据被集中管理起来而不凌乱。 (2)当有请求的时候,Struts2会为每个请求创建一个新的值栈,也就是说,值栈和请求是一一对应的,不同的请求,值栈也不一样, 而值栈封装了一次请求所有需要操作的相关的数据。 (3)正是因为值栈和请求的对应关系,因此值栈能保证线程安全的为每个请求提供公共的数据存取服务。 (4)就是ROOT根对象,ognl访问值栈不用加任何的访问前缀,只需action中声明相应的属性,并且生成属性对应的set和get方法,页面中通过struts2标签就可以存放/取出值栈中的值,EL表达式${username}如果没有加访问范围,访问的也是值栈,这只是最简单的值栈应用 (5)值栈的特点:如果访问的值栈里有多个对象,且相同的属性在多个对象中同时出现,则值栈会按照从栈顶到栈底的顺序,寻找第一个匹配的对象。 2、actionContext(action上下文)的简单定义: (1)ActionContext对象,非根对象,是Action运行的上下文

Struts2之上传文件

假装没事ソ 提交于 2019-12-03 17:15:11
一、单文件上传   1.定义form表单 <form action="uploadFile" method="post" enctype="multipart/form-data"> 上传文件:<input type="file" name="myFile"> <input type="submit" value="提交"> </form>   重点:     (1)form表单上添加属性enctype="multipart/form-data"     (2)文件选择的input标签type设置为file   2.定义文件上传Action (根据需求自定义) package com.yg.study.action; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; public class FileUploadAction { private File myFile; private String myFileFileName; public File getMyFile() { return myFile; } public void setMyFile(File myFile) { this.myFile = myFile; } public

博客园随笔中点击标签可以跳到当页指定位置的方法

主宰稳场 提交于 2019-12-03 04:35:28
  我们在写随笔的时候,如果内容比较多,那么我们就希望在最前面的索引中能自带跳转本文中的具体问之的功能。下面就简单介绍下载博客园中要实现这样的功能的方法。例如文章结构可能如下,那么我们希望点击索引中的索引项时能具体调到具体内容中对应的位置。 索引 1、Struts2是什么玩意?核心?主要的功能? 2、Struts2的核心知识 内容 一 、Struts2是什么玩意?核心?主要的功能? ....... 二、Struts2的核心知识 ...... 具体方法是将你要跳转的标题插入设置书签,之后在标签中插入超链接。链接地址为 #书签名 。具体步骤如下: 第一步: 插入标签: w1,在具体内容中对应索引每一项的位置的开始插入标签,给这个标签去一个名字(自己随意取),我们这里暂定w1。 第二步:在 索引项中 1、Struts2是什么玩意?核心?主要的功能?中插入链接: 锚点:选择前面我们再具体内容中设置的标签w1即可 链接URL地址:在锚点选择之后会自动生成 #w1 目标:在目前窗口打开超链接 设置完成点击更新或插入即可。   我们在写随笔的时候,如果内容比较多,那么我们就希望在最前面的索引中能自带跳转本文中的具体问之的功能。下面就简单介绍下载博客园中要实现这样的功能的方法。例如文章结构可能如下,那么我们希望点击索引中的索引项时能具体调到具体内容中对应的位置。 索引 1、Struts2是什么玩意

struts2标签

匿名 (未验证) 提交于 2019-12-03 00:38:01
<%@ page language="java" pageEncoding="utf-8"%> <%@ include file="../../common/header.jsp"%> <%@taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>${activityName }</title> <base target="_self"></base> <jsp:include page="../../common/meta.jsp" /> <link rel="stylesheet" type="text/css" href="${root}/css/dialogStyle.css" /> <link rel="stylesheet" type="text/css" href="${root}/css/datagrid2.css" /> <style> .sel { width: 145px } .btn { display: none; } .tab05{border-bottom:1px solid #2d2d2d; border-right:0px solid #000000;

Struts2框架入门

匿名 (未验证) 提交于 2019-12-03 00:33:02
Struts2简单的使用步骤 一、导入jar包(在解压后的struts2文件夹中的apps文件夹中任选一个示例,将其中的jar包复制到项目中) 二、创建action(每次访问action时,默认执行名称为execute方法) 三、创建struts.xml配置文件: 文件名称和路径固定 ) <!DOCTYPEstruts PUBLIC ) 四、在web.xml文件中配置struts2过滤器(添加如下代码): <filter> Struts2的执行过程 一、浏览器通过地址栏发送请求至服务器,服务器通过web.xml中配置的过滤器(在服务器启动的时候创建)来调用相对应action中的execute方法来实现功能。 二、过滤器实现过滤功能的步骤: //得到action类 (四)用得到的action返回值,在struts.xml文件中,找到该Action标签里面是否有result标签,如果有就匹配result标签的name属性值是否一样,如果一样,就跳转到配置的页面中。 过滤器创建时间和作用 一、创建时间:在服务器启动的时候创建。 二、作用:创建过滤器的时候执行init方法,init方法主要作用是加载配置文件(包括自己创建的配置文件和struts2自带的配置文件) 在Struts.xml中配置action的访问路径 在配置过程中主要用到三个标签:package、action和result 一

struts2

匿名 (未验证) 提交于 2019-12-03 00:26:01
Struts2 的struts.xml 配置文件 <?xmlversion="1.0" encoding="UTF-8"?> <!DOCTYPE strutsPUBLIC "-//Apache Software Foundation//DTD Struts Configuration2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <!-- 可以有多个包, 但是包名要唯一--> <!--name是包名,extends是继承父类的包名 abstract:设置package的属性为抽象的,抽象的package不能定义action,值true:false namespace:定义package命名空间,该命名空间影响到url的地址,例如该命名空间为/test,那么访问的地址为http://localhost:8080/struts2/test/xx.action --> <struts> <package name="main"extends="struts-default"> <interceptors> <!--定义拦截器 --> <interceptor name=”logger”class=”com.kay.logger”></interceptor> <!--定义拦截器栈--> <interceptor-ref