亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? servletcontextwriter.java

?? struts的源代碼
?? JAVA
字號:
/*
 * $Id: ServletContextWriter.java 54929 2004-10-16 16:38:42Z germuska $ 
 *
 * Copyright 2000-2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.struts.util;

import java.io.PrintWriter;
import java.io.StringWriter;
import javax.servlet.ServletContext;

/**
 * A PrintWriter implementation that uses the logging facilities of a
 * <code>javax.servlet.ServletContext</code> to output its results.  Output
 * will be buffered until a newline character is output, <code>flush()</code>
 * is called, or until one of the <code>println()</code> methods is called.
 * Along the way, carriage return characters are skipped.
 *
 * @version $Rev: 54929 $ $Date: 2004-10-16 17:38:42 +0100 (Sat, 16 Oct 2004) $
 */
public class ServletContextWriter extends PrintWriter {


    // ----------------------------------------------------------- Constructors


    /**
     * Construct a ServletContextWriter associated with the specified
     * ServletContext instance.
     *
     * @param context The associated servlet context
     */
    public ServletContextWriter(ServletContext context) {

        super(new StringWriter());
        this.context = context;

    }


    // ------------------------------------------------------------- Properties


    /**
     * The buffer into which we accumulate lines to be logged.
     */
    protected StringBuffer buffer = new StringBuffer();


    /**
     * The servlet context with which we are associated.
     */
    protected ServletContext context = null;


    /**
     * The error state for this stream.
     */
    protected boolean error = false;


    // --------------------------------------------------------- Public Methods


    /**
     * Flush the stream and check for its error state.  <strong>IMPLEMENTATION
     * NOTE</strong> - our associated servlet context gives no indication of
     * problems with logging, so the only way this method will return
     * <code>true</code> is if <code>setError()</code> is called.
     */
    public boolean checkError() {

        flush();
        return (error);

    }


    /**
     * Close the stream.
     */
    public void close() {

        flush();

    }


    /**
     * Flush the stream.
     */
    public void flush() {

        if (buffer.length() > 0) {
            context.log(buffer.toString());
            buffer.setLength(0);
        }

    }


    /**
     * Print a boolean value.
     *
     * @param b The value to be printed
     */
    public void print(boolean b) {

        write(String.valueOf(b));

    }


    /**
     * Print a character value.
     *
     * @param c The value to be printed
     */
    public void print(char c) {

        write(c);

    }


    /**
     * Print a character array.
     *
     * @param c The character array to be printed
     */
    public void print(char c[]) {

        for (int i = 0; i < c.length; i++)
            write(c[i]);

    }


    /**
     * Print a double value.
     *
     * @param d The value to be printed
     */
    public void print(double d) {

        write(String.valueOf(d));

    }


    /**
     * Print a float value.
     *
     * @param f The value to be printed
     */
    public void print(float f) {

        write(String.valueOf(f));

    }


    /**
     * Print an integer value.
     *
     * @param i The value to be printed
     */
    public void print(int i) {

        write(String.valueOf(i));

    }


    /**
     * Print a long value.
     *
     * @param l The value to be printed
     */
    public void print(long l) {

        write(String.valueOf(l));

    }


    /**
     * Print an object.
     *
     * @param o The value to be printed
     */
    public void print(Object o) {

        write(o.toString());

    }


    /**
     * Print a String value.
     *
     * @param s The value to be printed
     */
    public void print(String s) {

        int len = s.length();
        for (int i = 0; i < len; i++)
            write(s.charAt(i));

    }


    /**
     * Terminate the current line and flush the buffer.
     */
    public void println() {

        flush();

    }


    /**
     * Print a boolean value and terminate the line.
     *
     * @param b The value to be printed
     */
    public void println(boolean b) {

        println(String.valueOf(b));

    }


    /**
     * Print a character value and terminate the line.
     *
     * @param c The value to be printed
     */
    public void println(char c) {

        write(c);
        println();

    }


    /**
     * Print a character array and terminate the line.
     *
     * @param c The character array to be printed
     */
    public void println(char c[]) {

        for (int i = 0; i < c.length; i++)
            print(c[i]);
        println();

    }


    /**
     * Print a double value and terminate the line.
     *
     * @param d The value to be printed
     */
    public void println(double d) {

        println(String.valueOf(d));

    }


    /**
     * Print a float value and terminate the line.
     *
     * @param f The value to be printed
     */
    public void println(float f) {

        println(String.valueOf(f));

    }


