在 servlet 中从文件系统提供静态图像文件?

2023-12-24

如何通过 servlet 在文件系统中提供图像文件?


看看这里:示例 Depot:在 Servlet 中返回图像 http://www.exampledepot.com/egs/javax.servlet/GetImage.html 链接已损坏。 Wayback Machine 副本插入如下:

// This method is called by the servlet container to process a GET request.
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
    // Get the absolute path of the image
    ServletContext sc = getServletContext();
    String filename = sc.getRealPath("image.gif");

    // Get the MIME type of the image
    String mimeType = sc.getMimeType(filename);
    if (mimeType == null) {
        sc.log("Could not get MIME type of "+filename);
        resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        return;
    }

    // Set content type
    resp.setContentType(mimeType);

    // Set content size
    File file = new File(filename);
    resp.setContentLength((int)file.length());

    // Open the file and output streams
    FileInputStream in = new FileInputStream(file);
    OutputStream out = resp.getOutputStream();

    // Copy the contents of the file to the output stream
    byte[] buf = new byte[1024];
    int count = 0;
    while ((count = in.read(buf)) >= 0) {
        out.write(buf, 0, count);
    }
    in.close();
    out.close();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 servlet 中从文件系统提供静态图像文件? 的相关文章

  • Spring MVC 应用程序可以是多线程的,即使它的 servlet 不是吗?

    当您谈论 Spring 应用程序是多线程时 您是否一定是指该应用程序中定义的 servlet 是否是多线程的 或者即使应用程序中的 servlet 不是多线程 Spring 应用程序也可以配置为多线程吗 不再支持单线程 servlet 它们
  • 为什么从 Eclipse 导出的可运行 JAR 不起作用?

    我有一个在 Eclipse 中运行良好的项目 但是 当我将其导出到可运行的 JAR 其中包含依赖项 时 它不会运行 从控制台运行 JAR 时出现的错误是 编辑 之前没有使用 jar 运行它 INFO Loading XML bean def
  • 从 HashMap 条目列表中删除重复项

    我有一个List
  • 通过代理从java发送电子邮件

    我使用 Java Mail API 来发送和接收电子邮件 现在我做这个项目的地方有一个代理服务器 我可以知道如何通过代理服务器从java发送电子邮件吗 请参阅此处的常见问题解答 http www oracle com technetwork
  • Java 将 String[] 转换为 int[]

    我有一个 String 其中每个元素都可以转换为整数 将其转换为 int 的最佳方法是什么 int StringArrayToIntArray String s public static int StringArrToIntArr Str
  • 检查 jar 是否从 shell 运行

    我有一个 java jar 程序 我试图在我的机器启动时运行它 理想情况下 shell 脚本将每 60 秒检查一次以确保 jar 正在运行 我如何检查 jar 是否在 centos 上运行 这似乎不起作用 我当前的 sh 文件 bin ba
  • 在 Java 中停止线程? [复制]

    这个问题在这里已经有答案了 我正在编写一段代码 该代码连接到服务器 使用该连接生成一堆线程并执行一堆 东西 在某些情况下 连接会失败 我需要停止一切并从头开始使用新对象 我想在对象之后进行清理 但在线程上调用 thread stop 但此方
  • 如何更改使用 Google ReCaptcha 版本 2 时的错误消息?

    当为 Google ReCaptcha 版本 2 选择多张照片时 会显示以下错误消息 需要多个正确的解决方案 请解决更多 如何将错误消息更改为我网站上的自定义消息 这是图像 我认为不可能在服务器端 在谷歌 进行 这可以在客户端通过利用 js
  • HttpMediaTypeNotAcceptableException / HttpMediaTypeNotAcceptableException:找不到可接受的表示

    我有一个客户端正在尝试连接的 API 但是它会抛出错误 2015 09 22 04 21 44 297 org springframework web servlet mvc method annotation HttpEntityMeth
  • 为什么我用Java计算的结果是错误的?

    我使用这段代码来计算一些东西 但几乎在所有情况下结果都是 0 0 为什么 编译器中没有警告或错误 private void jButton1ActionPerformed java awt event ActionEvent evt try
  • 应返回带有 html 代码的字符串的支持 bean 属性返回空字符串

    我的支持 bean 中有一个返回 html 代码的属性 public String getHtmlPrevisualizar return Hello world 我想要做的是在 iframe 中显示这个 html 代码 我用 JavaSc
  • 清单合并失败:需要为 显式指定 android:exported

    我的清单文件有问题 错误消息 清单合并失败 android 需要为 明确指定导出 面向 Android 12 及更高版本的应用需要指定显式值android exported当相应的组件定义了意图过滤器时 有关详细信息 请参阅 https d
  • 如何删除 Spring 的 RestTemplate 添加的某些 HTTP 标头?

    我在远程服务方面遇到问题 我无法控制对使用 Spring 的 RestTemplate 发送的请求进行 HTTP 400 响应 使用发送的请求curl但被接受了 所以我将它们与通过 RestTemplate 发送的内容进行了比较 特别是 S
  • 使用 Laravel Intervention 库缓存动态图像不起作用

    我目前正在使用 Laravel 5 并利用干预图像集成 http image intervention io http image intervention io 我动态地使用它 因此图像具有如下 URL http example org
  • 选择活动时运行时崩溃

    首先我想说我几乎没有 Android 经验 这是我在 Android 中的第一个项目 而且我的老师不太擅长教学 所以我对任何过度的无知表示歉意 在进一步讨论之前先解释一下 我的应用程序的目标本质上是能够记录您在某些活动上花费了多少时间 记录
  • 从 Spring 启动运行 Java 类

    我使用的是Java8和Spring4 3 1 我有一个 Java Spring 应用程序托管由浏览器和移动应用程序客户端访问的 RESTfult 服务 其次 我编写了一个侦听事件的聊天服务器 socket io 来自客户 该聊天服务器正在从
  • 访问 JAR 资源

    我有一个jar包含我想要分发的资源 主要是缓存 日志记录等配置 的文件 我对这些资源的相对路径有问题 所以我做了我在另一个 stackoverflow 问题中发现的问题 该问题说这是一种有效的方法 ClassInTheSamePackage
  • 找不到满足版本限制的“com.google.code.findbugs:jsr305”版本

    当生成签名的 APK 进行发布时 我收到此错误消息 Cannot find a version of com google code findbugs jsr305 that satisfies the version constraint
  • SQL准备语句如何通过多个可能的菜单选择进行选择?

    所以我有 4 个菜单选择 产品 位置 课程类型和类别 所有这些都可以为空 使用 JSF 编程 但这应该与这个问题无关 因为它是一个 SQL 问题 菜单选择将向托管 bean 发送用户选择的变量 并使用准备好的语句使用用户选择的菜单中的信息
  • 找不到 `activityViewModels()` Hilt Android

    我在我的项目中使用 Hilt 和 MVVM 我想要一个viewModel from activityViewModel在 2 个活动中使用相同的内容 但我的 Android Studio 说未解析的参考 我的应用程序 build gradl

