Java Servlet实现在浏览器中打开pdf文件

很多朋友想知道怎么让客户端请求的pdf文件在浏览器中打开让用户在线浏览,而不是直接下载,下面我就来做一个简单的例子:
1、前端html页面代码:
a、我这儿做了一个密码设置,只有用户输入正确的密码,才能在线打开正确的的pdf文件;
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>浏览器在线打开pdf文件</title>
</head>
<body>
<form action="FileDownLoadServlet" method="post">
<input type="password" name="password" value=""/><br>
<input type="submit" name="download" value="Download">
</form>
</body>
</html>

2、后台java代码:
package com.victory.servlet;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@MultipartConfig
@WebServlet("/FileDownLoadServlet")
public class FileDownLoadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String password = request.getParameter("password");
if("123456".equals(password)) {
response.setContentType("application/pdf");
//InputStream is = getServletContext().getResourceAsStream("/WEB-INF/1.pdf");
InputStream is = new FileInputStream(new File("F:/1.pdf"));
// if(is == null) {
// System.out.println("要下载的文件不存在!");
// }else {
OutputStream os = response.getOutputStream();
writeBytes(is, os);
// }
}
}

private void writeBytes(InputStream in, OutputStream out) throws IOException {
byte[] buffer = new byte[1024];
int length = -1;
while ((length = in.read(buffer)) != -1) {
out.write(buffer, 0, length);
}
in.close();
out.close();
}

}

写的简单,没有做相关的判断,仅作参考,不对之处欢迎抛砖!
【RTD】AD7793驱动程序 AD7793完整驱动程序,支持两线、三线、四线RTD。 阅读详情

相关推荐

Win11任务栏图标消失?快速恢复指南

任务栏图标消失是Windows 11操作系统中常见的问题之一,但通过上述方法,用户通常可以轻松解决这一问题。无论是重启Windows资源管理器、使用命令提示符修复、检查系统更新和设置,还是考虑重装系统,都可以帮助用户恢复任务栏图标的正常显示。希望本文的介绍能对用户有所帮助,让Windows 11的使用更加顺畅和愉快。

mmoo_python的博客 5410

Servlet输出PDF文档方法

Servlet输出PDF文档方法

护雪在线 884

Windows11上CUDA 12.3配PyTorch踩坑记:一条官网命令救了我的GPU加速

本文详细介绍了在Windows 11上配置CUDA 12.3与PyTorch的完整指南,包括环境准备、安装要点、兼容性解决方案和性能验证。通过官方推荐的conda命令和实用技巧,帮助开发者解决常见问题,实现高效的GPU加速,提升深度学习开发效率。

weixin_42528974的博客 109

【笔记】HTML预览PDF文件

技术与技术之间的差别有时很大,又有时很小,这取决于你对它们的理解程度。

苗老八的博客 1116

MATLAB自动驾驶(1)——预构建场景库

MATLAB自动驾驶(1)——预构建场景库

Ucicorn Gundam的博客 3265

Qt OpenGL 3D 点云数据显示

在Qt中使用OpenGL显示3D点云数据是一个常见的需求,特别是在计算机视觉、机器人学和三维重建等领域。下面我将介绍一个基本的实现方案。

深之JohnChen的专栏 1238

Java实现PDF在线预览功能(四种方式)!!!!

【代码】Java实现PDF在线预览功能(四种方式)!!!!

黑科技的专栏 3094

STM32 Proteu直流电机正反转控制系统限位开关-0035

硬件组成:STM32F103C6单片机 +L298N电机控制电路+直流电机+3个按键(正转、反转、停止)+LED指示灯(正转、反转、停止)+限位开关(正限位 反限位) 1.通过3个按键(正转、反转、停止)控制电机的正转、反转、停止。 2.有3个LED指示灯,正转时正转指示灯亮。反转停止对应反转停止指示灯亮。 3.有自动正转反转停止功能,正转时当正限位按键按下时说明正转到最大距离。此时自动停止。反转一样。

zhaxiaobian_er的博客 2002

java输出本地文件到页面显示(图片、pdf文件)

