1. 程式人生 > >Java web把文字,繪圖輸出到瀏覽器

Java web把文字,繪圖輸出到瀏覽器

	@RequestMapping("/write/text")
	public void writeText(HttpServletRequest request,HttpServletResponse response) throws IOException{
		
//		OutputStream os=new OutputStream() {
//			
//			@Override
//			public void write(int b) throws IOException {
//				// TODO Auto-generated method stub
//				System.out.println("nini");
//			}
//		};
//		  PrintWriter pw = new PrintWriter(os, true);  
//        pw.print("Hello,Server");  
//        pw.close(); 
		
		//將(文字,html css js)輸出到瀏覽器,
		
		//直接輸出到瀏覽器,這兩句是必須設定的
		/**
		 *  response.setContentType()的String引數及對應型別
			<option   value="image/bmp">BMP</option>   
			<option   value="image/gif">GIF</option>   
			<option   value="image/jpeg">JPEG</option>   
			<option   value="image/tiff">TIFF</option>   
			<option   value="image/x-dcx">DCX</option>   
			<option   value="image/x-pcx">PCX</option>   
			<option   value="text/html">HTML</option>   
			<option   value="text/plain">TXT</option>   
			<option   value="text/xml">XML</option>   
			<option   value="application/afp">AFP</option>   
			<option   value="application/pdf">PDF</option>   
			<option   value="application/rtf">RTF</option>   
			<option   value="application/msword">MSWORD</option>   
			<option   value="application/vnd.ms-excel">MSEXCEL</option>   
			<option   value="application/vnd.ms-powerpoint">MSPOWERPOINT</option>   
			<option   value="application/wordperfect5.1">WORDPERFECT</option>   
			<option   value="application/vnd.lotus-wordpro">WORDPRO</option>   
			<option   value="application/vnd.visio">VISIO</option>   
			<option   value="application/vnd.framemaker">FRAMEMAKER</option>   
			<option   value="application/vnd.lotus-1-2-3">LOTUS123</option>
		 */
		response.setContentType("text/html;charset=utf-8");
		response.setCharacterEncoding("UTF-8");
		
		PrintWriter out=response.getWriter(); 
		out.println("你好"); 
		out.flush(); 
	}
	
	@RequestMapping("/write/image")
	public void writeImage(HttpServletRequest request,HttpServletResponse response) throws IOException{
		
		Integer width=800,height=400;
	
		BufferedImage buffImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        Graphics2D g = buffImg.createGraphics();
		
        // 將影象填充為白色
        g.setColor(Color.WHITE);
        g.fillRect(0, 0, width, height);
        
        // 畫邊框。
        g.setColor(Color.BLACK);
        g.drawRect(0, 0, width - 1, height - 1);
        
        g.setColor(Color.red);
        g.drawString("畫圖類", 200, 180);
		//直接輸出到瀏覽器,這兩句是必須設定的
		
        // 禁止影象快取。
        response.setHeader("Pragma", "no-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 0);

        response.setContentType("image/jpeg");

        // 將影象輸出到Servlet輸出流中。
        ServletOutputStream sos = response.getOutputStream();
        ImageIO.write(buffImg, "jpeg", sos);
        sos.close();
	}