关于Struts2文件下载时,下载方法被重复执行的问题

Struts2框架概述、Struts简介、Struts环境搭建、Struts执行流程、Struts文档、Struts配置文件的加载顺序-day01 目录第一节 框架概述1.1 什么是框架1.2 三大框架1.3 三层架构1.4 MVC、Servlet、FilterMVCServletFilter第二节 Struts简介2.1 Struts2简介2.2 Struts2来历第三节 Struts的环境搭建3.1 下载Struts2开发包3.2 解压后的目录结构3.3 Struts jar包介绍3.4 第一个Struts项目第一步:创建Eclipse Web工程第二步:导jar包第三步:添加配置文件第四步:配置struts的过滤器第五步:Tomcat运行Web工 阅读详情

项目里有个功能是在下载功能中加入日志,也就是希望把用户下载的记录保存到数据库中。

可实践发现点击下载文件后,下载方法被重复执行了两次。。。

并且重复执行问题貌似不是很稳定,有时数据库记录了一条记录,有时记录了两条。。。

比较郁闷。。。

后来网上查了下貌似别人也有遇到这个问题,最后发现原因:

原因是浏览器引起的,换成IE浏览器或FireFox浏览器,就不会出现这个问题。

我们当时用的是360浏览器及搜狗浏览器,导致的这个情况,后来使用IE或Google或FireFox发现并无此问题。

看来用类似于QQ、搜狗、360等山寨杂牌浏览器做开发测试还是有点问题啊。。。

原文地址:http://newtypebao.blog.163.com/blog/static/398211802011724113119277/

功率开关管驱动串扰(Crosstalk):深度解析与优化方案 介绍了功率开关器件驱动串扰产生机理,并整理了常见的工程应用优化措施 阅读详情

相关推荐

(目录)微气候模型ENVI-met模拟的基本使用教程

ENVI-met模拟操作系列(一) 介绍:

ysqzhatian的博客 2万+

使用struts2文件下载时,execute()方法执行两次

使用struts2文件下载时,execute()方法执行两次 第一次执行execute是在点击下载按钮时执行的,第二次执行execute是在点击确定下载时执行的。 后来才发现是360浏览器的问题,其他浏览器不会出现此问题。

小酷陪你玩安卓 1257

莫兰指数stata命令_一文读懂16个sp系列stata空间计量命令及应用

spcompress:Compress Stata-format shapefile压缩数据成stata格式的shapefile2、Looking at data/观测数据2、Looking at data/观测数据grmap:Graph choropleth maps绘制等值区域图spdistance:Calculator for distance between places计算区域之间距离3...

weixin_39719989的博客 822

如何解决Struts2下载操作执行两次的问题

今天在做struts2实现下载功能时,在执行execute()调用的业务逻辑方法时会执行两次,对数据库的操作也插入了相同的信息。之前也做过类似的功能,但没有与数据库进行交互,也没有记录过下载次数,所以问题一直潜伏着,没有被发现。出现这个问题后,找了一下网上的解决方案,以下来自网络:   这个原因是浏览器引起的,你换成IE浏览器或FireFox浏览器做测试,就不会有这个问题。 不过其实我上面...

杨柳11 253

基于Web的智能家居(源码+开题)

实践上,智能家居系统的普及和应用将极大改善人们的居住体验,提高生活质量,同时也有助于促进智能家居产业链的发展和完善,为社会经济发展注入新的活力。此外,本研究还将对基于Web的智能家居系统的用户体验进行深入研究,通过用户调研和数据分析,不断优化系统功能和界面设计,提升用户的使用体验和满意度。针对以上问题,本研究将综合运用物联网、云计算、大数据等新一代信息技术,通过系统架构设计、功能模块开发、安全性保障、用户体验优化等多个方面的研究工作,力求为基于Web的智能家居系统的研发和应用提供全面而有效的解决方案。

sryue06的博客 1904

torchsparse安装

torchsparse安装以及安装失败原因分析和解决

AI_BING_的博客 1万+

Struts2中action的方法被执行两次

两种可能性:

直到世界的尽头 3818

【图像去噪】论文复现:灵感源自MAE!进一步解决BSN的局限性,破坏真实噪声的空间相关性!AMSNet的Pytorch源码复现,跑通源码,原理详解!