随机推荐

  • 位图克隆问题

    考虑以下用于加载 修改和保存位图图像的代码 using Bitmap bmp new Bitmap C test jpg bmp RotateFlip RotateFlipType Rotate180FlipNone bmp Save C
  • 无法在正在运行的 Docker 容器内通过 ssh 本地主机

    我正在为需要 ssh 到 localhost 的应用程序构建 Docker 映像 即 ssh user localhost 我正在 Ubuntu 桌面计算机上工作 并从基本的 ubuntu 16 04 容器开始 以下是我的 Dockerfi
  • 使用 web.config 关闭 MVC 中的身份验证

    我有一个 MVC 站点 使用 授权 属性进行保护 但在跨多个服务器或不同服务器上的站点使用单点登录的生产网站上遇到问题 我想排除身份验证的原因 有没有办法通过 web config 暂时关闭身份验证 以便无需登录即可访问具有授权属性的所有或
  • 如何动态从 JSON 文件获取数组

    我有 Json 文件 其中包含很多数组 我如何按名称动态获取每个人的数组 如获取参数 JSON Name Somename Lastname somelastname Address someaddress Name Somename1 L
  • WCF TLS 密码套件

    我需要指定用于传输级安全的密码套件 WCF 中的 wsHttpBinding 我首先无法确定 WCF 在 TLS 上默认使用哪种密码 更不用说设置它了 这个问题是由于大多数系统都是基于 Java 构建的环境中操作造成的 这显然允许以编程方式
  • 如何快速删除导航栏的边框?

    我一直在尝试删除 navigationBars 边框 但没有成功 我研究过 人们似乎告诉将shadowImage和BackgroundImage设置为零 但这在我的情况下不起作用 My code self navigationControl
  • 如何用C#删除xml元素?

    我是 XML 新手 在理解如何实现删除树中某些元素的解决方案时遇到问题 我已经寻找了一个解决方案并尝试了很多例子 但没有产生任何令我满意的东西 希望有人可以提供一些线索 可能真的很简单 但我错过了它 因为我刚刚开始使用 XML 示例 XML
  • IPC、域袜子、命名管道

    IPC 和 Unix 域套接字和命名管道有什么区别 我从各种书籍中得到了模糊的定义 但无法弄清楚应该在哪里使用哪个定义 两个进程相互通信的任何方式都可以被视为 IPC 的一种形式 例如 未命名管道 cat file txt grep foo
  • 错误:任务“:app:processDebugGoogleServices”执行失败。 > 请修复版本冲突

    将我的 google play 服务更新到版本 28 后 我收到此错误 我不确定为什么会发生这种情况 因为它之前工作正常 这是我的构建 gradle file apply plugin com android application app
  • C# ListView DragDrop 事件方法每次拖放执行两次

    该方法连续执行两次 并且没有明显的理由这样做 它发生在 VS2010 Express 4 0 和 VS2008 3 5 中 public GUI InitializeComponent this lvwFiles DragDrop new
  • 将 RandomAccessSlice 转换为 RandomAccessCollection

    当我们尝试从一个数组中检索一系列元素时Array 我们得到一个ArraySlice let array 1 3 5 2 let arraySlice array lt 2 elements up to index 1 1 3 我们可以把它改
  • tox多次测试,重用tox环境

    是否可以使用单个 tox 虚拟环境执行以下操作 tox envlist test pylint flake8 mypy skipsdist true testenv lint deps pylint commands pylint test
  • 如何在android中使用.csv文件?

    我正在 Android 中做一个示例测验应用程序 我使用数组来存储问题和答案 现在我希望将问题和答案存储在 csv文件 是可以解析的 csv安卓中的文件 CSV 代表逗号分隔值 wiki 上可以找到很好的解释 CSV http en wik
  • 更改 Magento 产品页面上的文本“选择一个选项...”

    我创建了一个可配置的产品 它有三个选项 color size and style 现在在产品页面中 每个选项都有默认文本 选择一个选项 在下拉菜单中 但我希望文本应该是 选择颜色 选择大小 and 选择款式 我在 app code core
  • JSONDecodeError:需要 ',' 分隔符:第 1 行第 43 列(字符 42)

    我已经在这里读过很多例子了 不幸的是 我不断收到此错误 Error json decoder JSONDecodeError Expecting delimiter line 1 column 43 char 42 json 文件 peop
  • Puppeteer:无法启动浏览器进程!产卵

    当我尝试跑步时node app js 我收到错误 该消息是无法启动浏览器进程 产卵 Users iliebogdanbarbulescu Downloads firstProject node modules chromium lib ch
  • 文件系统树形视图

    我正在使用文件系统 并且我有一个文件对象的 List 这些文件对象将文件路径作为属性 基本上 我需要在 NET 中创建一个树视图 但我很难想出执行此操作的最佳方法 因为我需要从如下列表创建树结构 C WINDOWS Temp ErrorLo
  • 连接sql中的所有列值

    如何将从 sql 查询返回的不同行的所有列值合并为一个值 这是一个例子 查询返回 FOO RES1 RES2 RES3 现在我想要得到如下结果 FOOCONCAT RES1RES2RES3 有什么方法可以在sql中做到这一点吗 In SQL
  • 如何防止 MSI 错误:正在安装另一个程序?

    我编写了一个小 PowerShell 脚本 它调用不同的 MSI 文件来安装软件 有时我从 Windows Installer 中收到以下错误 正在安装另一个程序 请等待安装完成 然后再次尝试安装该软件 在调用 MSI 文件之前如何防止此错
  • 在 servlet 中从文件系统提供静态图像文件?

    如何通过 servlet 在文件系统中提供图像文件 看看这里 示例 Depot 在 Servlet 中返回图像 http www exampledepot com egs javax servlet GetImage html 链接已损坏