Http协议笔记

/**
 * Servlet implementation class HelloServlet
 */
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//this.execute(request, response);
		
		//this.test1(response);
		//this.test2(response);
		//this.test3(response);
		test5(response);
	}

	private void test5(HttpServletResponse response) throws IOException {
		response.setHeader("content-disposition", "attachment;filename=apple.png");
		InputStream in = this.getServletContext().getResourceAsStream("/apple.png");
		int len = 0;
		byte[] buffer = new byte[1024];
		OutputStream out = response.getOutputStream();
		while(  (len=in.read(buffer)) >0 )
		{
			out.write(buffer, 0, len);
		}
	}
	
	public void test4( HttpServletResponse response) throws IOException
	{
		response.setHeader("refresh", "3;url='http://www.baidu.com'"); // will goto baidu after 3s
		String data = "refresh";
		response.getOutputStream().write(data.getBytes());
	}
	
	public void test3( HttpServletResponse response) throws IOException
	{
		response.setHeader("content-type", "image/png");
		InputStream in = this.getServletContext().getResourceAsStream("/apple.png");
		int len = 0;
		byte[] buffer = new byte[1024];
		OutputStream out = response.getOutputStream();
		while(  (len=in.read(buffer)) >0 )
		{
			out.write(buffer, 0, len);
		}
	}
	
	public void test2( HttpServletResponse response) throws IOException
	{
		String data = "jskdljasldjasldjsdlkasjdlkasjdlskdjd";
		System.out.println("before size is: " + data.getBytes().length);
		ByteArrayOutputStream bout = new ByteArrayOutputStream();
		GZIPOutputStream gout = new GZIPOutputStream(bout);
		gout.write(data.getBytes());
		gout.close();
		byte[] gzip = bout.toByteArray();
		System.out.println("after size is: " + gzip.length);
		
		response.setHeader("Content-Encoding", "gzip");
		response.setHeader("Content-Length", gzip.length+"");
		response.getOutputStream().write(gzip);		
	}

	public void test1( HttpServletResponse response)
	{
		response.setStatus(302);
		response.setHeader("location", "/WebTest/1.html");
	}
	
	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//this.execute(request, response);
	}
	

}


 

 

posted @ 2013-11-13 17:04  今晚打酱油_  阅读(141)  评论(0编辑  收藏  举报