求教大神,在servlet中绘制图片在页面中,怎么显示不出来?程序如下:

protectedvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsServ... protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "No-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");//响应格式为jpeg图片
//创建一个指定长宽的图象
int width=200, height=180;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics(); //获取用于处理图形上下文的对象
g.setColor(new Color(178,186,174));//设置RGB颜色
g.fillRect(0, 0, width, height); //填充指定的矩形
g.setColor(Color.BLACK); //设置直线的颜色
g.drawLine(70, 50, 180, 50); // 绘制第一条水平线
g.drawLine(70, 80, 180, 80); // 绘制第二条水平线
g.drawLine(110, 10, 140, 120); // 绘制斜线
g.dispose(); //释放此图形的上下文以及它使用的所有系统资源
System.out.println("code------->");
JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(response.getOutputStream());
encoder.encode(image);
response.getOutputStream().flush(); //刷新输出流
//response.getOutputStream().close(); //关闭输出流
}
jsp中:<img alt="" src="DrawLineServlet">
xml中是url-pattern是/DrawLineServlet啊
看不出来哪里有问题,求帮忙
展开
 我来答
以水丹75
2013-08-20 · TA获得超过575个赞
知道小有建树答主
回答量:567
采纳率:100%
帮助的人:423万
展开全部
没用过你这种方法,我用过
ImageIO.write(img,"jpg",response.getOutputStream());
这个就可以了,imageio把图片转成你指定的格式输出
当然你还要确定好你的servlet地址正确,你这里写的是相对地址,最好改成绝对地址

你手动请求下你这个servlet,如果有图片出来那就是你的地址写错了,如果没有图片出来,那就是你的程序问题了
更多追问追答
追问
不能手动请求这个servlet了吧,service已经被覆盖掉了
追答
没什么不可以的,你写到img的src里也是一个http请求,它能请求你就能请求,最多你请求的时候会下载这个图片,其实这样输出你不设置头部信息也是一样的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式