其实这个实例非常简单,但是今天有人问我了,而且我也写了个小例子,就顺便发上来吧!
在浏览器显示一张图片,使用标签
<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将服务器硬盘上的图片展示到浏览器上。这是一个相当实用的技术,可用于动态生成图片或从服务器存储中检索图片资源,并将其作为响应发送到用户浏览器。下面将分步骤...
【标题】"使用Servlet+jQuery实现读取本地硬盘图片"涉及的主要知识点是Web开发中的服务器端处理和客户端交互。在Web应用中,Servlet是Java语言用于处理HTTP请求的重要组件,而jQuery则是一种广泛使用的JavaScript库...
【jsp+servlet网络硬盘】是一种基于Java Web技术实现的在线存储系统,它允许用户通过Web浏览器上传、下载、管理自己的文件,类似于云盘服务。在这个系统中,JSP(JavaServer Pages)负责处理用户界面展示,而Servlet...
通过上述方法,我们可以有效地利用Servlet技术将JSP文件的内容转换为HTML格式,并将其保存到指定位置。这种方法不仅简化了文件转换的过程,还提高了系统的灵活性和可维护性。开发者可以根据实际需求调整输出文件的...
The servlet name already exists.解决方法 当我们建立过同名的servlet文件,... 您可能感兴趣的文章:Java,JSP,Servlet获取当前工程路径(绝对路径)问题解析JSP中通过Servlet 将服务器硬盘图片并展示到浏览器Jsp+S
Servlet通过HTTP将这个响应转发到客户端。 在功能上,Servlet与CGI、NSAPI有点类似,但是,与他们不同的是:Servlet具有平台无关性。 JavaServlet概论 Servlet与其他普通的server扩展机制有以下进步: 因为它采用了...
开发者可以通过创建一个Servlet,读取服务器上的文件并将其写入到HTTP响应流中,使客户端浏览器可以下载。 5. **注意事项** - 安全性:使用`SmartUpload`时,应考虑文件上传的安全性,避免用户上传恶意文件,例如...
5. 将文件内容写入服务器硬盘,通常会包括一个保存路径的判断和重命名策略,以防止文件覆盖或安全问题。 6. Servlet处理完成后,可以返回响应给JSP,告知用户文件上传的结果。 **关键知识点**: 1. **多部分/...
本项目重点在于实现WangEditor的图片批量上传功能,并通过结合jsp和servlet技术,确保图片在Tomcat服务器重启后仍然可访问,避免数据丢失。以下是对这个知识点的详细解释: 1. **WangEditor**: WangEditor是一款...
文件会被暂时保存在服务器的临时目录,然后根据业务需求,可能需要将其移动或复制到持久化存储中,比如云存储服务或本地硬盘的特定文件夹。 音乐下载功能则涉及流处理和HTTP响应设置。Servlet读取文件内容后,通过...
然后配置Tomcat服务器,将项目部署到服务器上,通过浏览器访问即可查看和测试验证码功能。 通过这个项目,你可以深入理解JSP/Servlet的生命周期,以及如何在它们之间传递数据。同时,也能了解到验证码在Web安全中的...
- **Cookie**:Cookie是Web服务器发送给用户浏览器的一小段文本信息,浏览器会将Cookie保存在本地硬盘上,并在后续对该服务器发起请求时自动将Cookie信息发送回服务器端。Cookie主要用于记录用户的偏好设置或实现...
- 文件保存:Servlet接收到文件后,会选择一个目录保存文件,一般不在内存中存储,而是写入到服务器的硬盘上。需要考虑到文件命名、大小限制、文件类型安全等问题。 2. **文件下载** - `DownFileServlet`:文件...
4. 部署Web应用:将Servlet类和其他相关资源打包到WAR文件,然后将WAR文件放入Tomcat的webapps目录下。 六、Servlet生命周期 Servlet的生命周期包括加载、初始化、服务、销毁四个阶段: 1. 加载:当Web应用启动或...
使用Java的File类和InputStream/OutputStream进行文件操作,将上传的图片写入到服务器的硬盘上。 数据库方面,通常我们会创建一个表来存储图片信息,如图片ID、文件名、上传时间、以及存储路径等。在图片保存成功后...
输出流是将数据从程序输出到外部设备(如硬盘、网络或打印机)的过程,而输入流则是从外部设备读取数据到程序中。在传输文件时,我们会使用Socket或者HTTP协议,通过网络连接建立输入输出流来实现文件的传输。 1. *...
3. **使用tmpfs存储缓存图片**:tmpfs是一种基于内存的文件系统,读写速度远超硬盘,将缓存图片存储在tmpfs中,可快速响应客户端请求。 通过一系列实验,作者验证了上述优化方案的有效性,结果显示这些措施能够显著...
下载功能允许用户将服务器上的文件获取到本地。servlet接收到下载请求后,定位到文件并设置合适的HTTP响应头(如Content-Type和Content-Disposition),然后将文件内容流式传输到客户端。相反,上传过程涉及解析...
3. 获取Web应用在服务器硬盘上的部署目录路径。 4. 提供类似于Map的接口来存储和检索数据(setAttribute(), getAttribute(), removeAttribute())。 HTTP协议是互联网上应用最广泛的一种网络协议,它定义了客户端与...
Cookie是一种简单的文本文件,通常由服务器创建并发送到客户端浏览器,然后浏览器会将这个文件保存在本地硬盘上。当浏览器再次访问同一个网站时,它会把Cookie文件发回给服务器,这样服务器就可以根据这些信息识别出...