首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >条纹1.5 :在Tomcat上运行-控制HTTP (缓存-控制)头的最佳方法?

条纹1.5 :在Tomcat上运行-控制HTTP (缓存-控制)头的最佳方法?
EN

Stack Overflow用户
提问于 2010-12-15 15:52:06
回答 2查看 902关注 0票数 1

目前,我正在使用这里描述的Servlet过滤器的修改版本:

http://onjava.com/pub/a/onjava/2004/03/03/filters.html

并将其连接到条调度器servlet,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <filter-mapping>
        <filter-name>CacheControl</filter-name>
        <servlet-name>StripesDispatcher</servlet-name>
        <dispatcher>REQUEST</dispatcher>
    </filter-mapping>

这是可行的:但是有控制我所有内容的效果--我如何才能在每个JSP基础和/或每个actionBean方法基础上获得控制?

我打算尝试扩展'ForwardResolution‘并在这里注入,但是似乎不能在我自己的包结构中实现这一点?(我认为受保护的构造函数)。

我还有两个想法(我不喜欢这个声音)是:

effect).

  • Passing参数中的
  1. 在调用ActionBean的所有JSP上创建随机缓存密钥(从而使ActionBean中的缓存控件无效),然后我可以在CacheControl过滤器中检查是否添加缓存控制头。
  2. 可以将该指令添加到JSP中吗?这样做的推荐方法是什么。

顺便说一句,我的过滤器似乎每一个invocation...is都会被调用两次--这可能是我将过滤器连接到条纹servlet的方式的副作用吧?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-16 02:56:26

实际上,进一步的研究表明,条纹1.5有一个注释机制,用于控制HTTP缓存头:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://www.stripesframework.org/display/stripes/News

//客户端缓存控制。新的@HttpCache注释可以应用于ActionBean类和/或事件处理程序方法,以控制客户端缓存响应的方式。方法的注释覆盖类上的注释,注释从超类继承而来。这对于来自IE的AJAX调用特别有用。//

票数 2
EN

Stack Overflow用户

发布于 2010-12-15 22:38:57

我将向后开始--您的筛选器会被调用两次,可能是因为同一个页面请求两种资源--例如,页面和css。或者打个ajax电话。

然后,如果您想控制每个请求的资源的缓存,下面是两个servlet唯一的解决方案。我不知道条纹,所以可能还有更好的:

  • 创建了一个实用程序class+method,CacheUtils.addCacheHeaders(response)说。在此方法中,将所有缓存头添加到响应中。在您喜欢的任何地方调用它--一行用于添加缓存。这是一个可编程的approach
  • Define (以逗号分隔的)请求urls列表,它位于过滤器的init-param中。init(..)方法解析param,将其存储在列表中,并仅在当前请求uri (request.getRequestURI())与列表中的请求uri(request.getRequestURI())匹配时应用缓存。这是一种声明式方法--
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4456189

