1.导入jar包:commons-io-1.4.jar

2.index.jsp:

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9     <head>
10         <base href="<%=basePath%>">
11
12         <title>文件上传</title>
13         <meta http-equiv="pragma" content="no-cache">
14         <meta http-equiv="cache-control" content="no-cache">
15         <meta http-equiv="expires" content="0">
16         <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
17         <meta http-equiv="description" content="This is my page">
18         <!--
19     <link rel="stylesheet" type="text/css" href="styles.css">
20     -->
21     </head>
22
23     <body>
24             <div><a href="${pageContext.request.contextPath}/showPic.jsp">查看图片</a></div>
25     </body>
26 </html>

3.showPic.jsp

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9     <head>
10         <base href="<%=basePath%>">
11
12         <title>文件上传</title>
13         <meta http-equiv="pragma" content="no-cache">
14         <meta http-equiv="cache-control" content="no-cache">
15         <meta http-equiv="expires" content="0">
16         <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
17         <meta http-equiv="description" content="This is my page">
18         <!--
19     <link rel="stylesheet" type="text/css" href="styles.css">
20     -->
21     </head>
22
23     <body>
24         <div>
25             <img alt="图片" src="${pageContext.request.contextPath}/ShowPictureServlet?fileName=fanfan.jpg">
26         </div>
27     </body>
28 </html>

4.ShowPictureServlet.java

 pacgake com.pearl.util;

 1 import java.io.File;
 2 import java.io.FileInputStream;
 3 import java.io.IOException;
 4 import java.io.OutputStream;
 5
 6 import javax.servlet.ServletConfig;
 7 import javax.servlet.ServletException;
 8 import javax.servlet.http.HttpServlet;
 9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11
12 public class ShowPictureServlet extends HttpServlet {
13
14     public void destroy() {
15         super.destroy();
16     }
17
18     public void doGet(HttpServletRequest request, HttpServletResponse response)
19             throws ServletException, IOException {
20         //文件路径
21         String picFolder = "E:/upload/";
22         String fileName = request.getParameter("fileName");
23         if(fileName!=null && !fileName.equals("")){
24             String mimeType = "image/gif";
25             //设置content类型
26             response.setContentType(mimeType);
27             //设置大小
28             File file = new File(picFolder + fileName);
29             response.setContentLength((int) file.length());
30             //打开文件并输出
31             FileInputStream inputStream = new FileInputStream(file);
32             OutputStream out = response.getOutputStream();
33
34             //把文件复制到输出流
35             byte[] data = new byte[1024];
36             int count = 0;
37             while ((count=inputStream.read(data))>=0){
38                 out.write(data, 0, count);
39             }
40             inputStream.close();
41             out.close();
42         }
43     }
44
45     public void doPost(HttpServletRequest request, HttpServletResponse response)
46             throws ServletException, IOException {
47         doGet(request, response);
48     }
49
50
51     public void init(ServletConfig config) throws ServletException {
52         super.init(config);
53     }
54
55 }

5.web.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.5"
 3     xmlns="http://java.sun.com/xml/ns/javaee"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 7   <servlet>
 8     <description>This is the description of my J2EE component</description>
 9     <display-name>This is the display name of my J2EE component</display-name>
10     <servlet-name>ShowPictureServlet</servlet-name>
11     <servlet-class>com.pearl.util.ShowPictureServlet</servlet-class>
12   </servlet>
13
14   <servlet-mapping>
15     <servlet-name>ShowPictureServlet</servlet-name>
16     <url-pattern>/ShowPictureServlet</url-pattern>
17   </servlet-mapping>
18
19   <welcome-file-list>
20     <welcome-file>index.jsp</welcome-file>
21   </welcome-file-list>
22 </web-app>

6.完成。

转载于:https://www.cnblogs.com/yeqrblog/p/4894323.html