论文题目:Asymmetric Mask Scheme for Self-Supervised Real Image Denoising —— 自监督真实图像去噪的非对称掩码方案【图像去噪】论文精读:Asymmetric Mask Scheme for Self-Supervised Real Image Denoising(AMSNet)AMSNet是基于PyTorch Lightning CLI深度学习框架编写的,比较适合复杂的大型任务,复用很方便,但是安装和环境配置问题太多。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 546

JAVA框架——struts(一)struts快速入门,struts访问流程,struts配置文件详解,动态方法调用

一、 Struts2框架概述 是一种基于MVC模式的轻量级web框架。本质是一个Servlet。作为控制器建立模型与视图的数据交互。Struts2以WebWord为核心,采用拦截器的机制处理客户的请求。使得业务逻辑控制能够与Servlet分隔开,减少耦合度。 二、 Struts2框架优势 项目开源,使用及拓展方便 提供Exception处理机制 自动封装参数 参数校验 结果的处理(转发|重定向) 国际化 显示等待页面 防止表单重复提交 三、 常见的WEB层的框架 Struct2 Struct1 Web

Mr_GYF的博客 6957

假期搞定!2026国社科申报AI全攻略指南:从选题到创新,7大核心要点手把手教你!

最后给大家推荐的400多所高校教师都在用的AI平台——高级学术版专业应用平台,集成了国际主流学术应用,以及ChatGPT、Claude、Gemini、Grok等Al大模型的高级版本平台,还有,可以辅助大家高效完成科研和学术写作任务,当然撰写硕博论文,课题、职称论文、国社科、国自然基金本子也是手拿把掐。你的任务是:用高度凝练的方式说明在(某一明确国家战略 / 政策方向,如:中国式现代化、共同富裕、基层治理现代化、数字中国、文化强国、国家安全等)背景下,我究竟要研究一个什么“具体而可操作的问题”。

智能AI让学术科研更容易 624

2026AI漫剧放心大胆做!小白也能轻松出片(附保姆级教程)

要是在2025,我大概率会劝他再等等,毕竟那时工具还没这么顺手。但到了2026年的今天,我的回答得很干脆:放心去做,绝对没问题。这一年多来,AI漫剧这块的变化真可谓翻天覆地。过去你想拍个像样的短片,哪怕再简陋,也得凑齐拍摄设备、找场地、找演员,后期剪辑更是折磨。但现在,时代变了,AI已经把创作的门槛踏平了。你不需要请演员,也不用操心灯光布景,更不用为剪辑特效烧钱。一个人,一台电脑,花几天时间就能做一部完整的AI漫剧。你只要有有想表达的故事,突发的灵感,剩下的,都能直接交给AI落地。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 513

eclipse配置struts2详细介绍

eclipse配置structs2 tomcat 问题解决

m0_56309491的博客 2981

AIGC实战——多模态模型DALL.E 2

DALL.E 2 是 OpenAI 提出的一个大规模文本生成图像模型,可以根据文本提示生成各种风格的逼真图像。它通过将预训练模型 CLIP 与 GLIDE 中的扩散模型架构相结合完成任务。它还具有其他应用,例如通过文本提示编辑图像和提供给定图像的变体。虽然它也有一些局限性,例如不一致的文本渲染和属性绑定,但 DALL.E 2 是仍然一个非常强大的AI模型,推动了生成模型的发展。

盼小辉丶的博客 1万+

用struts2的form标签时action执行两次的问题

转载: http://blog.youkuaiyun.com/phoenix2121/article/details/5683098 最近在学struts2,出现个问题,就是用XXX!method.action在form表单中提交会执行method. 不管xml怎么去配置,都是如此.网上很多都是img会自动当做一次action,但是我没有用到img. jsp也没有出现问题. jsp:

chuzhenbin的专栏 993

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Struts2框架

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开。Struts2框架提供的功能支持: 1、请求数据自动封装 2、文件上传和下

我是沈君哦! 1183

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

struts2框架之struts框架介绍

如今,在Java Web 学习中,框架的学习是很重要的一个环节,大家很熟悉的名词SSH,代表的就是Struts、Spring、Hibernate三大框架。SSH也是现如今企业主流的JavaEE开发的一套架构。那么什么是框架呢?我们又为什么要学习框架?对于第一个问题,需要我们以后再实践的学习中慢慢体会,这里给一个定义:框架是实现部分功能的代码!那么学习框架的技术,我们可以利用框架来简化企业级软件开发

