ShowImageFromDiskServlet.java代码如下:
package cn.com.songjy.test.db;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class ShowImageFromDiskServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final Log log = LogFactory
.getLog(ShowImageFromDiskServlet.class);
String imagePath;
public ShowImageFromDiskServlet() {
}
@Override
public void init(ServletConfig config) throws ServletException {
imagePath = config.getInitParameter("imagePath");
log.info("图片路径:" + imagePath);
}
@Override
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(
response.getOutputStream());
File file = new File(imagePath);
BufferedInputStream bufferedInputStream = new BufferedInputStream(
new FileInputStream(file));
byte[] buffer = new byte[1024];
for(int len=0;(len=bufferedInputStream.read(buffer))>0;){
bufferedOutputStream.write(buffer, 0, len);
}
//bufferedOutputStream.flush();//关闭时会自动刷新,无需显示调用,否则必须显示调用
bufferedOutputStream.close();
bufferedInputStream.close();
}
/*private byte[] readStream(InputStream in) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int data = -1;
try {
while ((data = in.read()) != -1) {
baos.write(data);
}
return baos.toByteArray();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}*/
}
spring mvc 通过字节流返回图像
/**
* 通过url请求返回图像的字节流
*/
@RequestMapping("icon/{cateogry}")
public void getIcon(@PathVariable("cateogry") String cateogry, HttpServletRequest request,
HttpServletResponse response) throws IOException {
if (StringUtils.isEmpty(cateogry)) {
cateogry = "";
}
String fileName = request.getSession().getServletContext().getRealPath("/") + "resource\\icons\\auth\\"
+ cateogry.toUpperCase().trim() + ".png";
File file = new File(fileName);
// 判断文件是否存在如果不存在就返回默认图标
if (!(file.exists() && file.canRead())) {
file = new File(request.getSession().getServletContext().getRealPath("/") + "resource/icons/auth/root.png");
}
FileInputStream inputStream = new FileInputStream(file);
byte[] data = new byte[(int) file.length()];
int length = inputStream.read(data);
inputStream.close();
response.setContentType("image/png");
OutputStream stream = response.getOutputStream();
stream.write(data);
stream.flush();
stream.close();
}
通过Servlet 将服务器硬盘图片 展示到浏览器
通过Java HTTP连接将网络图片下载到本地
在jsp页面中响应速度提高的7种方法
又一编辑神器-百度编辑器-Ueditor
教你如何调用百度编辑器ueditor的上传图片、上传文件等模块
分享到:
相关推荐
在这个系统中,JSP(JavaServer Pages)负责处理用户界面展示,而Servlet则作为服务器端的处理逻辑,处理用户的请求并进行数据交互。 一、JSP技术 JSP是Java Servlet的一种扩展,主要用于创建动态网页。在"jsp+...
在描述中提到的“jsp操作服务器硬盘”是指通过JSP技术来实现对服务器硬盘资源的操作,这通常涉及到文件系统交互、输入/输出流和文件处理等知识。下面将详细探讨这些方面: 1. **文件系统交互**:在JSP中,可以使用...
在本文中,我们将探讨如何在JSP页面中通过Servlet将服务器硬盘上的图片展示到浏览器上。这是一个相当实用的技术,可用于动态生成图片或从服务器存储中检索图片资源,并将其作为响应发送到用户浏览器。下面将分步骤...
Servlet读取文件内容后,通过输出流将数据发送给客户端,并在响应头中设置适当的Content-Type(例如audio/mpeg针对MP3文件),以及Content-Disposition来指示浏览器如何处理这个响应,通常是作为文件下载。...
在JSP中,可以通过Servlet或者使用JSP内置对象如`response`来实现这个过程。例如,可以使用`response.getOutputStream()`来获取输出流,并通过循环读取文件内容,逐块写入到输出流中。 此外,安全性和性能优化也是...
【网络硬盘jsp源代码】项目是一个典型的Web应用开发实例,主要使用了Java技术栈,包括JSP、Servlet、Struts以及DWR框架。这个项目旨在实现一个网络存储系统,允许用户上传、下载、管理和共享文件,同时具备多级目录...
在Web开发中,JSP中文乱码是一个常见的问题,主要涉及页面显示、表单提交以及数据库操作等环节。理解并掌握这些环节的编码处理至关重要,以确保数据的准确性和用户体验。 1. **JSP文件的编码与保存** JSP文件本质...
1. **JSP基础**:理解JSP的工作原理,包括如何在JSP页面中编写Java代码,以及如何使用指令、脚本元素和表达式来控制页面行为。 2. **Servlet技术**:JSP通常与Servlet结合使用,Servlet负责处理请求和响应,而JSP...
在JSP中,我们通常使用Servlet API,特别是`Part`接口,它是`HttpServletRequest`的一个子接口,专门用于处理多部分请求。以下是一个简单的示例: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%> request.set...
Servlet引擎载入Servlet后,Servlet引擎必须对Servlet进行初始化,在这一过程中,你可以读取一些固定存储的数据、初始化JDBC的连接以及建立与其他资源的连接。 在初始化过程中,javax.servlet.Servlet接口的init()...
在Servlet中,我们可以使用Apache Commons FileUpload库或者Java内置的Part接口来解析请求中的文件数据。文件数据被解码后,通常会存储在服务器的硬盘上,选择合适的存储路径和策略对于系统的稳定性和安全性至关重要...
在Java Web开发中,JSP(JavaServer Pages)经常用于创建动态网页,而处理Excel文件的上传和下载是常见的需求,特别是在数据导入导出、报表生成等场景。本篇文章将详细探讨如何使用JSP实现Excel的上传和下载功能。 ...
2. 处理请求:在Servlet或JSP页面中捕获POST请求,并使用`ServletFileUpload`解析请求。 3. 获取文件:遍历解析后的文件项,获取每个文件的信息,如文件名、内容等。 4. 存储文件:将文件内容写入服务器的指定位置。...
在这个项目中,采用了jsp、servlet和javabean的技术栈来构建系统,而分页技术则通过三种不同的方法进行实现。以下是关于这些知识点的详细讲解: 1. **jsp**: JSP(JavaServer Pages)是Java平台上的动态网页技术,...
- POST将数据封装在请求体中,数据不显示在URL,传输数据量较大,适合提交大量或敏感数据。 6. **Servlet生命周期** - Servlet的生命周期包括加载和实例化、初始化、处理请求和销毁四个阶段。 - 控制Servlet生命...
在这个场景中,jsp页面作为用户交互的界面,负责接收用户上传图片的请求,并将请求转发给servlet处理。 4. **servlet**: servlet是Java Web服务器端的编程接口,负责处理HTTP请求。在这个案例中,servlet接收到...
本教程将探讨如何利用JSP(JavaServer Pages)、Servlet和Java技术来实现在后台处理用户上传的图片。首先,我们需要理解这三种技术的基础概念。 JSP是Java的一种动态网页技术,它允许开发者在HTML页面中嵌入Java...
- **上传图片设计**:实现文件上传功能通常需要表单提交、文件流处理以及服务器端的文件存储逻辑,JSP可以与Servlet协作完成这个过程。 6. **实习总结**:在实习过程中,遇到的技术难题可能包括配置环境变量、...
Java Web是使用Java语言开发的Web应用程序,它涵盖了Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages Standard Tag Library)等技术。Servlet是Java编写的服务器端程序,用于处理HTTP请求;JSP则是一种...
在这个"铁人下载系统"中,作者使用JSP技术构建了一个个人使用的下载平台,提供了文件的上传、存储和下载功能。 **系统架构** 1. **前端展示**:JSP页面作为用户界面,通常包含HTML、CSS和JavaScript,负责用户交互...