ȺÀÖȦÊ×Ò³

ÄúĿǰÔÚ£ºÈºÀÖ·ÖÀà¡¡>>¡¡JSP¡¡ >>¡¡´Ójsp·¢ËͶ¯Ì¬Í¼Ïñ
ÄúÊDZ¾ÌùµÚ 645 Ãûä¯ÀÀÕß
¡¡Ö÷Ì⣺ ´Ójsp·¢ËͶ¯Ì¬Í¼Ïñ
 
yangco ·¢±íÓÚ 2006-12-14 18:13     
Â¥Ö÷
´Ójsp·¢ËͶ¯Ì¬Í¼Ïñ
ÄãÊÇ·ñÔø¾­Ïë¹ý´ÓjspÒ³Ãæ(»òÕßservlet)Öз¢ËͶ¯Ì¬²úÉúµÄͼÏñ?ÕâÆª¼¼ÇɸæËßÄãÈçºÎ×ö¡£ÒªÔËÐÐÕâÀïµÄ´úÂ룬ÄãÐèÒªÒ»¸öTomcat»òÕ߯äËûÖ§³ÖJSP 1.1µÄweb·þÎñÆ÷¡£
 µ±Ò»¸öwebÒ³Ãæ´øÓÐimage/jpeg (»òÕ߯äËûµÄͼÏñ¸ñʽ)µÄMIMEÀàÐͱ»·¢ËÍʱ£¬ÄãµÄä¯ÀÀÆ÷½«ÄǸö·µ»Ø½á¹ûµ±×÷Ò»¸öͼÏñ£¬È»ºóä¯ÀÀÆ÷ÏÔʾͼÏñ£¬×÷ÎªÒ³ÃæµÄÒ»²¿·Ö»òÕßÍêÈ«×÷ΪͼÏñ×ÔÉí¡£ÒªÎªÄãµÄjspÒ³ÃæÉèÖÃMIMEÀàÐÍ£¬ÄãÐèÒªÉèÖÃÒ³ÃæµÄcontentTypeÊôÐÔ£º
<%@ page contentType="image/jpeg" ... %>
È»ºóÄãÐèÒª´´½¨Ò»¸öBufferedImage»æÖÆÄãµÄ¶¯Ì¬Í¼Ïñ£º
BufferedImage image = new BufferedImage(width,  
height, BufferedImage.TYPE_INT_RGB);
´´½¨ÍêÒ»¸öBufferedImageºó£¬ÄãÐèÒªµÃµ½Í¼Ðλ·¾³½øÐлæÖÆ£¬Ò»¸öGraphics»òÕßGraphics2D¶ÔÏó£º
Graphics g = image.getGraphics();
// or
Graphics2d g2d = image.createGraphics();
 ´ÓÏÖÔÚÆðÄã¾Í¿ÉÒÔ»æÖÆÍ¼ÏñÄÚÈÝÁË¡£¶ÔͼÐλ·¾³»æÖƾͻửµ½BufferedImage¡£×ʼÕâ¸öͼÏñ¶¼ÊǺÚÉ«µÄ£¬Òò´ËÓÃÄãÏ£ÍûµÄ±³¾°ÑÕÉ«Ìî³äͼÏñÊÇÒ»¸ö²»´íµÄÖ÷Ò⣬Ȼºó£¬µ±ÄãÍê³ÉͼÏñµÄ»æÖÆ£¬ÄãÐèÒªdisposeͼÐλ·¾³£º
