`
doujun1998
  • 浏览: 13020 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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();
}

}

写的简单,没有做相关的判断,仅作参考,不对之处欢迎抛砖!
1
4
分享到:
评论
2 楼 kjj 2013-01-03  
pdf并不难,页面弄个adobe、的控件,地址把pdf文件传进去就行了,!!
1 楼 rensanning 2013-01-03  
是否在浏览器中打开PDF取决于以下两个设置:
(1)Adobe Reader > Edit > Preferences > Internet 的 Display PDF in browser
(2)My Computer > Tool > Folder Option > File Type中选PDF 在详细设定有“下载后打开需要确认”

相关推荐

    java使用itext实现pdf文件下载

    现在,我们转向主题,即如何在Java中实现PDF文件的下载。有两种主要的方式: 1. **通过系统路径下载**:这种方式适用于后台生成PDF后,直接保存到服务器的某个路径,然后提供URL给用户下载。以下是一个简单的示例:...

    java servlet实现文件下载

    在`web.xml`配置文件中,定义Servlet的映射,以便当用户访问特定URL(如`/DownLoadFileDemo/`)时,服务器知道调用哪个Servlet来处理请求。 6. **测试与验证** 配置完成后,启动Tomcat服务器,然后在浏览器中输入`...

    pdf.js在java web项目中远程预览ftp上的pdf文件.docx

    需要在web.xml文件中配置servlet的映射,以便浏览器可以访问该servlet。 ### 6. FTPClient的使用 在后台servlet中,需要使用FTPClient来下载远程FTP服务器上的PDF文件。FTPClient是一个功能强大的FTP客户端,可以...

    java实现pdf上传,下载,在线预览,删除,修改等功能

    在Java开发中,处理PDF文件是一项常见的任务,包括上传、下载、在线预览、删除以及修改等操作。这里我们将深入探讨这些功能的实现,并结合标签`java xpdf java实现pdf`来讨论XPDF库在Java中的应用。 1. **PDF上传**...

    java集成pdf.js 在线阅览pdf文件

    Java集成PDF.js在线浏览PDF文件是一项常见的技术需求,特别是在开发Web应用时,用户可能需要在浏览器内查看PDF文档。PDF.js是由Mozilla维护的一个开源库,它允许开发者在浏览器环境中渲染高质量的PDF内容,无需依赖...

    利用java后端实现文件在线预览

    首先,我们需要理解文件预览的基本原理:用户通过浏览器发送请求到服务器,服务器处理请求并返回文件内容,然后在浏览器中以适合的方式展示这些内容。为了实现这一过程,我们需要考虑以下几个关键步骤: 1. **文件...

    java实现pdf上传、下载、在线预览、删除、修改等功能

    在Java中,我们可以使用Servlet API或第三方库如Apache Commons FileUpload来接收上传的文件。首先,用户通过表单提交文件,然后服务器端的Servlet接收并保存到指定的服务器目录。 ```java DiskFileItemFactory ...

    Java Servlet API说明文档.pdf

    - **配置 Servlet**:在 `web.xml` 文件中配置 Servlet 的映射路径和其他属性。 - **部署 Servlet**:将编译好的 `.class` 文件和配置文件放置在 Web 应用的相应目录下。 - **测试 Servlet**:通过浏览器或其他工具...

    深入 Java Servlet 网络编程

    本教程将深入探讨 Java Servlet 的核心概念、工作原理及其在网络编程中的应用。 一、Java Servlet 基础 1.1 Servlet 定义:Servlet 是 Java 类,遵循 javax.servlet.Servlet 接口,用于接收和响应来自客户端(如...

    java jsp+servlet实现文件下载(而不是在网页中显示出文件内容) 迅雷下载功能.zip

    在`src`目录下的Java源代码文件中,我们需要继承`javax.servlet.http.HttpServlet`,并重写`doGet`或`doPost`方法。这两个方法分别对应HTTP的GET和POST请求。 2. **处理请求**:在`doGet`或`doPost`方法内,我们...

    java web word文件 pdf文件在线预览源码

    在处理文档预览方面,Java Web可以实现Word和PDF文件的在线预览,极大地提升了用户体验,使得用户无需下载文件即可查看内容。本项目提供了一套完整的Java Web源码,用于在线预览Word和PDF文件,下面将详细讲解相关...

    javaservlet连接mysql数据库参照.pdf

    - 为了使 Servlet 能够连接到数据库,需要在 Tomcat 的 `server.xml` 文件中配置数据源(DataSource): - `&lt;Resource&gt;` 元素定义了数据库连接池,如上述示例所示,包含了数据库的 URL、用户名、密码、驱动类名等...

    javaServlet常规应用.pdf

    在给定的文件中,我们看到了三个基本的Java Servlet实例,它们分别展示了如何以纯文本、HTML以及处理请求参数的方式输出内容。 例 8.1 - 纯文本输出: 在`HelloServlet.java`中,我们看到一个简单的Servlet,它只...

    Java Web开发常见问题.pdf

    这些问题主要源于Java默认的Unicode编码与HTML页面及表单默认的Latin-1编码之间的不兼容,以及在不同的环境中(如服务器、数据库、浏览器)使用了不同的字符集。下面将详细探讨几种常见的中文乱码情形及其解决方案。...

    pdf在线查看,兼容浏览器 所需jar包 事例 java

    其次,为了让这些Java库在Web应用中工作,我们需要将它们打包到Web应用的WAR文件中,或者如果使用Spring Boot等框架,可以将依赖的JAR包添加到`build.gradle`或`pom.xml`文件中,然后进行构建。在`build`目录下,...

    jsp+java类+servlet实现文件读取、写入的功能.pdf

    本文将详细介绍如何利用JSP、Java类以及Servlet技术在Tomcat平台上实现文件的读取和写入操作。通过具体的代码示例,我们将逐步了解每个组件的作用及其实现机制。 #### 二、关键技术点解析 ##### 2.1 FileMan 类...

    java 实现PDF 在线阅读

    本篇文章将深入探讨如何使用Java技术栈来创建一个能够处理上传的PDF并在Web浏览器中实现在线阅读的系统。 首先,我们需要了解PDF文档的基本特性。PDF(Portable Document Format)是一种通用的文件格式,用于呈现...

Global site tag (gtag.js) - Google Analytics