<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

    有發送人名稱中文支持,支持bytes格式附件,附件中文支持

    ? public static boolean send(String fromName, String fromAddr, String to, String subject, String
    ???????????????????????????? body, String fileName, byte[] file) throws
    ????? Exception {
    ??????? //發送人名稱,用base64編碼,再加上特殊標志
    ??????? fromName = "=?GB2312?B?" + new String(base64.encode((fromName).getBytes()))? + "?=";
    ??? Properties props = new Properties();
    ??? Session session = Session.getInstance(props, null);
    ??? props.put("mail.smtp.host", Constants.mailhost);
    ??? props.put("mail.smtp.auth", "false");?
    ??? Message msg = new MimeMessage(session);
    ????? msg.setFrom(new InternetAddress(fromAddr,fromName));
    //后面的BodyPart將加入到此處創建的Multipart中
    ??? Multipart mp = new MimeMultipart();
    // Create the message part
    ??? BodyPart messageBodyPart = new MimeBodyPart();

    ??? // Fill the message
    ??? messageBodyPart.setText(body);

    ??? mp.addBodyPart(messageBodyPart);

    ????? /*發送附件*/
    ???? if (file != null && file.length > 0) {
    ?????? //利用枚舉器方便的遍歷集合
    ???????? MimeBodyPart mbp = new MimeBodyPart();?
    //???????? File fileTmp = null;
    ???????? //得到數據源
    //???????? FileDataSource fds = new FileDataSource(fileTmp);
    ???????? //得到附件本身并至入BodyPart
    ???????? mbp.setDataHandler(new DataHandler(new ByteArrayDataSource(file,"application/octet-stream")));
    ???????? //得到文件名同樣至入BodyPart
    ???????? mbp.setFileName(MimeUtility.encodeWord(fileName,"GB2312",null));
    ???????? mp.addBodyPart(mbp);
    ???? }
    ???
    ??? //Multipart加入到信件
    ??? msg.setContent(mp);

    ??? msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
    ??? msg.setSubject(subject);

    ??? msg.setHeader("X-Mailer", "personal Email Sender");
    ??? msg.setSentDate(new Date());

    ??? Transport transport = session.getTransport("smtp");

    ??? //添加認證信息
    ??? transport.connect(Constants.mailhost, Constants.user, Constants.pwd);
    ??? transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO));
    ??? transport.close();
    ??? return true;
    ? }




    import java.io.*;
    import javax.activation.*;

    public class ByteArrayDataSource implements DataSource {
    ??? /** * Data to write. */
    ??? private byte[] _data;

    ??? /** * Content-Type. */
    ??? private String _type;

    ??? /* Create a datasource from an input stream */
    ??? public ByteArrayDataSource(InputStream is, String type) {
    ??????? _type = type;
    ??????? try {
    ??????????? ByteArrayOutputStream os = new ByteArrayOutputStream();
    ??????????? int ch;

    ??????????? // XXX : must be made more efficient by
    ??????????? // doing buffered reads, rather than one byte reads
    ??????????? while ((ch = is.read()) != -1)
    ??????????????? os.write(ch);
    ??????????? _data = os.toByteArray();
    ??????? } catch (IOException ioe) {
    ??????? }
    ??? }

    ??? /* Create a datasource from a byte array */
    ??? public ByteArrayDataSource(byte[] data, String type) {
    ??????? _data = data;
    ??????? _type = type;
    ??? }

    ??? /* Create a datasource from a String */
    ??? public ByteArrayDataSource(String data, String type) {
    ??????? try {
    ??????????? // Assumption that the string contains only ascii
    ??????????? // characters ! Else just pass in a charset into this
    ??????????? // constructor and use it in getBytes()
    ??????????? _data = data.getBytes("iso-8859-1");
    ??????? } catch (UnsupportedEncodingException uee) {
    ??????? }
    ??????? _type = type;
    ??? }

    ??? public InputStream getInputStream() throws IOException {
    ??????? if (_data == null)
    ??????????? throw new IOException("no data");
    ??????? return new ByteArrayInputStream(_data);
    ??? }

    ??? public OutputStream getOutputStream() throws IOException {
    ??????? throw new IOException("cannot do this");
    ??? }

    ??? public String getContentType() {
    ??????? return _type;
    ??? }

    ??? public String getName() {
    ??????? return "dummy";
    ??? }
    }

    posted @ 2006-05-10 18:02 小鐵匠 閱讀(642) | 評論 (1)編輯 收藏
    主站蜘蛛池模板: 日韩a级无码免费视频| 国产性爱在线观看亚洲黄色一级片 | 亚洲免费在线播放| 亚洲AV无码之日韩精品| 黄色成人网站免费无码av| 九九精品成人免费国产片| 一级做a爰片久久毛片免费陪| 亚洲首页国产精品丝袜| 亚洲香蕉网久久综合影视| 国产jizzjizz视频全部免费| 99视频在线精品免费观看6| 久久国产乱子伦免费精品| 怡红院免费的全部视频| 永久免费精品影视网站| 亚洲AV永久无码天堂影院| 亚洲人成网站在线观看播放动漫| 亚洲av丰满熟妇在线播放| 亚洲乳大丰满中文字幕| 亚洲国产专区一区| 亚洲av无码天堂一区二区三区| 在线免费视频一区二区| 免费无码AV片在线观看软件| 亚洲精品国产免费| 99re免费99re在线视频手机版| 国内精品免费在线观看| 少妇性饥渴无码A区免费 | 免费a级毛片无码a∨蜜芽试看| 16女性下面扒开无遮挡免费| 国产一精品一av一免费爽爽| 免费久久人人爽人人爽av| 水蜜桃视频在线观看免费播放高清| 亚洲精品视频免费观看| 国产精品免费一区二区三区| 一个人免费观看日本www视频 | 亚洲精品456播放| 国产成人精品久久亚洲| 国产亚洲一区二区三区在线不卡 | 免费国产成人α片| 99热在线免费观看| 国产大片免费网站不卡美女| 在线看片韩国免费人成视频|