    /**
     * Print an integer value and terminate the line.
     *
     * @param i The value to be printed
     */
    public void println(int i) {

        println(String.valueOf(i));

    }


    /**
     * Print a long value and terminate the line.
     *
     * @param l The value to be printed
     */
    public void println(long l) {

        println(String.valueOf(l));

    }


    /**
     * Print an object and terminate the line.
     *
     * @param o The value to be printed
     */
    public void println(Object o) {

        println(o.toString());

    }


    /**
     * Print a String value and terminate the line.
     *
     * @param s The value to be printed
     */
    public void println(String s) {

        int len = s.length();
        for (int i = 0; i < len; i++)
            print(s.charAt(i));
        println();

    }


    /**
     * Set the error state for this stream.
     */
    public void setError() {

        this.error = true;

    }


    /**
     * Write a single character to this stream.
     *
     * @param c The character to be written
     */
    public void write(char c) {

        if (c == '\n')
            flush();
        else if (c != '\r')
            buffer.append(c);

    }


    /**
     * Write a single character to this stream.
     *
     * @param c The character to be written
     */
    public void write(int c) {

        write((char) c);

    }


    /**
     * Write an array of charaters to this stream.
     *
     * @param buf The character array to be written
     */
    public void write(char buf[]) {

        for (int i = 0; i < buf.length; i++)
            write(buf[i]);

    }


    /**
     * Write the specified subset of an array of characters to this stream.
     *
     * @param buf The character array from which to write
     * @param off The zero-relative starting offset to write
     * @param len The number of characters to write
     */
    public void write(char buf[], int off, int len) {

        for (int i = off; i < len; i++)
            write(buf[i]);

    }


    /**
     * Write a String to this stream.
     *
     * @param s The string to be written
     */
    public void write(String s) {

        int len = s.length();
        for (int i = 0; i < len; i++)
            write(s.charAt(i));

    }


