`

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

    博客分类:
  • Java
 
阅读更多

在浏览器显示一张图片,使用标签 <img src="">, 从技术上讲,<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来做一个简单示例

 

<%@ 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

/** 

 * 该Servlet将本地硬盘的图片输入管道中 

 */  

@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;  

        }  

    }  

}  

分享到:
评论

相关推荐

    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...

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

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

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

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

    java写的图片上传代码

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

    java文件/图片上传

    这个过程涉及到用户通过浏览器选择本地文件,然后这些文件被传输到服务器进行存储或处理。以下是对这个主题的详细阐述: 1. **文件上传的基本原理** 文件上传通常使用HTTP协议中的POST请求实现。当用户在JSP页面上...

    ImageServer_b:一个学习java servlet的demo

    Servlet是一个Java类,它遵循Servlet API规范,由服务器加载并实例化,用于响应客户端(通常是Web浏览器)的请求。Servlet生命周期包括加载、初始化、服务、销毁四个阶段。在Web应用中,Servlet主要负责处理HTTP请求...

    【JavaWeb】tomcat服务器访问硬盘中的文件(图片示例)

    在实际应用中,有时我们需要让Tomcat服务器直接访问硬盘上的文件,例如展示静态资源如图片。以下是如何通过Tomcat配置来实现这一功能的详细步骤。 首先,我们需要找到Tomcat的安装路径,并打开`conf`文件夹。在这个...

    flex+j2ee在线拍照并保存到服务端

    例如,使用Java的Servlet API来接收POST请求,将图像数据保存到硬盘上,或者使用Java的JPA(Java Persistence API)或者其他ORM框架(如Hibernate)将图片信息存入数据库。 项目中的"TakePhoto.mxml"文件很可能是...

    JSP动态WEB开发讲义1-4

    - **工作模式**: 用户访问静态网页时,服务器仅需将存储在硬盘上的静态文件发送给客户端浏览器,由浏览器负责渲染显示。 - **特点**: - 所有用户访问同一页面时看到的内容相同。 - 不支持用户交互功能,如登录...

    2021-2022计算机二级等级考试试题及答案No.19077.docx

    - 当用户通过浏览器访问特定URL时,服务器会根据这个URL映射到相应的Servlet上。 ### 2. 命令窗口操作限制 题目提到:“在命令窗口中,不能实现的操作是...” 正确答案是 **D**。 **知识点:** - **命令窗口**...

    基于BS架构微博系统任务书.docx

    服务器方面选择了Apache Tomcat 7.0,这是一款免费开源的Servlet容器,能够运行Java Web应用。 #### 三、系统功能设计 - **首页展示**:展示最新热门微博信息,支持未登录状态下查看。 - **用户管理**:支持用户...

    2021-2022计算机二级等级考试试题及答案No.17054.docx

    在 Windows 操作系统中,**Ctrl+V** 是一个常用的快捷键,用于将剪贴板中的内容粘贴到当前所选的位置。这一功能在多种场景下都非常实用,比如快速复制文件、文本或是图片等。 ### 2. Java 中表示换行符的转义字符 ...

    2021-2022计算机二级等级考试试题及答案No.17418.docx

    在这种模式下,客户端(通常是Web浏览器)向服务器发送请求,服务器处理请求后将结果返回给客户端。 - **结论**:正确答案为`B.浏览器/服务器`。 ### 4. Word视图与效果展示 - **知识点**:Word不同视图下的文档...

Global site tag (gtag.js) - Google Analytics