ZhiyouWu的博客 9648

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

struts2防止页面重复提交的解决方案

上篇博客说了一下总结struts防止页面提交的背景和struts1防止页面重复提交的解决方案,这篇博客介绍struts2防止页面提交的解决方案。         首先原理是一样的,都是通过产生令牌到页面上,而且存储到session中,当提交页面的时候判断页面传过来的令牌和session中的是否一致,如果一直就继续执行添加,之后删除session中的令牌,当再次提交的时候就会不一致,也就是不能进行重

Q 2355

Struts2 Day 05 : 运行流程、自定义拦截器、上传下载、表单重复提交、输入验证

Struts2 1.运行流程 2.自定义拦截器     > 拦截器作用和Filter类似。     > 它可以在action方法调用之前被调用,可以拦截请求,也可以放行请求,还可以在action方法执行完毕之后做一些处理。     > Struts中已经给我们定义好了多个拦截器,可以满足我们的大部分需求。     > 但是有时我们会需要一个个性化的需求,比如 权限验证。

liuzeyu19940927的博客 324

easyUi + jquery + common-file-upload +struts2完成文件进度条上传

文章知识点纲要 1:应用struts2框架2.2.1 , 基础框架 2:easyUI 1.2.6, 实现文件进度条 ,progressBar显示进度 3:commons-fileupload-1.2.1 (注意:commons-fileupload-1.2.2老版本上传文件大小有限制 4:struts2 JSON 配置与前后台交互 ,struts2-json-plugin...

HarryChenj的专栏 2万+

day27_struts2环境搭建&配置文件

一、学习方法: 做好笔记。Struts2内容比较多,比较杂。 多做实验,证明结论。 二、Servlet PK Filter Servlet: void init(ServletConfig cfg);//初始化,读取Servlet的配置参数 void service(ServletRequest request,ServletResponse response);服务方法,用户的每次请求

优快云_AF的博客 1032

struts2(运行流程 拦截器 重复提交 文件上传下载 输入验证)

Struts2 运行流程分析 请求发送给 StrutsPrepareAndExecuteFilter StrutsPrepareAndExecuteFilter 询问 ActionMapper: 该请求是否是一个 Struts2 请求(即是否返回一个非空的 ActionMapping 对象) 若 ActionMapper 认为该请求是一个 Struts2 请求,则 StrutsPrepareAndExecuteFilter 把请求的处理交给 ActionProxy ActionProxy 通过 Conf

二月鸟 532

day31_struts2

回顾一、多文件上传 File[]/List photo; String[] photoFileName; String[] photoContentType; 二、文件的下载 是用一个结果类型stream实现的 配置参数: contentType contentDisposition 三、OGNL简介

优快云_AF的博客 914

struts2(自用)

一个基于请求的轻量级的mvc框架 struts2的helloworld案例 新建web项目 导入jar包 编辑web.xml文件–配置struts2的前段控制器(分发器) 在struts2中所有的业务方法都是public的,返回值都为String类型,所有的业务方法都没有参数,方法名可以自定义,默认为execute struts2配置 web.xml 前端控制器 struts2框架开始工作的入口,接管请求 struts2.xml该配置文件名称固定,并且只能放于src下 package(重点): nam

qq_45906102的博客 298

Struts2学习笔记

1. VS 自实现:   1). 搭建 Struts2 的开发环境   2). 不需要显式的定义 Filter, 而使用的是 struts2的配置文件.   3). details.jsp 比先前变得简单了.   ${requestScope.product.productName} ->${productName}   4). 步骤:   I.  由product-i

MADE_Y 388

Struts 2.1--随便写写

    学习Struts 2.1有一阵了,本以为差不多了,今天拿起来练了练,几个问题却让我琢磨了好久。心血来潮写一写,给自己提个醒,也跟还没注意的朋友分享下,希望能帮你们在学习和工作中节省点时间。  1. parameters     在页面中可以使用Ognl表达式#parameters访问请求参数,Action可以实现ParameterAware接口让框架注入该Map,同样,也可

aft_momo的专栏 1060
上一篇: Java FTP 实现跨服务器文件上传下载
下一篇: Java使用占位符拼接字符串
码农先生
博客等级 码龄15年 52粉丝 40原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值