jsp中获取Servlet读取的图片

需求:

通过servlet读取图片地址,然后显示在jsp页面上

jsp页面:

 1 <img style="width:240px; height:200px;" src="<%=request.getContextPath()%>/chartServlet"> 

wel.xml 配置:

1 <servlet>
2         <servlet-name>chartServlet</servlet-name>
3         <servlet-class>com.stronginfo.transenly.website.servlet.chartServlet</servlet-class>
4     </servlet>
5     <servlet-mapping>
6         <servlet-name>chartServlet</servlet-name>
7         <url-pattern>/chartServlet</url-pattern>
8     </servlet-mapping>

java代码:

 1 package com.stronginfo.transenly.website.servlet;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.IOException;
 5 
 6 import javax.servlet.ServletException;
 7 import javax.servlet.ServletOutputStream;
 8 import javax.servlet.http.HttpServlet;
 9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 
12 import com.stronginfo.core.dao.OrderDao;
13 import com.stronginfo.transenly.util.ConfigManager;
14 
15 public class chartServlet extends HttpServlet
16 {
17 
18     private static final long serialVersionUID = 1L;
19 
20    
21     
22 
23     public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
24     {
25 
26     
27         ServletOutputStream outStream = res.getOutputStream();// 得到向客户端输出二进制数据的对象
28         FileInputStream fis = new FileInputStream(图片路径); // 以byte流的方式打开文件
29         // 读数据
30         byte data[] = new byte[1000];
31         while (fis.read(data) > 0)
32         {
33             outStream.write(data);
34         }
35         fis.close();
36         res.setContentType("image/*"); // 设置返回的文件类型
37         outStream.write(data); // 输出数据
38 
39         outStream.close();
40 
41     }
42 
43 }

 

posted @ 2014-08-22 14:12  java学习之旅  阅读(1425)  评论(0编辑  收藏  举报