g.dispose();
// or
g2d.dispose();
¡¡¡¡Ò»µ©Íê³ÉͼÏñµÄ»æÖÆ£¬ÄãÔÚresponseÖзµ»ØÄǸöͼÏñ¡£Äã¿ÉÒÔʹÓ÷DZê×¼µÄcom.sun.image.codec.jpeg°üÖеÄJPEGImageEncoderÀà±àÂëͼÏñ£¬»òÕßÈç¹ûÄãʹÓÃJDK1.4£¬Äã¿ÉÒÔʹÓñê×¼µÄImageIOÀà¡£ÔÚʹÓÃJPEGImageEncoderʱÓÐÒ»¸ö¼¼ÇÉ£¬Äã±ØÐë´ÓServletResponseÈ¡À´ServletOutputStream¶ø²»ÄÜʹÓÃÒþº¬µÄJSPÊä³ö±äÁ¿out¡£
ServletOutputStream sos = response.getOutputStream();
JPEGImageEncoder encoder =  
JPEGCodec.createJPEGEncoder(sos);
encoder.encode(image);
// or
ImageIO.write(image, "JPEG", out);
¡¡¡¡ÕâÀïÓÐÒ»¸ö´ÓËùÓеĿÉÄÜ·½°¸ÖÐ(ÀýÈçg.dispose();»òÕßg2d.dispose();)ѡȡµÄÒ»¸öÍêÕûµÄ·¶Àý.Õâ¸öÀý×ÓʹÓÃGraphics¶ÔÏó»æÖÆÒ»¸öËæ»úµÄ¶à±ßÐΣ¬Í¼Ïñͨ¹ýJPEGImageEncoder»æÖÆ£¬Äã¿ÉÒÔ×ÔÓÉÉèÖöà±ßÐεĶ¥µãÊýµÃµ½¸ü¸´ÔÓµÄÐÎ×´£¬»»ÑÔÖ®£¬Óиü¶à¶¥µãºÍ±ß¡£
¡¡¡¡ÒªÔËÐÐÕâ¸ö·¶Àý£¬½«´Ó"<%@"µ½×îºóÒ»¸ö"%>"Ö®¼äµÄjsp´úÂë·Åµ½Ò»¸öÃûΪimage.jspµÄÎļþÖУ¬½«ÄǸöÎļþ·Åµ½ÄãµÄweb·þÎñÆ÷¿ÉÒÔÕÒµ½µÄµØ·½£¬ÔÚʹÓÃTomcatµÄÇé¿öÏÂÊÇROOTĿ¼£¬Æô¶¯Tomcat£¬·ÃÎÊhttp://localhost:8080/image.jsp.
<%@ page contentType="image/jpeg"  
import="java.awt.*,java.awt.image.*,
com.sun.image.codec.jpeg.*,java.util.*"
%>
<%
// Create image
int width=200, height=200;
BufferedImage image = new BufferedImage(width,  
height, BufferedImage.TYPE_INT_RGB);
// Get drawing context
Graphics g = image.getGraphics();
// Fill background
g.setColor(Color.white);
g.fillRect(0, 0, width, height);
// Create random polygon
Polygon poly = new Polygon();
Random random = new Random();
for (int i=0; i < 5; i++) {
poly.addPoint(random.nextInt(width),  
random.nextInt(height));
}
// Fill polygon
g.setColor(Color.cyan);
g.fillPolygon(poly);
// Dispose context
g.dispose();
// Send back image
ServletOutputStream sos = response.getOutputStream();
JPEGImageEncoder encoder =  
JPEGCodec.createJPEGEncoder(sos);
encoder.encode(image);
%>
 

    ÌÔ±¦Íø¹ºÂò       Ãâ·Ñ×¢²á ÄÃIT´ó½±   Ìì¼«Íø×¨ÒµÃâ·ÑÁ÷Á¿½»»»
ÈÈÃÅÖ÷Ìâ
Ïà¹ØÎÄÕÂ
¡¡»Ø¸´Ö÷Ì⣺
ÎÂܰÌáʾ£ºÄúµÄȨÏÞ²»¹»£¬±¾ÈºÀÖ±ØÐëÊǵǽÓû§»òÕß¼ÓÈ뱾ȺÀֵĻáÔ±²ÅÄÜ»ØÌù
Ì켫ȺÀÖ»áÔ±
Óû§Ãû£º
ÃÜ¡¡Â룺
×Ô¶¯µÇ¼

Äú»¹²»ÊÇÌ켫ȺÀÖ»áÔ±£¬Çë
Ì켫ȺÀÖ·þÎñ | ȺÀÖÖ¸ÄÏ | ÊÖ»úÍæ¼ÒÉçÇø | ÊýÂë²úÆ·ÉçÇø | Öª±¾¼ÒÉçÇø | Èí¼þÉçÇø | DIYÓ²¼þÉçÇø | ÐÝÏÐÓéÀÖÉçÇø | Archiver
ÉÌÎñÁªÏµ¡¢ÍøÕ¾ÄÚÈÝ¡¢ºÏ×÷½¨Ò飺010-82657868 ÏêϸÁªÏµ·½Ê½ ÔÚÏ߿ͷþ ÓÐÊÂÄúQÎÒ£¬Õæ³ÏΪÄúÔÚÏß·þÎñ
ÓåICPÖ¤B2-20030003ºÅ Powered by Ì켫ÄÚÈݹÜÀíÆ½Ì¨CMS4i