    /**
     * Write the specified portion of a String to this stream.
     *
     * @param s The String from which to write
     * @param off The zero-relative starting offset to write
     * @param len The number of characters to write
     */
    public void write(String s, int off, int len) {

        for (int i = off; i < len; i++)
            write(s.charAt(i));

    }


}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91无套直看片红桃| 国产女主播一区| 国产麻豆精品视频| 亚洲成av人综合在线观看| 亚洲欧美自拍偷拍色图| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 欧美不卡激情三级在线观看| 亚洲综合一区二区三区| 亚洲一区二区在线免费观看视频| 在线精品视频一区二区| 依依成人精品视频| 欧美日韩中文字幕精品| 亚洲欧洲av一区二区三区久久| 国产亲近乱来精品视频| 久久综合色婷婷| 91在线一区二区| 国产酒店精品激情| 久久伊99综合婷婷久久伊| 亚洲夂夂婷婷色拍ww47| 91福利在线观看| 久久国产精品99久久久久久老狼| 亚洲国产精品久久一线不卡| 欧美伊人久久久久久久久影院| 亚洲三级小视频| 国产精品1024| 欧美精品粉嫩高潮一区二区| 自拍偷拍国产精品| 国产视频一区在线播放| 亚洲精品视频免费观看| 成人激情午夜影院| 亚洲男女毛片无遮挡| 日本一区二区三区久久久久久久久不 | 亚洲日本va午夜在线电影| 成人欧美一区二区三区视频网页 | 成人一区二区三区视频| 懂色一区二区三区免费观看 | 国产精品素人一区二区| 久久激五月天综合精品| 日韩精品一区二区三区中文不卡 | 91性感美女视频| 国产电影一区二区三区| 欧美私模裸体表演在线观看| 日韩一级完整毛片| 99riav一区二区三区| 欧美国产精品中文字幕| 一区二区成人在线视频| 国产一区美女在线| 日韩亚洲欧美成人一区| 亚洲美女视频在线| 国产成人在线电影| 2023国产精品| 亚洲午夜在线观看视频在线| 国产一区二区在线视频| 亚洲乱码国产乱码精品精可以看| 国产91精品欧美| www.亚洲精品| 99re这里都是精品| 日韩一区二区免费视频| 亚洲国产日产av| 欧美日韩成人一区| 亚洲国产精品一区二区尤物区| 欧美日韩综合在线免费观看| 午夜亚洲国产au精品一区二区| 99在线精品一区二区三区| 国产午夜精品一区二区三区视频 | 91高清在线观看| 欧美一二区视频| 视频在线观看一区| 色婷婷狠狠综合| 亚洲第一电影网| 国产精品美女久久久久高潮| 成人黄动漫网站免费app| 一区二区三区成人| 日本美女一区二区三区| 欧美一区二区三区啪啪| 蜜桃视频第一区免费观看| 久久久.com| 一个色在线综合| 欧美视频中文字幕| 成人福利视频在线看| 精品国产亚洲在线| 自拍偷拍欧美精品| 中文一区在线播放| 欧美日韩视频在线观看一区二区三区| 精品写真视频在线观看 | 日本一区二区三区免费乱视频| 7777精品伊人久久久大香线蕉超级流畅| 日韩成人免费在线| 日韩欧美国产wwwww| 在线精品视频一区二区三四| 欧美喷水一区二区| 欧美二区三区91| 欧美韩日一区二区三区四区| 91丨porny丨蝌蚪视频| 99re热这里只有精品视频| 美女脱光内衣内裤视频久久影院| 国产精品福利电影一区二区三区四区| 日韩精品三区四区| 美女视频第一区二区三区免费观看网站| 日韩黄色免费网站| 亚洲天堂a在线| 久久精品人人爽人人爽| 欧美成人欧美edvon| 国产亚洲综合在线| 久久久久久一级片| 精品日韩一区二区三区| 久久久精品天堂| 国产日韩一级二级三级| 337p粉嫩大胆噜噜噜噜噜91av | 欧美日韩中文一区| 99精品欧美一区| 一本大道久久a久久精二百| 99久久免费视频.com| 久久综合色一综合色88| 最近日韩中文字幕| 麻豆精品新av中文字幕| 99视频超级精品| 日韩丝袜美女视频| 久久久www成人免费毛片麻豆 | 制服丝袜亚洲网站| 精品日韩一区二区三区| 丝袜美腿亚洲一区二区图片| 成人深夜福利app| 欧美一区二区三区视频在线观看| 亚洲你懂的在线视频| 国产一区二区三区电影在线观看| 色婷婷激情综合| 久久久久久免费网| 精品奇米国产一区二区三区| 久久一二三国产| 国产精品欧美一区喷水| 激情综合五月天| 日韩三级视频在线看| 亚洲成人手机在线| 精品播放一区二区| 成人视屏免费看| 久久女同性恋中文字幕| 日韩国产精品久久| 欧美精品第1页| 蜜臀91精品一区二区三区| 911精品国产一区二区在线| 国产午夜精品一区二区三区视频| 成人av动漫在线| 欧洲av在线精品| 亚洲啪啪综合av一区二区三区| 国产成人av影院| 国产日韩v精品一区二区| 久久精品99国产精品| 欧美色图在线观看| 免费久久精品视频| 色狠狠综合天天综合综合| 亚洲第一久久影院| 欧美日韩精品一区二区三区四区| 国产一区激情在线| 亚洲欧美日韩国产综合| www.色精品| 日韩欧美国产综合在线一区二区三区 | 亚洲男女毛片无遮挡| 亚洲精品久久久蜜桃| 看国产成人h片视频| 欧美中文一区二区三区| 欧美mv日韩mv亚洲| 在线区一区二视频| 国产成人av电影免费在线观看| 精品国产第一区二区三区观看体验| 另类小说色综合网站| 亚洲日本韩国一区| 久久综合九色综合97_久久久| 成人av在线影院| 国产ts人妖一区二区| 亚洲精品免费播放| 欧美电影免费观看高清完整版在| 成av人片一区二区| 丁香天五香天堂综合| 国模少妇一区二区三区| 亚洲精品写真福利| 99久久99久久精品免费观看| 久久精品999| 成人aa视频在线观看| 国产精品三级在线观看| 99r国产精品| 夫妻av一区二区| 成人av网站在线| 蜜桃视频免费观看一区| 亚欧色一区w666天堂| 亚洲免费看黄网站| 欧美激情一区二区| 久久蜜臀精品av| 欧美韩日一区二区三区四区| 国产欧美精品一区二区色综合 | 色综合天天综合网天天狠天天| 极品少妇xxxx精品少妇偷拍| 国产成人午夜精品影院观看视频 | 免费久久99精品国产| 日韩电影在线看| 日韩av电影免费观看高清完整版在线观看| 中文字幕日韩av资源站| 亚洲欧美国产高清| 中文字幕佐山爱一区二区免费| 亚洲精品自拍动漫在线|