Servlet实现图片读取显示相关推荐

  1. ZYNQ-使用HDMI显示器进行SD卡图片读取显示

    学习内容 本文使用带有HDMI接口的显示器,构建图像视频显示的测试工程,利用VDMA进行传输图像视频数据,通过文件系统将SD卡中的照片读取出来然后在显示器显示. 开发环境 vivado 18.3&am ...

  2. python实现cv2图片读取显示及图片不显示或显示不全的问题分析

    cv2相关知识初步学习 python图片操作之opencv 图片读入 图片显示 图片不能显示的问题 图片只显示一小部分 声明 python图片操作之opencv OpenCV是一个基于BSD许可(开源 ...

  3. java读取web工程目录之外的图片并显示

    可以有2种方式,1:目录映射,2:读取流 方式1: 需要在conf目录下对server.xml做修改,就是在<host></host>标签之间加入 <Context pa ...

  4. opencv java 显示图片_【opencv三】利用opencv读取显示图片

    在opencv中读取显示图片的头文件是highgui.hpp. 整体代码如下,如要测试自己的图片,需要将代码段中的图片地址更改为自己图片的绝对路径. #include "opencv2/hi ...

  5. qt 关闭窗口的槽函数_勇哥的VC++应用框架学习之QT(1) 信号槽、按钮控件、opencv读取显示图片...

    前言勇哥对于C语言,C++早些年有一些接触,这个系列贴子就记载一下C++应用框架的学习经验. 在写程序时,UI.基础类库.应用程序框架对于vc来讲,只能依靠MFC和QT了. 勇哥对MFC有很强的抵触, ...

  6. Opencv 图片 读取,显示,保存基本操作

    Opencv的图片读取,显示,保存是图片操作的基础,实验用的图片来自于lenan:http://www.lenna.org/ 为了使用方 便,主要是使用opencv的python版本的接口,其官网链接 ...

  7. 图片保存到数据库和从数据库读取图片并显示(C#)

    图片保存到数据库的方法: public void imgToDB(string sql) {   //参数sql中要求保存的imge变量名称为@images //调用方法如:imgToDB(" ...

  8. Python读取显示raw图片+numpy基本用法记录

    这次任务是拿到了几张raw图片,没其他头文件或信息,需要对raw图片使用python打开并显示 (作为了一个初学者,整天搞jpg.png,突然来了个raw,表示很头大) 1.获取raw图片shape信 ...

  9. python opencv 读取显示图片

    读取图片路径有中文似乎会产生问题 import cv2 import numpy as np img = cv2.imread('touxiang.jpg',cv2.IMREAD_GRAYSCALE) ...

最新文章

  1. Android-Binder(一)
  2. 纠错--跟我学Java第44页
  3. .net core读取配置文件
  4. docker创建rabbitmq容器命令
  5. 【华为云技术分享】《跟唐老师学习云网络》 - TUN/TAP网线
  6. 谷歌 Nest 和 Fitbit 漏洞奖励翻番
  7. 三菱5uplc伺服电机指令_PLC中伺服控制指令的应用
  8. 【Linux环境下C语言编程】
  9. 【LED大屏文字显示---VUE】
  10. Opencv创建纯色图
  11. U3D DotH教程
  12. 初等行变换不改变列向量组的线性关系
  13. 关于百度地图定位出现5e-324的解决办法
  14. PWM脉冲宽度调制,实现呼吸灯_领航者开发板
  15. 高等数学(Space Analytic Geometry)
  16. 度用计算机怎么表示什么意思,潘云飞:计算机里讲的耦合度是什么意思?
  17. 树形结构的处理——组合模式(五)
  18. linux服务器搭建实验4报告,LINUX实验四报告
  19. HP-UX 11.31 安装RAC 添加共享磁盘的问题(两种办法)
  20. 联想键盘最上面一行切换功能

热门文章

  1. 刚刚做完的一个屏幕截图程序,分享一下
  2. Linux如何安装python pandas科学库
  3. Mysql约束 笔记
  4. EOS Nation更新“flash.sx遭攻击”进展:将建议MSIG根据快照将资金退还
  5. 韩国央行行长李柱烈:加密货币的波动给金融稳定带来风险
  6. 比特币近24小时内链上交易额有所上升,约为345.44亿美元
  7. Hive 查看库有多少表,表有多少字段以及动态监控
  8. SSZipArchive的使用详解和遇到的问题
  9. ubuntu下搭建车场环境(代码使用jekins构建)
  10. Django Signal 代码布局