很多朋友想知道怎么让客户端请求的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();
}
}
写的简单,没有做相关的判断,仅作参考,不对之处欢迎抛砖!
分享到:
相关推荐
现在,我们转向主题,即如何在Java中实现PDF文件的下载。有两种主要的方式: 1. **通过系统路径下载**:这种方式适用于后台生成PDF后,直接保存到服务器的某个路径,然后提供URL给用户下载。以下是一个简单的示例:...
在`web.xml`配置文件中,定义Servlet的映射,以便当用户访问特定URL(如`/DownLoadFileDemo/`)时,服务器知道调用哪个Servlet来处理请求。 6. **测试与验证** 配置完成后,启动Tomcat服务器,然后在浏览器中输入`...
需要在web.xml文件中配置servlet的映射,以便浏览器可以访问该servlet。 ### 6. FTPClient的使用 在后台servlet中,需要使用FTPClient来下载远程FTP服务器上的PDF文件。FTPClient是一个功能强大的FTP客户端,可以...
在Java开发中,处理PDF文件是一项常见的任务,包括上传、下载、在线预览、删除以及修改等操作。这里我们将深入探讨这些功能的实现,并结合标签`java xpdf java实现pdf`来讨论XPDF库在Java中的应用。 1. **PDF上传**...
Java集成PDF.js在线浏览PDF文件是一项常见的技术需求,特别是在开发Web应用时,用户可能需要在浏览器内查看PDF文档。PDF.js是由Mozilla维护的一个开源库,它允许开发者在浏览器环境中渲染高质量的PDF内容,无需依赖...
首先,我们需要理解文件预览的基本原理:用户通过浏览器发送请求到服务器,服务器处理请求并返回文件内容,然后在浏览器中以适合的方式展示这些内容。为了实现这一过程,我们需要考虑以下几个关键步骤: 1. **文件...
在Java中,我们可以使用Servlet API或第三方库如Apache Commons FileUpload来接收上传的文件。首先,用户通过表单提交文件,然后服务器端的Servlet接收并保存到指定的服务器目录。 ```java DiskFileItemFactory ...
- **配置 Servlet**:在 `web.xml` 文件中配置 Servlet 的映射路径和其他属性。 - **部署 Servlet**:将编译好的 `.class` 文件和配置文件放置在 Web 应用的相应目录下。 - **测试 Servlet**:通过浏览器或其他工具...
本教程将深入探讨 Java Servlet 的核心概念、工作原理及其在网络编程中的应用。 一、Java Servlet 基础 1.1 Servlet 定义:Servlet 是 Java 类,遵循 javax.servlet.Servlet 接口,用于接收和响应来自客户端(如...
在`src`目录下的Java源代码文件中,我们需要继承`javax.servlet.http.HttpServlet`,并重写`doGet`或`doPost`方法。这两个方法分别对应HTTP的GET和POST请求。 2. **处理请求**:在`doGet`或`doPost`方法内,我们...
在处理文档预览方面,Java Web可以实现Word和PDF文件的在线预览,极大地提升了用户体验,使得用户无需下载文件即可查看内容。本项目提供了一套完整的Java Web源码,用于在线预览Word和PDF文件,下面将详细讲解相关...
- 为了使 Servlet 能够连接到数据库,需要在 Tomcat 的 `server.xml` 文件中配置数据源(DataSource): - `<Resource>` 元素定义了数据库连接池,如上述示例所示,包含了数据库的 URL、用户名、密码、驱动类名等...
在给定的文件中,我们看到了三个基本的Java Servlet实例,它们分别展示了如何以纯文本、HTML以及处理请求参数的方式输出内容。 例 8.1 - 纯文本输出: 在`HelloServlet.java`中,我们看到一个简单的Servlet,它只...
这些问题主要源于Java默认的Unicode编码与HTML页面及表单默认的Latin-1编码之间的不兼容,以及在不同的环境中(如服务器、数据库、浏览器)使用了不同的字符集。下面将详细探讨几种常见的中文乱码情形及其解决方案。...
其次,为了让这些Java库在Web应用中工作,我们需要将它们打包到Web应用的WAR文件中,或者如果使用Spring Boot等框架,可以将依赖的JAR包添加到`build.gradle`或`pom.xml`文件中,然后进行构建。在`build`目录下,...
本文将详细介绍如何利用JSP、Java类以及Servlet技术在Tomcat平台上实现文件的读取和写入操作。通过具体的代码示例,我们将逐步了解每个组件的作用及其实现机制。 #### 二、关键技术点解析 ##### 2.1 FileMan 类...
本篇文章将深入探讨如何使用Java技术栈来创建一个能够处理上传的PDF并在Web浏览器中实现在线阅读的系统。 首先,我们需要了解PDF文档的基本特性。PDF(Portable Document Format)是一种通用的文件格式,用于呈现...