隨筆-17  評論-6  文章-1  trackbacks-0
            2006年7月10日
          find   basedir   -name   CVS   |xargs   rm   -rf  
          posted @ 2007-04-17 14:32 小鐵匠 閱讀(325) | 評論 (0)編輯 收藏


          ??? public void doFilter(ServletRequest request, ServletResponse response,
          ??????????? FilterChain chain) throws IOException, ServletException {

          ??????? HttpServletRequest req = (HttpServletRequest) request;

          ??????? int length = req.getContentLength();
          ??????? if (length > 0) {
          ??????????? BufferedRequestWrapper bufferedRequest = new BufferedRequestWrapper(req,length);

          ??????????? InputStream is = bufferedRequest.getInputStream();
          ??????????? byte[] content = new byte[length];
          ???????????
          ??????????? int pad = 0;
          ??????????? while(pad < length){
          ??????????????? pad += is.read(content, pad, length);
          ??????????? }

          ????????????request = bufferedRequest;
          ??????? }
          ??????? chain.doFilter(request, response);??????
          ??? }


          BufferedRequestWrapper .java

          import java.io.ByteArrayInputStream;
          import java.io.ByteArrayOutputStream;
          import java.io.IOException;
          import java.io.InputStream;

          import javax.servlet.ServletInputStream;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletRequestWrapper;

          public class BufferedRequestWrapper extends HttpServletRequestWrapper {

          ??? ByteArrayInputStream bais;

          ??? BufferedServletInputStream bsis;

          ??? byte[] buffer;

          ??? public BufferedRequestWrapper(HttpServletRequest req,int length) throws IOException {
          ??????? super(req);
          ??????? // Read InputStream and store its content in a buffer.
          ??????? InputStream is = req.getInputStream();
          ??????? buffer = new byte[length];

          ??????? int pad = 0;
          ??????? while(pad < length){
          ??????????? pad += is.read(buffer, pad, length);
          ??????? }
          ??? }

          ??? public ServletInputStream getInputStream() {
          ??????? try {
          ??????????? // Generate a new InputStream by stored buffer
          ??????????? bais = new ByteArrayInputStream(buffer);
          ??????????? // Istantiate a subclass of ServletInputStream
          ??????????? // (Only ServletInputStream or subclasses of it are accepted by the
          ??????????? // servlet engine!)
          ??????????? bsis = new BufferedServletInputStream(bais);
          ??????? } catch (Exception ex) {
          ??????????? ex.printStackTrace();
          ??????? } finally {
          ??????? }
          ??????? return bsis;
          ??? }

          }




          BufferedServletInputStream .java

          import java.io.*;
          import javax.servlet.ServletInputStream;

          /*
          ?Subclass of ServletInputStream needed by the servlet engine.
          ?All inputStream methods are wrapped and are delegated to
          ?the ByteArrayInputStream (obtained as constructor parameter)!
          ?*/
          public class BufferedServletInputStream extends ServletInputStream {

          ??? ByteArrayInputStream bais;

          ??? public BufferedServletInputStream(ByteArrayInputStream bais) {
          ??????? this.bais = bais;
          ??? }

          ??? public int available() {
          ??????? return bais.available();
          ??? }

          ??? public int read() {
          ??????? return bais.read();
          ??? }

          ??? public int read(byte[] buf, int off, int len) {
          ??????? return bais.read(buf, off, len);
          ??? }

          }

          posted @ 2006-10-25 17:01 小鐵匠 閱讀(2749) | 評論 (1)編輯 收藏
          $ gcc -o x11fred -L/usr/openwin/lib x11fred.c -lX11
          will compile and link a program called x11fred using the version of the library libX11 found in the
          /usr/openwin/lib directory.
          posted @ 2006-07-10 14:54 小鐵匠 閱讀(428) | 評論 (0)編輯 收藏


          My blog is worth $10,000,000.00 ^_^.
          How much is your blog worth?

          <2006年7月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          搜索

          •  

          積分與排名

          • 積分 - 58785
          • 排名 - 887

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 麻栗坡县| 龙江县| 连平县| 蒙城县| 新闻| 孝感市| 二手房| 桂林市| 汽车| 龙海市| 安远县| 昌都县| 启东市| 尚义县| 昌邑市| 靖边县| 南开区| 万载县| 石屏县| 天峻县| 化德县| 偃师市| 越西县| 兴义市| 弋阳县| 许昌市| 滨海县| 红河县| 丹江口市| 蚌埠市| 乐至县| 枝江市| 清新县| 财经| 镇平县| 宁蒗| 鹤峰县| 临漳县| 正阳县| 凉城县| 西乌珠穆沁旗|