`
mn1992602
  • 浏览: 6195 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

通过Servlet 将服务器硬盘图片 展示到浏览器

    博客分类:
  • java
 
阅读更多
其实这个实例非常简单,但是今天有人问我了,而且我也写了个小例子,就顺便发上来吧!
在浏览器显示一张图片,使用标签
<img src=""> 

img 元素向网页中嵌入一幅图像。
请注意,从技术上讲,<img> 标签并不会在网页中插入图像,而是从网页上链接图像。<img> 标签创建的是被引用图像的占位空间。
<img> 标签有两个必需的属性:src 属性 和 alt 属性。

HTML 与 XHTML 之间的差异
在 HTML 中,<img> 标签没有结束标签。
在 XHTML 中,<img> 标签必须被正确地关闭。
在 HTML 4.01 中,不推荐使用 image 元素的 "align"、"border"、"hspace" 以及 "vspace" 属性。
在 XHTML 1.0 Strict DTD 中,不支持 image 元素的 "align"、"border"、"hspace" 以及 "vspace" 属性。

SRC的路径有很多:
指向其他站点(比如 src="http://www.******.com/***.jpg")
指向站点内的文件(比如 src="/i/image.gif")
许多新手忽略了一点是,其实IMG只是告诉浏览器这里要现实图片,而浏览器通过路径去获得图片的数据流然后进行显示
简单来说,SRC其实就是浏览器走了一个请求,然后这个请求返回图片的数据流给浏览器而已
所以,SRC同样可以是请求,可以是Servlet也可以是Action,这里我们用Servlet来做一个简单示例
JSP页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title>图片显示</title>
  </head>
  <body>
    <img src="<%=basePath %>servlet/ImageShowServlet">
  </body>
</html>

Web.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>ImageShowServlet</servlet-name>
    <servlet-class>servlet.ImageShowServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ImageShowServlet</servlet-name>
    <url-pattern>/servlet/ImageShowServlet</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

Servlet非常简单:
package servlet;

import java.io.ByteArrayOutputStream;
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.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @说明 该Servlet将本地硬盘的图片输入管道中
 * @author cuisuqiang
 * @version 1.0
 * @since
 */
@SuppressWarnings("serial")
public class ImageShowServlet extends HttpServlet {

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		OutputStream os = response.getOutputStream();
		File file = new File("C:\\abc.jpg");
		FileInputStream fips = new FileInputStream(file);
		byte[] btImg = readStream(fips);
		os.write(btImg);
		os.flush();
	}
	
	/**
	 * 读取管道中的流数据
	 */
	public byte[] readStream(InputStream inStream) {
		ByteArrayOutputStream bops = new ByteArrayOutputStream();
		int data = -1;
		try {
			while((data = inStream.read()) != -1){
				bops.write(data);
			}
			return bops.toByteArray();
		}catch(Exception e){
			return null;
		}
	}
}

就是获取本地硬盘的文件的字节流,然后写入到管道中而已!
转自http://cuisuqiang.iteye.com/blog/1741812
分享到:
评论

相关推荐

    JSP中通过Servlet 将服务器硬盘图片并展示到浏览器

    在本文中,我们将探讨如何在JSP页面中通过Servlet将服务器硬盘上的图片展示到浏览器上。这是一个相当实用的技术,可用于动态生成图片或从服务器存储中检索图片资源,并将其作为响应发送到用户浏览器。下面将分步骤...

    使用Servlet+jQuery实现读取本地硬盘图片

    【标题】"使用Servlet+jQuery实现读取本地硬盘图片"涉及的主要知识点是Web开发中的服务器端处理和客户端交互。在Web应用中,Servlet是Java语言用于处理HTTP请求的重要组件,而jQuery则是一种广泛使用的JavaScript库...

    jsp+servlet网络硬盘

    【jsp+servlet网络硬盘】是一种基于Java Web技术实现的在线存储系统,它允许用户通过Web浏览器上传、下载、管理自己的文件,类似于云盘服务。在这个系统中,JSP(JavaServer Pages)负责处理用户界面展示,而Servlet...

    用servlet将jsp文件内容转为html

    通过上述方法,我们可以有效地利用Servlet技术将JSP文件的内容转换为HTML格式,并将其保存到指定位置。这种方法不仅简化了文件转换的过程,还提高了系统的灵活性和可维护性。开发者可以根据实际需求调整输出文件的...

    JSP 开发之THE SERVLET NAME ALREADY EXISTS.解决方法

    The servlet name already exists.解决方法 当我们建立过同名的servlet文件,... 您可能感兴趣的文章:Java,JSP,Servlet获取当前工程路径(绝对路径)问题解析JSP中通过Servlet 将服务器硬盘图片并展示到浏览器Jsp+S

    java-servlet-api.doc

    Servlet通过HTTP将这个响应转发到客户端。 在功能上,Servlet与CGI、NSAPI有点类似,但是,与他们不同的是:Servlet具有平台无关性。 JavaServlet概论 Servlet与其他普通的server扩展机制有以下进步: 因为它采用了...

    SmartUploadservlet文件上传下载

    开发者可以通过创建一个Servlet,读取服务器上的文件并将其写入到HTTP响应流中,使客户端浏览器可以下载。 5. **注意事项** - 安全性:使用`SmartUpload`时,应考虑文件上传的安全性,避免用户上传恶意文件,例如...

    文件上传jsp,servlet编写

    5. 将文件内容写入服务器硬盘,通常会包括一个保存路径的判断和重命名策略,以防止文件覆盖或安全问题。 6. Servlet处理完成后,可以返回响应给JSP,告知用户文件上传的结果。 **关键知识点**: 1. **多部分/...

    wangeditor批量上传图片

    本项目重点在于实现WangEditor的图片批量上传功能,并通过结合jsp和servlet技术,确保图片在Tomcat服务器重启后仍然可访问,避免数据丢失。以下是对这个知识点的详细解释: 1. **WangEditor**: WangEditor是一款...

    jsp+servlet实现MP3乐园

    文件会被暂时保存在服务器的临时目录,然后根据业务需求,可能需要将其移动或复制到持久化存储中,比如云存储服务或本地硬盘的特定文件夹。 音乐下载功能则涉及流处理和HTTP响应设置。Servlet读取文件内容后,通过...

    验证码Servlet

    然后配置Tomcat服务器,将项目部署到服务器上,通过浏览器访问即可查看和测试验证码功能。 通过这个项目,你可以深入理解JSP/Servlet的生命周期,以及如何在它们之间传递数据。同时,也能了解到验证码在Web安全中的...

    servlet读取cookie代码

    - **Cookie**:Cookie是Web服务器发送给用户浏览器的一小段文本信息,浏览器会将Cookie保存在本地硬盘上,并在后续对该服务器发起请求时自动将Cookie信息发送回服务器端。Cookie主要用于记录用户的偏好设置或实现...

    FileUploadAndDown.servlet

    - 文件保存:Servlet接收到文件后,会选择一个目录保存文件,一般不在内存中存储,而是写入到服务器的硬盘上。需要考虑到文件命名、大小限制、文件类型安全等问题。 2. **文件下载** - `DownFileServlet`:文件...

    servlet入门宝典

    4. 部署Web应用:将Servlet类和其他相关资源打包到WAR文件,然后将WAR文件放入Tomcat的webapps目录下。 六、Servlet生命周期 Servlet的生命周期包括加载、初始化、服务、销毁四个阶段: 1. 加载:当Web应用启动或...

    java写的图片上传代码

    使用Java的File类和InputStream/OutputStream进行文件操作,将上传的图片写入到服务器的硬盘上。 数据库方面,通常我们会创建一个表来存储图片信息,如图片ID、文件名、上传时间、以及存储路径等。在图片保存成功后...

    实现pdf发送到客户端服务器

    输出流是将数据从程序输出到外部设备(如硬盘、网络或打印机)的过程,而输入流则是从外部设备读取数据到程序中。在传输文件时,我们会使用Socket或者HTTP协议,通过网络连接建立输入输出流来实现文件的传输。 1. *...

    Java Servlet模式的WebGIS性能优化研究 (1).pdf

    3. **使用tmpfs存储缓存图片**:tmpfs是一种基于内存的文件系统,读写速度远超硬盘,将缓存图片存储在tmpfs中,可快速响应客户端请求。 通过一系列实验,作者验证了上述优化方案的有效性,结果显示这些措施能够显著...

    网络硬盘程序

    下载功能允许用户将服务器上的文件获取到本地。servlet接收到下载请求后,定位到文件并设置合适的HTTP响应头(如Content-Type和Content-Disposition),然后将文件内容流式传输到客户端。相反,上传过程涉及解析...

    Servlet笔记4

    3. 获取Web应用在服务器硬盘上的部署目录路径。 4. 提供类似于Map的接口来存储和检索数据(setAttribute(), getAttribute(), removeAttribute())。 HTTP协议是互联网上应用最广泛的一种网络协议,它定义了客户端与...

    应用Servlet实现Cookie的读、写.doc

    Cookie是一种简单的文本文件,通常由服务器创建并发送到客户端浏览器,然后浏览器会将这个文件保存在本地硬盘上。当浏览器再次访问同一个网站时,它会把Cookie文件发回给服务器,这样服务器就可以根据这些信息识别出...

Global site tag (gtag.js) - Google Analytics