public void findPdf() throws IOException{ HttpServletResponse response = ServletActionContext.getResponse(); response.setContentType("application/pdf"); // response.setContentType("image/*"); 此处不需要图...

海那边天哭了 2547

YOLOv8优化:独家创新(SC_C_Detect)检测头结构创新,实现涨点 | 检测头新颖创新系列

独家创新(SC_C_Detect)检测头结构创新,适合科研创新度十足,强烈推荐

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 4873

【Apache Paimon】-- 13 -- 利用 paimon-flink-action 同步 mysql 表数据

在Paimon 诞生以前,若 mysql/pg 等数据源的表结构发生变化时,我们有几种处理方式(1)人工通知(比如常规的使用邮件),然后运维人员手动同步到数据仓库中(2)使用 flink 消费 DDL binlog ,然后自动更新 Hive 的外部表和内部表 schema那么现在,有了 Paimon ,我们可以利用其特性,自动识别并同步 DDL 这些变化,并同步至 hive 的 paimon 格式表中。

欢迎来到我的博客,一起探索代码里的世界! 1250

Java技巧:怎样从servlet打开一个非html文件

1、摘要 Java Servlet 程序提供了一个简单的方式发送HTML文件到客户端浏览器。但是,现在一些站点提供了一些非HTML的存取文件,例如Adobe PDF,Microsoft Word, 和 Microsoft Excel 文件等。这篇文章以使用PDF和WORD为例子讲解怎样从SERVLET发送一个非HTML文件到客户端浏览器。事实上,通过本文,你可以通过MIME类型发送任何的格式的

lucianliu的专栏 1569

PCL Super4PCS算法实现点云粗配准(版本一)【2025最新版】

Win11系统下实现[Super4PCS: Fast Global Pointcloud Registration via Smart Indexing一文中的配准算法。

点云侠的博客 3378

Java不打开jsp保存成PDF,怎么在jsp中直接打开本地硬盘上的pdf等文件

jsp中要利用java来实现打开,可以通过浏览器打开:以下程序实现了读取某个路径下的pdf文件,并用浏览器打开:package test;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.OutputStream;import javax.servlet.Serv...

weixin_39615991的博客 194

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java代码在页面实现展示pdf文件

public void findPdf() throws IOException{ HttpServletResponse response = ServletActionContext.getResponse(); response.setContentType("application/pdf"); FileInputStream in = new FileInputStream(new

ooioo的博客 2747

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Java实现浏览器上预览本地pdf

@RequestMapping(value = "ProductionDrawingPreview") public void reviewPriceData(@RequestParam("Path") String Path , HttpServletRequest request, HttpServletResponse response) throws Exception { // @RequestParam("Path") String Path传入需要预览的本地pdf路径 ...

qq_15149103的博客 970

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Java接口返回pdf_通过接口下载服务上pdf文件

需要配置web.xml来通过跳过登陆验证package com.whir.rd.service;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;i...

weixin_42489589的博客 1456

【java】servlet输出pdf文件到浏览器 教程

把这个项目部署成你的web项目http://pan.baidu.com/share/link?shareid=136974&uk=436295647项目下载 打开谷歌浏览器,输入http://localhost:8080/fileOutDemo/outFile 注意 1.谷歌浏览器内嵌pdf的功能,不用重新安装pdf阅读器就能看效果。 2.如果不是谷歌浏览器,请事...

diyu8056的博客 534

java servlet pdf_【java】servlet输出pdf文件到浏览器 教程

注意1.谷歌浏览器内嵌pdf的功能,不用重新安装pdf阅读器就能看效果。2.如果不是谷歌浏览器,请事先安装浏览器的pdf阅读器插件(比如福昕阅读器,就可以把pdf内嵌到浏览器)Ok没了,研究一下代码吧,很简单。但是网上目前还真心的不好找,网上的一般就是下载文件到本地,那样的话,对于用户来说是一件很不爽的事情,用户不爽,领导就要求我们自己做一个,于是就自己试着做了一个,感觉速度或者性能都挺快的。效...

weixin_35918994的博客 422

java 浏览器 pdf_使用Java Servlet在浏览器中显示Pdf

我的申请中有pdf文件。我需要在浏览器中显示pdf。我正在将文件作为fileInputStream读取,我需要在浏览器中与我的应用程序一起显示pdf。但我没有pdf路径,我有文件流。请给我一些建议和例子我已经使用ajax显示pdf,正在使用call_method()javascriptajax请求方法来调用showPdf操作,在showpdf操作中,只是将pdf文件转换为ByteArrayOutp...

weixin_34837388的博客 664

Java 下载文件不在浏览器中直接打开

今天在做一个文件下载,想下载一个.sis类型的文件。可下载的结果却总是在浏览器中直接打开了,并没有像我们平常去下载东西一样弹出一个可以选择为“打开或是保存”的文本框。搞了半天终于搞好了,现在想和大家来分享一下。     我们在编程的时候可以把html格式的文件通过servlet

jasontome的android之路:Do it. Do it right. Do it righ 3849

【JSP】如何在jsp中打开pdf文件。

// java代码public ActionForward getSoaPdf(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { Str...

Tuling2020的博客 1010

java浏览器展示pdf

Java浏览器展示PDF 在Web应用中,展示PDF文件是一种常见的需求。Java作为一种流行的后端语言,提供了多种方式来实现这一功能。本文将介绍如何在Java Web应用中通过浏览器展示PDF文件。 1. 概述 在Java Web应用中展示PDF文件,主要有两种方式:一种是将PDF文件转换为图片,然后在浏览器中展示;另一...

weixin_42355294的博客 338

如何从 Java Servlet 返回 PDF 数据

Java servlet PDF 教程展示了如何从 Java servlet 返回 PDF 数据。我们使用 iText 库来处理 PDF。Web 应用程序部署在 Tomcat 服务器上。 PDF格式 可移植文档格式 (PDF)是一种文件格式,用于以独立于应用软件、硬件和操作系统的方式呈现文档。PDF 由 Adob​​e 发明,现在是由国际标准化组织 (ISO) 维护的开放标准。 Java 小服务程序 Servlet是一个 Java 类,它响应特定类型的网络请求——最常见的是 HTTP 请求。Java

allway2的博客 2548

web设计,浏览器中打开pdf

项目的目录结构 需要打开control.pdf文件 <%@ page language="java" contentType="text/html; charset=UTF-8" import="java.util.*,java.io.*" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.sprin...

aass5573450的博客 478
上一篇: Java Servlet上传文件
下一篇: Java 中文乱码问题
doujun1998
博客等级 码龄19年 0粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值