复制
相关文章
arch linux 安装
好长时间都没有更新自己的博客了,我简单翻阅了一下自己的更新记录,上一次更新好像还是在5月份左右,距今也有快半年,这半年也是遇到了很多事情,有不好的,也有好的。这半年我对在日常生活工作中使用Linux系统产生了一些兴趣,从零开始折腾这一系列的内容,主要从安装、配置、以及尝试各种软件来取代Windows的主导地位,也产生了一些心得,这里我想分几篇博客来聊聊我是如何慢慢使用arch Linux 来替代以前的Windows机器
Masimaro
2021/10/20
2.7K0
ARM 和 龙芯上 Arch Linux 安装手记
今天尝试安装龙芯版 Linux,本来希望能安装 Debian 版,但只找到一些文档(https://wiki.debian.org/LoongArch),没找到可安装版的 ISO。
杜金房
2024/03/26
5110
ARM 和 龙芯上 Arch Linux 安装手记
Arch Linux安装MariaDB
Archlinux上安装MySQL/MariaDB和其它发行版略有不同,因此这里梳理记录一下 执行常规安装 [mu@mu polls]$ sudo pacman -S mariadb #安装MariaDB [mu@mu polls]$ sudo systemctl enable mariadb #设置开机自启 Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/syste
用户1456517
2019/03/05
3.3K0
Arch Linux安装MariaDB
Arch Linux 安装指南
如果想要学习Linux,Arch Linux是个很好的选择。Arch Linux提供了非常详细并且更新及时的Wiki(帮助文档),使用系统的过程中遇到的问题基本上都空余从上面找到。
小陈运维
2021/10/13
2.6K0
如何在 Linux 上安装 Java
无论你运行的是哪种操作系统,通常都有几种安装应用程序的方法。有时你可能会在应用程序商店中找到一个应用程序,或者使用 Fedora 上的 DNF 或 Mac 上的 Brew 这样的软件包管理器进行安装,而有时你可能会从网站上下载可执行文件或安装程序。因为 Java 是这么多流行的应用程序的后端,所以最好了解安装它的不同方法。好消息是你有很多选择,本文涵盖了所有这些内容。
用户1880875
2021/09/22
3.1K0
如何在Linux上安装OpenCV
更新系统:在终端中输入 sudo apt-get update 和 sudo apt-get upgrade 以更新您的系统。
云帆沧海
2024/01/17
8710
Arch Linux安装与初体验
Arch Linux 是一个 x86-64 通用发行版,它流行于那些喜欢 DIY Linux 系统的用户和 Linux铁杆粉丝当中。其默认的安装文件只含有一个最基本的系统,它希望使用者自己配置并使用 Arch 系统。其基于 KISS 原则(使它保持简单、傻瓜Keep It Simple, Stupid!),Arch Linux 是一个专注于优雅、代码正确,精简而简洁的系统。
yuanfan2012
2021/02/25
2.7K0
Arch Linux安装与初体验
Arch Linux 安装初体验:EndeavourOS
最近在玩 LFS,看到一个老外使用 EndeavourOS 来玩耍!于是,我也来安装体验一把!
Lucifer三思而后行
2021/09/23
4.5K0
如何在 Fedora Linux 上安装 VLC
如果你刚刚安装了 Fedora,现在想在上面安装你最喜欢的视频播放器 VLC,你可能不会在软件中心找到它。至少不会立即找到。
用户1880875
2021/09/08
2.4K0
实战最精简的 linux -- arch linux 安装
安装操作系统已经越来越成为一件非常简单的事情了,几乎可以做到仅依靠鼠标一路点击,傻瓜式安装了,也许这让你不禁会去想,到底操作系统安装过程中做了哪些事情,亦或是你想要安装一个真正干净的系统,一切组件要什么不要什么都自己说了算,那么,arch linux 可能会是你一个不错的选择。 正是因为 arch 的高度定制与简洁,加上他的滚动升级机制以及庞大的社区 AUR,让他成为了越来越火热的 linux 发行版,本文,我们就来通过安装 arch 讲解一下 linux 的一些基本的命令行配置方法。
用户3147702
2022/06/27
7.5K0
实战最精简的 linux -- arch linux 安装
如何在Pacman (Arch Linux)中用Configuration设置HTTP?
首先,确定HTTP爬虫服务器的IP地址和端口。在这个例子中,我们将使用一个免费的HTTP爬虫服务器:getproxy。
华科云商小徐
2023/10/26
2310
VMware安装Arch Linux+Gnome桌面
官方下载地址:https://www.archlinux.org/download/。
Mculover666
2022/04/08
15.4K0
VMware安装Arch Linux+Gnome桌面
Linux 命令(161)—— adduser 命令
adduser 命令用于创建的新的系统用户。adduser 可用来建立用户帐号。帐号建好之后,再用 passwd 设定帐号的密码。而可用 userdel 删除帐号。使用 adduser 指令所建立的帐号,实际上是保存在 /etc/passwd 文本文件中。
恋喵大鲤鱼
2022/10/30
1.7K0
如何在CentOS Linux 7.5上安装Nginx
Nginx发音引擎x是一个免费的开源高性能HTTP和反向代理服务器,负责处理互联网上一些最大的网站的负载。 本教程将教你如何在你的CentOS Linux 7.5机器上安装和管理Nginx。
星哥玩云
2022/07/13
1.6K0
如何在CentOS Linux 7.5上安装Nginx
如何在 Linux Mint 21 上安装 MongoDB
MongoDB 是一个非常流行的 NoSQL 数据库,可以在 Linux 和 Windows 操作系统上使用。它将数据存储在类似 JSON 的文档中,具有高度的灵活性和动态性,因此可用于创建强大的应用程序和网站,并使其与传统的关系数据库有根本的不同。
帝旭科技
2022/11/23
7.6K0
如何在 Linux Mint 21 上安装 MongoDB
如何在 Debian 10 Linux 上安装 Nginx
Nginx 是一个开源,高性能的 HTTP 和反向代理服务器,为 Internet 上的一些最大的站点提供支持。与 Apache 相比, Nginx 可以处理大量并发连接,并且每个连接的内存占用量更小。
星哥玩云
2022/07/28
2.8K0
如何在 Alma Linux 8 上安装 GitLab?
GitLab 是一款免费的开源 DevOps 软件,它附带多种工具,可在单个应用程序中开发、保护和操作软件。它提供免费的无限存储库和无限的协作者。它主要用于托管 Git 存储库,并具有其他与开发相关的功能,例如问题跟踪。它与 Github 和 Bitbucket 非常相似,允许个人和团队与他人远程共享代码。
网络技术联盟站
2022/04/07
1.4K0
如何在 Alma Linux 8 上安装 GitLab?
如何在 Debian 10 Linux 上安装MySQL
MySQL 是世界上最流行的开源关系数据库管理系统,而 MariaDB 是 Debian 10 中的默认数据库系统, Mysql 并不包含在 Debian 的默认软件存储库。
星哥玩云
2022/08/18
2.9K0
如何在 Debian 10 Linux 上安装MySQL
如何在Linux上安装Node.js
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/53039286
shaonbean
2019/05/26
2.4K0
如何在 Rocky Linux 8 上安装 Mattermost
Mattermost 是一个开源的、自托管的 Slack 替代方案,无需依赖第三方供应商,意味着您可以在自己的基础架构中托管数据。
网络技术联盟站
2021/11/19
1.3K0

相似问题

如何调整DBGrid - Delphi的行高

19

Delphi中DBGrid中的列高

11

更改DBGrid行的颜色

12

Delphi访问DBGrid的行

22

DBGrid,dbf合并2行

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文