我按照书上说的,把源代码放到TOMCAT下,但是运行时,报告为该页无法显示,并且TOMCAT服务器自动关闭了!!
代码如下 (JPEGServlet.java)-----文件名
package com.jspdev.ch7;import java.awt.image.*;
import java.awt.*; import javax.servlet.*;
import javax.servlet.http.*; import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*; public class JPEGServlet extends HttpServlet {
/**
*处理 HTTP Get request
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/jpeg");//注意这里的MIME类型
ServletOutputStream out = response.getOutputStream();
//构造一个缓冲的图像。
BufferedImage image = new BufferedImage(750,30, BufferedImage.TYPE_INT_RGB);
int per=0;
try{
per=Integer.parseInt((String)request.getParameter("size"));
}
catch(Exception e)
{
e.printStackTrace();
}
Graphics graphics = image.getGraphics();
graphics.setColor(Color.green);
graphics.fillRect(0, 0, 750, 30); //先画一个长条矩形
graphics.setColor(Color.yellow); //改变颜色
graphics.fillRect(0, 0, 750*per/100, 30); //利用参数画矩形
JPEGImageEncoder encoder =JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
}
/**
*处理 HTTP Post request ,和doGet一样
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
} 调用的是jpeg_form.html
内容如下
<html><body>
请输入显示的比例:<br>
<form method="get" action="/ch7/jpeg_servlet">
<table><tr><td>
<input name="size" type="text"></td></tr><tr><td>
<input type=submit value="submit">
</td></tr></table>
</form></body></html>我按照书上说的,在浏览器里输入http://127.0.0.1:8080/ch7/jpeg_form.html
然后输入数字后,就出错了
我这2文件都在ch7文件夹里
代码如下 (JPEGServlet.java)-----文件名
package com.jspdev.ch7;import java.awt.image.*;
import java.awt.*; import javax.servlet.*;
import javax.servlet.http.*; import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*; public class JPEGServlet extends HttpServlet {
/**
*处理 HTTP Get request
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/jpeg");//注意这里的MIME类型
ServletOutputStream out = response.getOutputStream();
//构造一个缓冲的图像。
BufferedImage image = new BufferedImage(750,30, BufferedImage.TYPE_INT_RGB);
int per=0;
try{
per=Integer.parseInt((String)request.getParameter("size"));
}
catch(Exception e)
{
e.printStackTrace();
}
Graphics graphics = image.getGraphics();
graphics.setColor(Color.green);
graphics.fillRect(0, 0, 750, 30); //先画一个长条矩形
graphics.setColor(Color.yellow); //改变颜色
graphics.fillRect(0, 0, 750*per/100, 30); //利用参数画矩形
JPEGImageEncoder encoder =JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
}
/**
*处理 HTTP Post request ,和doGet一样
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
} 调用的是jpeg_form.html
内容如下
<html><body>
请输入显示的比例:<br>
<form method="get" action="/ch7/jpeg_servlet">
<table><tr><td>
<input name="size" type="text"></td></tr><tr><td>
<input type=submit value="submit">
</td></tr></table>
</form></body></html>我按照书上说的,在浏览器里输入http://127.0.0.1:8080/ch7/jpeg_form.html
然后输入数字后,就出错了
我这2文件都在ch7文件夹里
解决方案 »
- Struts2页面取ArrayList中HashMap的值!!!!!!!!!!!1
- 有没有简单的方法让servlet返回向他提交数据的那一个页面
- JSP中使用EL表达示时遇到的问题!~
- struts1.3 关于taglib的uri?
- 如何将数据库中的路径读入到type=file的文本框中
- 这几天问的大家咱不会,郁闷,帮帮我吧,String content = "<table><tr><td>hello</td><td>world</td></tr></table>" 用jdom解析,
- Context ctx = new InitialContext(env)的ClassCastException异常问题!
- javascript中调用引入jsp文件的java函数
- 验证码问题,生成了图形验证码,在页面上输入时怎么判断是否输入正确???分用完了
- 110
- 怎么判断一个表达式是否是布尔型的?
- jsp当中还需要过滤特殊字符吗?
>encoder.encode(image);
>out.close(); 改成 javax.imageio.ImageIO.write(image, "jpg", out);
ServletOutputStream out = response.getOutputStream();
JPEGImageEncoder encoder =JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
这样应该也没有错,我就是这样做Servlet的。最后建议楼主把out.close(); 这一句去掉试试看。
BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics(); g.setColor(Color.WHITE);
g.fillRect(0, 0, width, height); byte buffer[] = null;
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(image, "JPEG", out);
buffer = out.toByteArray();
} catch (Exception e) {
}ServletOutputStream out = response.getOutputStream();
output.setContentType("image/*"); // 设置返回的文件类型
output.write(b); // 输出数据
output.close();