获取请求头、设置响应头、设置缓冲区

获取请求头

  获取请求头使用HttpServletRequest对象的getHeader()、getHeaders()、getHeaderNames()、getIntHeader()、getDateHeader()。

设置响应头

  设置响应头可以使用HttpServletResponse对象上的setHeader()、addHeader()。setHeader()用于设置响应头名称与值,addHeader()是在同一个响应头名称上附加值。
  如果响应头的值是整数,使用setIntHeader()、addIntHeader()方法。
  如果响应头的值是日期,则可以使用setDateHeader()、addDateHeader()方法。

  所有的标头设置,必须在响应确认之前,在响应确认之后设置的标头,会被容器忽略。


缓冲区

  容器可以但非必要对响应进行缓冲,通常容器默认都会对响应进行缓冲。 


关于缓冲区的API

  HttpServletResponse有关缓冲的方法有:

    1、getBufferSize() 

    返回当前缓冲区的大小,单位是字节,默认情况下是8192,即8KB大小 

    2、setBufferSize()  

    setBufferSize()必须在调用HttpServletResponse的getWriter()或getOutputStream()方法之前调用,这样,所取得的Writer或ServletOutputStream才会套用这个设置。

在调用HttpServletResponse的getWriter()或getOutputStream()方法之后调用setBufferSize(),会抛出IllegalStateException

    3、isCommitted()

    在缓冲区未满之前,设置的响应相关内容都不会真正传至客户端,可以使用isCommitted()看看是否响应已确认。

    4、reset()

    如果想要重置所有响应信息,可以调用reset()方法,这会连同已设置的响应头和状态码一并清除。

    5、resetBuffer()

    调用resetBuffer()会重置响应内容,但不会清除已设置的响应头内容和状态码。

    6、flushBuffer()

    flushBuffer()会清除(flush)所有缓冲区中已设置的响应信息至客户端。

    reset()、resetBuffer()必须在响应未确认前调用,如果在响应已确认后调用reset()、resetBuffer()会抛出IllegalStateException。


缓冲区刷新

  HttpServletResponse对象若被容器关闭,则必须清除所有的响应内容,响应对象被关闭的时机点有以下几种:
    1、Servlet的service()方法已结束。
    2、响应的内容长度超过HttpServletResponse的setContentLength()所设置的长度。
    响应的内容超过响应头中指定的body长度的上限时会自动刷新缓冲区,并关闭输出流;因为标头中规定body只能有这么多,超出部分不予以提交。
设置响应body大小上限的方法是:void HttpServletResponse.setContentLength(int len);单位是字节,该方法会直接设置Content-Length标头。
    3、调用了sendRedirect()方法
    4、调用了sendError()方法
    5、调用了AsyncContext的complete()方法

  另外,下面两种情况缓冲区也会刷新并输出到客户端

    1、响应缓冲区已满。一个Response只有一个缓冲区,如果所有要提交给客户端的内容超过缓冲区大小,那么就会分若干次提交,每次缓冲区满就会提交一次。
    2、手动调用flushBuffer方法


 Demo

package com.test;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/flush.do")
public class BufferServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html; charset=UTF-8");

        // 设置body长度上限,设置为4000后,不会输出全文
        //response.setContentLength(4000);
        // 设置缓冲区大小,单位是字节,缺省情况下BufferSize大小是8192字节,即8192B,即或8KB
        //response.setBufferSize(8192*2);
        int bufferSize = response.getBufferSize();

        PrintWriter out = response.getWriter();
        // 输出缓存区大小
        out.println("缓存区大小: " + bufferSize);
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<meta charset="UTF-8">");
        out.println("<title>Title</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>第一回·宴桃园豪杰三结义 斩黄巾英雄首立功</h1>");
        out.println("<p>滚滚长江东逝水,浪花淘尽英雄。是非成败转头空。青山依旧在,几度夕阳红。 白发渔樵江渚上,惯看秋月春风。一壶浊酒喜相逢。古今多少事,都付笑谈中。</p>");
        out.println("<p>——调寄《临江仙》</p>");
        out.println("<p>话说天下大势,分久必合,合久必分。周末七国分争,并入于秦。及秦灭之后,楚、汉分争,又并入于汉。汉朝自高祖斩白蛇而起义,一统天下,后来光武中兴,传至献帝,遂分为三国。推其致乱之由,殆始于桓、灵二帝。桓帝禁锢善类,崇信宦官。及桓帝崩,灵帝即位,大将军窦武、太傅陈蕃,共相辅佐。时有宦官曹节等弄权,窦武、陈蕃谋诛之,机事不密,反为所害,中涓自此愈横。</p>");
        out.println("<p>建宁二年四月望日,帝御温德殿。方升座,殿角狂风骤起。只见一条大青蛇,从梁上飞将下来,蟠于椅上。帝惊倒,左右急救入宫,百官俱奔避。须臾,蛇不见了。忽然大雷大雨,加以冰雹,落到半夜方止,坏却房屋无数。建宁四年二月,洛阳地震;又海水泛溢,沿海居民,尽被大浪卷入海中。光和元年,雌鸡化雄。六月朔,黑气十余丈,飞入温雄殿中。秋七月,有虹现于玉堂;五原山岸,尽皆崩裂。种种不祥,非止一端。帝下诏问群臣以灾异之由,议郎蔡邕上疏,以为蜺堕鸡化,乃妇寺干政之所致,言颇切直。帝览奏叹息,因起更衣。曹节在后窃视,悉宣告左右;遂以他事陷邕于罪,放归田里。后张让、赵忠、封谞、段珪、曹节、侯览、蹇硕、程旷、夏惲、郭胜十人朋比为奸,号为“十常侍”。帝尊信张让,呼为“阿父”。朝政日非,以致天下人心思乱,盗贼蜂起。</p>");
        out.println("<p>时巨鹿郡有兄弟三人,一名张角,一名张宝,一名张梁。那张角本是个不第秀才,因入山采药,遇一老人,碧眼童颜,手执藜杖,唤角至一洞中,以天书三卷授之,曰:“此名《太平要术》,汝得之,当代天宣化,普救世人;若萌异心,必获恶报。”角拜问姓名。老人曰:“吾乃南华老仙也。”言讫,化阵清风而去。角得此书,晓夜攻习,能呼风唤雨,号为“太平道人”。中平元年正月内,疫气流行,张角散施符水,为人治病,自称“大贤良师”。角有徒弟五百余人,云游四方,皆能书符念咒。次后徒众日多,角乃立三十六方,大方万余人,小方六七千,各立渠帅,称为将军;讹言:“苍天已死,黄天当立;岁在甲子,天下大吉。”令人各以白土,书“甲子”二字于家中大门上。青、幽、徐、冀、荆、扬、兖、豫八州之人,家家侍奉大贤良师张角名字。角遣其党马元义,暗赍金帛,结交中涓封谞,以为内应。角与二弟商议曰:“至难得者,民心也。今民心已顺,若不乘势取天下,诚为可惜。”遂一面私造黄旗,约期举事;一面使弟子唐周,驰书报封谞。唐周乃径赴省中告变。帝召大将军何进调兵擒马元义,斩之;次收封谞等一干人下狱。张角闻知事露,星夜举兵,自称“天公将军”,张宝称“地公将军”,张梁称“人公将军”。申言于众曰:“今汉运将终,大圣人出。汝等皆宜顺天从正,以乐太平。”四方百姓,裹黄巾从张角反者四五十万。贼势浩大,官军望风而靡。何进奏帝火速降诏,令各处备御,讨贼立功。一面遣中郎将卢植、皇甫嵩、朱俊,各引精兵、分三路讨之。</p>");
        out.println("<p>且说张角一军,前犯幽州界分。幽州太守刘焉,乃江夏竟陵人氏,汉鲁恭王之后也。当时闻得贼兵将至,召校尉邹靖计议。靖曰:“贼兵众,我兵寡,明公宜作速招军应敌。”刘焉然其说,随即出榜招募义兵。</p>");
        out.println("<p>榜文行到涿县,引出涿县中一个英雄。那人不甚好读书;性宽和,寡言语,喜怒不形于色;素有大志,专好结交天下豪杰;生得身长七尺五寸,两耳垂肩,双手过膝,目能自顾其耳,面如冠玉,唇若涂脂;中山靖王刘胜之后,汉景帝阁下玄孙,姓刘,名备,字玄德。昔刘胜之子刘贞,汉武时封涿鹿亭侯,后坐酎金失侯,因此遗这一枝在涿县。玄德祖刘雄,父刘弘。弘曾举孝廉,亦尝作吏,早丧。玄德幼孤,事母至孝;家贫,贩屦织席为业。家住本县楼桑村。其家之东南,有一大桑树,高五丈余,遥望之,童童如车盖。相者云:“此家必出贵人。”玄德幼时,与乡中小儿戏于树下,曰:“我为天子,当乘此车盖。”叔父刘元起奇其言,曰:“此儿非常人也!”因见玄德家贫,常资给之。年十五岁,母使游学,尝师事郑玄、卢植,与公孙瓚等为友。</p>");
        out.println("<p>及刘焉发榜招军时,玄德年已二十八岁矣。当日见了榜文,慨然长叹。随后一人厉声言曰:“大丈夫不与国家出力,何故长叹?”玄德回视其人,身长八尺,豹头环眼,燕颔虎须,声若巨雷,势如奔马。玄德见他形貌异常,问其姓名。其人曰:“某姓张,名飞,字翼德。世居涿郡,颇有庄田,卖酒屠猪,专好结交天下豪杰。恰才见公看榜而叹,故此相问。”玄德曰:“我本汉室宗亲,姓刘,名备。今闻黄巾倡乱,有志欲破贼安民,恨力不能,故长叹耳。”飞曰:“吾颇有资财,当招募乡勇,与公同举大事,如何。”玄德甚喜,遂与同入村店中饮酒。</p>");
        out.println("<p>正饮间,见一大汉,推着一辆车子,到店门首歇了,入店坐下,便唤酒保:“快斟酒来吃,我待赶入城去投军。”玄德看其人:身长九尺,髯长二尺;面如重枣,唇若涂脂;丹凤眼,卧蚕眉,相貌堂堂,威风凛凛。玄德就邀他同坐,叩其姓名。其人曰:“吾姓关,名羽,字长生,后改云长,河东解良人也。因本处势豪倚势凌人,被吾杀了,逃难江湖,五六年矣。今闻此处招军破贼,特来应募。”玄德遂以己志告之,云长大喜。同到张飞庄上,共议大事。飞曰:“吾庄后有一桃园,花开正盛;明日当于园中祭告天地,我三人结为兄弟,协力同心,然后可图大事。”玄德、云长齐声应曰:“如此甚好。”</p>");
        out.println("<p>次日,于桃园中,备下乌牛白马祭礼等项,三人焚香再拜而说誓曰:“念刘备、关羽、张飞,虽然异姓,既结为兄弟,则同心协力,救困扶危;上报国家,下安黎庶。不求同年同月同日生,只愿同年同月同日死。皇天后土,实鉴此心,背义忘恩,天人共戮!”誓毕,拜玄德为兄,关羽次之,张飞为弟。祭罢天地,复宰牛设酒,聚乡中勇士,得三百余人,就桃园中痛饮一醉。来日收拾军器,但恨无马匹可乘。正思虑间,人报有两个客人,引一伙伴当,赶一群马,投庄上来。玄德曰:“此天佑我也!”三人出庄迎接。原来二客乃中山大商:一名张世平,一名苏双,每年往北贩马,近因寇发而回。玄德请二人到庄,置酒管待,诉说欲讨贼安民之意。二客大喜,愿将良马五十匹相送;又赠金银五百两,镔铁一千斤,以资器用。</p>");
        out.println("<p>玄德谢别二客,便命良匠打造双股剑。云长造青龙偃月刀,又名“冷艳锯”,重八十二斤。张飞造丈八点钢矛。各置全身铠甲。共聚乡勇五百余人,来见邹靖。邹靖引见太守刘焉。三人参见毕,各通姓名。玄德说起宗派,刘焉大喜,遂认玄德为侄。不数日,人报黄巾贼将程远志统兵五万来犯涿郡。刘焉令邹靖引玄德等三人,统兵五百,前去破敌。玄德等欣然领军前进,直至大兴山下,与贼相见。贼众皆披发,以黄巾抹额。当下两军相对,玄德出马,左有云长,右有翼德,扬鞭大骂:“反国逆贼,何不早降!”程远志大怒,遣副将邓茂出战。张飞挺丈八蛇矛直出,手起处,刺中邓茂心窝,翻身落马。程远志见折了邓茂,拍马舞刀,直取张飞。云长舞动大刀,纵马飞迎。程远志见了,早吃一惊,措手不及,被云长刀起处,挥为两段。后人有诗赞二人曰:英雄露颖在今朝,一试矛兮一试刀。初出便将威力展,三分好把姓名标。</p>");
        out.println("<p>众贼见程远志被斩,皆倒戈而走。玄德挥军追赶,投降者不计其数,大胜而回。刘焉亲自迎接,赏劳军士。次日,接得青州太守龚景牒文,言黄巾贼围城将陷,乞赐救援。刘焉与玄德商议。玄德曰:“备愿往救之。”刘焉令邹靖将兵五千,同玄德、关、张,投青州来。贼众见救军至,分兵混战。玄德兵寡不胜,退三十里下寨。</p>");
        out.println("<p>玄德谓关、张曰:“贼众我寡;必出奇兵,方可取胜。”乃分关公引一千军伏山左,张飞引一千军伏山右,鸣金为号,齐出接应。次日,玄德与邹靖引军鼓噪而进。贼众迎战,玄德引军便退。贼众乘势追赶,方过山岭,玄德军中一齐鸣金,左右两军齐出,玄德麾军回身复杀。三路夹攻,贼众大溃。直赶至青州城下,太守龚景亦率民兵出城助战。贼势大败,剿戮极多,遂解青州之围。后人有诗赞玄德曰:运筹决算有神功,二虎还须逊一龙。初出便能垂伟绩,自应分鼎在孤穷。  </p>");
        out.println("<p>龚景犒军毕,邹靖欲回。玄德曰:“近闻中郎将卢植与贼首张角战于广宗,备昔曾师事卢植,欲往助之。”于是邹靖引军自回,玄德与关、张引本部五百人投广宗来。至卢植军中,入帐施礼,具道来意。卢植大喜,留在帐前听调。</p>");
        out.println("<p>时张角贼众十五万,植兵五万,相拒于广宗,未见胜负。植谓玄德曰:“我今围贼在此,贼弟张梁、张宝在颍川,与皇甫嵩、朱俊对垒。汝可引本部人马,我更助汝一千官军,前去颍川打探消息,约期剿捕。”玄德领命,引军星夜投颍川来。</p>");
        out.println("<p>时皇甫嵩、朱俊领军拒贼,贼战不利,退入长社,依草结营。嵩与俊计曰:“贼依草结营,当用火攻之。”遂令军士,每人束草一把,暗地埋伏。其夜大风忽起。二更以后,一齐纵火,嵩与俊各引兵攻击贼寨,火焰张天,贼众惊慌,马不及鞍,人不及甲,四散奔走。</p>");
        out.println("<p>杀到天明,张梁、张宝引败残军士,夺路而走。忽见一彪军马,尽打红旗,当头来到,截住去路。为首闪出一将,身长七尺,细眼长髯,官拜骑都尉,沛国谯郡人也,姓曹,名操,字孟德。操父曹嵩,本姓夏侯氏,因为中常侍曹腾之养子,故冒姓曹。曹嵩生操,小字阿瞒,一名吉利。操幼时,好游猎,喜歌舞,有权谋,多机变。操有叔父,见操游荡无度,尝怒之,言于曹嵩。嵩责操。操忽心生一计,见叔父来,诈倒于地,作中风之状。叔父惊告嵩,嵩急视之。操故无恙。嵩曰:“叔言汝中风,今已愈乎?”操曰:“儿自来无此病;因失爱于叔父,故见罔耳。”嵩信其言。后叔父但言操过,嵩并不听。因此,操得恣意放荡。时人有桥玄者,谓操曰:“天下将乱,非命世之才不能济。能安之者,其在君乎?”南阳何颙见操,言:“汉室将亡,安天下者,必此人也。”汝南许劭,有知人之名。操往见之,问曰:“我何如人?”劭不答。又问,劭曰:“子治世之能臣,乱世之奸雄也。”操闻言大喜。年二十,举孝廉,为郎,除洛阳北部尉。初到任,即设五色棒十余条于县之四门,有犯禁者,不避豪贵,皆责之。中常侍蹇硕之叔,提刀夜行,操巡夜拿住,就棒责之。由是,内外莫敢犯者,威名颇震。后为顿丘令,因黄巾起,拜为骑都尉,引马步军五千,前来颍川助战。正值张梁、张宝败走,曹操拦住,大杀一阵,斩首万余级,夺得旗幡、金鼓、马匹极多。张梁、张宝死战得脱。操见过皇甫嵩、朱俊,随即引兵追袭张梁、张宝去了。</p>");
        out.println("<p>却说玄德引关、张来颍川,听得喊杀之声,又望见火光烛天,急引兵来时,贼已败散。玄德见皇甫嵩、朱俊,具道卢植之意。嵩曰:“张梁、张宝势穷力乏,必投广宗去依张角。玄德可即星夜往助。”玄德领命,遂引兵复回。得到半路,只见一簇军马,护送一辆槛车,车中之囚,乃卢植也。玄德大惊,滚鞍下马,问其缘故。植曰:“我围张角,将次可破;因角用妖术,未能即胜。朝廷差黄门左丰前来体探,问我索取贿赂。我答曰:‘军粮尚缺,安有余钱奉承天使?’左丰挟恨,回奏朝廷,说我高垒不战,惰慢军心;因此朝廷震怒,遣中郎将董卓来代将我兵,取我回京问罪。”张飞听罢,大怒,要斩护送军人,以救卢植。玄德急止之曰:“朝廷自有公论,汝岂可造次?”军士簇拥卢植去了。关公曰:“卢中郎已被逮,别人领兵,我等去无所依,不如且回涿郡。”玄德从其言,遂引军北行。行无二日,忽闻山后喊声大震。玄德引关、张纵马上高冈望之,见汉军大败,后面漫山塞野,黄巾盖地而来,旗上大书“天公将军”。玄德曰:“此张角也!可速战!”三人飞马引军而出。张角正杀败董卓,乘势赴来,忽遇三人冲杀,角军大乱,败走五十余里。</p>");
        out.println("<p>三人救了董卓回寨。卓问三人现居何职。玄德曰:“白身。”卓甚轻之,不为礼。玄德出,张飞大怒曰:“我等亲赴血战,救了这厮,他却如此无礼。若不杀之,难消我气!”便要提刀入帐来杀董卓。正是:人情势利古犹今,谁识英雄是白身?安得快人如翼德,尽诛世上负心人!</p>");
        out.println("<p>毕竟董卓性命如何,且听下文分解。</p>");

        // 重定向触发flush,不会有任何输出
        //response.sendRedirect("https://www.sina.com.cn");
        // 手动flush,后面的还会自动输出
        //response.flushBuffer();
        //out.println("<h2>手动提交!</h2>");
        // 清除缓冲区,浏览器将不会输出上面的第一章的内容
        //response.resetBuffer();
        // 清除缓冲区,浏览器将不会输出上面的第一章的内容;同时还清除响应头设置,上面响应头设置的UTF-8将失效
        //response.reset();
        //out.println("<p>I am English.<p>");

        out.println("<h1>第二回 张翼德怒鞭督邮 何国舅谋诛宦竖</h1>");
        out.println("<p>且说董卓字仲颖,陇西临洮人也,官拜河东太守,自来骄傲。当日怠慢了玄德,张飞性发,便欲杀之。玄德与关公急止之曰;“他是朝廷命官,岂可擅杀?”飞曰:“若不杀这厮,反要在他部下听令,其实不甘!二兄要便住在此,我自投别处去也!”玄德曰:“我三人义同生死,岂可相离?不若都投别处去便了。”飞曰:“若如此,稍解吾恨。”</p>");
        out.println("<p>于是三人连夜引军来投朱俊。俊待之甚厚,合兵一处,进讨张宝。是时曹操自跟皇甫嵩讨张梁,大战于曲阳。这里朱俊进攻张宝。张宝引贼众八九万,屯于山后。俊令玄德为其先锋,与贼对敌。张宝遣副将高升出马搦战,玄德使张飞击之。飞纵马挺矛,与升交战,不数合,刺升落马。玄德麾军直冲过去。张宝就马上披发仗剑,作起妖法。只见风雷大作,一股黑气,从天而降,黑气中似有无限人马杀来。玄德连忙回军,军中大乱。败阵而归,与朱俊计议。俊曰:“彼用妖术,我来日可宰猪羊狗血,令军士伏于山头;候贼赶来,从高坡上泼之,其法可解。”玄德听令,拨关公、张飞各引军一千,伏于山后高冈之上,盛猪羊狗血并秽物准备。次日,张宝摇旗擂鼓,引军搦战,玄德出迎。交锋之际,张宝作法,风雷大作,飞砂走石,黑气漫天,滚滚人马,自天而下。玄德拨马便走,张宝驱兵赶来。将过山头,关、张伏军放起号炮,秽物齐泼。但见空中纸人草马,纷纷坠地;风雷顿息,砂石不飞。</p>");
        out.println("<p>张宝见解了法,急欲退军。左关公,右张飞,两军都出,背后玄德、朱俊一齐赶上,贼兵大败。玄德望见“地公将军”旗号,飞马赶来,张宝落荒而走。玄德发箭,中其左臂。张宝带箭逃脱,走入阳城,坚守不出。</p>");
        out.println("<p>朱俊引兵围住阳城攻打,一面差人打探皇甫嵩消息。探子回报,具说:“皇甫嵩大获胜捷,朝廷以董卓屡败,命嵩代之。嵩到时,张角已死;张梁统其众,与我军相拒,被皇甫嵩连胜七阵,斩张梁于曲阳。发张角之棺,戮尸枭首,送往京师。余众俱降。朝廷加皇甫嵩为车骑将军,领冀州牧。皇甫嵩又表奏卢植有功无罪,朝廷复卢植原官。曹操亦以有功,除济南相,即日将班师赴任。”朱俊听说,催促军马,悉力攻打阳城。贼势危急,贼将严政刺杀张宝,献首投降。朱俊遂平数郡,上表献捷。时又黄巾余党三人:赵弘、韩忠、孙仲,聚众数万,望风烧劫,称与张角报仇。朝廷命朱俊即以得胜之师讨之。俊奉诏,率军前进。时贼据宛城,俊引兵攻之,赵弘遣韩忠出战。俊遣玄德、关、张攻城西南角。韩忠尽率精锐之众,来西南角抵敌。朱俊自纵铁骑二千,径取东北角。贼恐失城,急弃西南而回。玄德从背后掩杀,贼众大败,奔入宛城。朱俊分兵四面围定。城中断粮,韩忠使人出城投降。俊不许。玄德曰:“昔高祖之得天下,盖为能招降纳顺;公何拒韩忠耶?”俊曰:“彼一时,此一时也。昔秦、项之际,天下大乱,民无定主,故招降赏附,以劝来耳。今海内一统,惟黄巾造反;若容其降,无以劝善。使贼得利恣意劫掠,失利便投降:此长寇之志,非良策也。”玄德曰:“不容寇降是矣。今四面围如铁桶,贼乞降不得,必然死战。万人一心,尚不可当,况城中有数万死命之人乎?不若撤去东南,独攻西北。贼必弃城而走,无心恋战,可即擒也。”俊然之,随撤东南二面军马,一齐攻打西北。韩忠果引军弃城而奔。俊与玄德、关、张率三军掩杀,射死韩忠,余皆四散奔走。正追赶间,赵弘、孙仲引贼众到,与俊交战。俊见弘势大,引军暂退。弘乘势复夺宛城。俊离十里下寨。方欲攻打,忽见正东一彪人马到来。为首一将,生得广额阔面,虎体熊腰;吴郡富春人也,姓孙,名坚,字文台,乃孙武子之后。年十七岁时,与父至钱塘,见海贼十余人,劫取商人财物,于岸上分赃。坚谓父曰:“此贼可擒也。”遂奋力提刀上岸,扬声大叫,东西指挥,如唤人状。贼以为官兵至,尽弃财物奔走。坚赶上,杀一贼。由是郡县知名,荐为校尉。后会稽妖贼许昌造反,自称“阳明皇帝”,聚众数万;坚与郡司马招募勇士千余人,会合州郡破之,斩许昌并其子许韶。刺史臧旻上表奏其功,除坚为盐渎丞,又除盱眙丞、下邳丞。今见黄巾寇起,聚集乡中少年及诸商旅,并淮泗精兵一千五百余人,前来接应。</p>");
        out.println("<p>朱俊大喜,便令坚攻打南门,玄德打北门,朱俊打西门,留东门与贼走。孙坚首先登城,斩贼二十余人,贼众奔溃。赵弘飞马突槊,直取孙坚。坚从城上飞身夺弘槊,刺弘下马;却骑弘马,飞身往来杀贼。孙仲引贼突出北门,正迎玄德,无心恋战,只待奔逃。玄德张弓一箭,正中孙仲,翻身落马。朱俊大军随后掩杀,斩首数万级,降者不可胜计。南阳一路,十数郡皆平。俊班师回京,诏封为车骑将军,河南尹。俊表奏孙坚、刘备等功。坚有人情,除别郡司马上任去了。惟玄德听候日久,不得除授,三人郁郁不乐,上街闲行,正值郎中张钧车到。玄德见之,自陈功绩。钧大惊,随入朝见帝曰:“昔黄巾造反,其原皆由十常侍卖官鬻爵,非亲不用,非仇不诛,以致天下大乱。今宜斩十常侍,悬首南郊,遣使者布告天下,有功者重加赏赐,则四海自清平也。”十常侍奏帝曰:“张钧欺主。”帝令武士逐出张钧。十常侍共议:“此必破黄巾有功者,不得除授,故生怨言。权且教省家铨注微名,待后却再理会未晚。”因此玄德除授定州中山府安喜县尉,克日赴任。</p>");
        out.println("<p>玄德将兵散回乡里,止带亲随二十余人,与关、张来安喜县中到任。署县事一月,与民秋毫无犯,民皆感化。到任之后,与关、张食则同桌,寝则同床。如玄德在稠人广坐,关、张侍立,终日不倦。到县未及四月,朝廷降诏,凡有军功为长吏者当沙汰。玄德疑在遣中。适督邮行部至县,玄德出郭迎接,见督邮施礼。督邮坐于马上,惟微以鞭指回答。关、张二公俱怒。及到馆驿,督邮南面高坐,玄德侍立阶下。良久,督邮问曰:“刘县尉是何出身?”玄德曰:“备乃中山靖王之后;自涿郡剿戮黄巾,大小三十余战,颇有微功,因得除今职。”督邮大喝曰:“汝诈称皇亲,虚报功绩!目今朝廷降诏,正要沙汰这等滥官污吏!”玄德喏喏连声而退。归到县中,与县吏商议。吏曰:“督邮作威,无非要贿赂耳。”玄德曰:“我与民秋毫无犯,那得财物与他?”次日,督邮先提县吏去,勒令指称县尉害民。玄德几番自往求免,俱被门役阻住,不肯放参。</p>");
        out.println("<p>却说张飞饮了数杯闷酒,乘马从馆驿前过,见五六十个老人,皆在门前痛哭。飞问其故,众老人答曰:“督邮逼勒县吏,欲害刘公;我等皆来苦告,不得放入,反遭把门人赶打!”张飞大怒,睁圆环眼,咬碎钢牙,滚鞍下马,径入馆驿,把门人那里阻挡得住,直奔后堂,见督邮正坐厅上,将县吏绑倒在地。飞大喝:“害民贼!认得我么?”督邮未及开言,早被张飞揪住头发,扯出馆驿,直到县前马桩上缚住;攀下柳条,去督邮两腿上着力鞭打,一连打折柳条十数枝。玄德正纳闷间,听得县前喧闹,问左右,答曰:“张将军绑一人在县前痛打。”玄德忙去观之,见绑缚者乃督邮也。玄德惊问其故。飞曰:“此等害民贼,不打死等甚!”督邮告曰:“玄德公救我性命!”玄德终是仁慈的人,急喝张飞住手。傍边转过关公来,曰:“兄长建许多大功,仅得县尉,今反被督邮侮辱。吾思枳棘丛中,非栖鸾凤之所;不如杀督邮,弃官归乡,别图远大之计。”玄德乃取印绶,挂于督邮之颈,责之曰:“据汝害民,本当杀却;今姑饶汝命。吾缴还印绶,从此去矣。”督邮归告定州太守,太守申文省府,差人捕捉。玄德、关、张三人往代州投刘恢。恢见玄德乃汉室宗亲,留匿在家不题。</p>");
        out.println("<p>却说十常侍既握重权,互相商议:但有不从己者,诛之。赵忠、张让差人问破黄巾将士索金帛,不从者奏罢职。皇甫嵩、朱俊皆不肯与,赵忠等俱奏罢其官。帝又封赵忠等为车骑将军,张让等十三人皆封列侯。朝政愈坏,人民嗟怨。于是长沙贼区星作乱;渔阳张举、张纯反:举称天子,纯称大将军。表章雪片告急,十常侍皆藏匿不奏。</p>");

        // 响应是否已确认
        out.println("<h2>响应已确认: " + response.isCommitted() + "</h2>");

        out.println("<p>一日,帝在后园与十常侍饮宴,谏议大夫刘陶,径到帝前大恸。帝问其故。陶曰:“天下危在旦夕,陛下尚自与阉宦共饮耶!”帝曰:“国家承平,有何危急?”陶曰:“四方盗贼并起,侵掠州郡。其祸皆由十常侍卖官害民,欺君罔上。朝廷正人皆去,祸在目前矣!”十常侍皆免冠跪伏于帝前曰:“大臣不相容,臣等不能活矣!愿乞性命归田里,尽将家产以助军资。”言罢痛哭。帝怒谓陶曰:“汝家亦有近侍之人,何独不容朕耶?”呼武士推出斩之。刘陶大呼:“臣死不惜!可怜汉室天下,四百余年,到此一旦休矣!”</p>");

        // 响应是否已确认
        out.println("<h2>响应已确认: " + response.isCommitted() + "</h2>");

        out.println("<p>武士拥陶出,方欲行刑,一大臣喝住曰:“勿得下手,待我谏去。”众视之,乃司徒陈耽,径入宫中来谏帝曰:“刘谏议得何罪而受诛?”帝曰:“毁谤近臣,冒渎朕躬。”耽曰:“天下人民,欲食十常侍之肉,陛下敬之如父母,身无寸功,皆封列侯;况封谞等结连黄巾,欲为内乱:陛下今不自省,社稷立见崩摧矣!”帝曰:“封谞作乱,其事不明。十常侍中,岂无一二忠臣?”陈耽以头撞阶而谏。帝怒,命牵出,与刘陶皆下狱。是夜,十常侍即于狱中谋杀之;假帝诏以孙坚为长沙太守,讨区星,不五十日,报捷,江夏平,诏封坚为乌程侯。</p>");
        out.println("<p>封刘虞为幽州牧,领兵往渔阳征张举、张纯。代州刘恢以书荐玄德见虞。虞大喜,令玄德为都尉,引兵直抵贼巢,与贼大战数日,挫动锐气。张纯专一凶暴,士卒心变,帐下头目刺杀张纯,将头纳献,率众来降。张举见势败,亦自缢死。渔阳尽平。刘虞表奏刘备大功,朝廷赦免鞭督邮之罪,除下密丞,迁高堂尉。公孙瓚又表陈玄德前功,荐为别部司马,守平原县令。玄德在平原,颇有钱粮军马,重整旧日气象。刘虞平寇有功,封太尉。中平六年夏四月,灵帝病笃,召大将军何进入宫,商议后事。那何进起身屠家;因妹入宫为贵人,生皇子辩,遂立为皇后。进由是得权重任。帝又宠幸王美人,生皇子协。何后嫉妒,鸩杀王美人。皇子协养于董太后宫中。董太后乃灵帝之母,解渎亭侯刘苌之妻也。初因桓帝无子,迎立解渎亭侯之子,是为灵帝。灵帝入继大统,遂迎养母氏于宫中,尊为太后。董太后尝劝帝立皇子协为太子。帝亦偏爱协,欲立之。当时病笃,中常侍蹇硕奏曰:“若欲立协,必先诛何进,以绝后患。”帝然其说,因宣进入宫。进至宫门,司马潘隐谓进曰:“不可入宫。蹇硕欲谋杀公。”进大惊,急归私宅,召诸大臣,欲尽诛宦官。座上一人挺身出曰:“宦官之势,起自冲、质之时;朝廷滋蔓极广,安能尽诛?倘机不密,必有灭族之祸:请细详之。”进视之,乃典军校尉曹操也。进叱曰:“汝小辈安知朝廷大事!”正踌躇间,潘隐至,言:“帝已崩。今赛硕与十常侍商议,秘不发丧,矫诏宣何国舅入宫,欲绝后患,册立皇子协为帝。”说未了,使命至,宣进速入,以定后事。操曰:“今日之计,先宜正君位,然后图贼。”进曰:“谁敢与吾正君讨贼?”一人挺身出曰:“愿借精兵五千,斩关入内,册立新君,尽诛阉竖,扫清朝廷,以安天下!”进视之,乃司徒袁逢之子,袁隗之侄:名绍,字本初,现为司隶校尉。何进大喜,遂点御林军五千。绍全身披挂。何进引何颙、荀攸、郑泰等大臣三十余员,相继而入,就灵帝柩前,扶立太子辩即皇帝位。</p>");
        out.println("<p>百官呼拜已毕,袁绍入宫收蹇硕。硕慌走入御园,花阴下为中常侍郭胜所杀。硕所领禁军,尽皆投顺。绍谓何进曰:“中官结党。今日可乘势尽诛之。”张让等知事急,慌入告何后曰:“始初设谋陷害大将军者,止蹇硕一人,并不干臣等事。今大将军听袁绍之言,欲尽诛臣等,乞娘娘怜悯!”何太后曰:“汝等勿忧,我当保汝。”传旨宣何进入。太后密谓曰:“我与汝出身寒微,非张让等,焉能享此富贵?今蹇硕不仁,既已伏诛,汝何听信人言,欲尽诛宦官耶?”何进听罢,出谓众官曰:“蹇硕设谋害我,可族灭其家。其余不必妄加残害。”袁绍曰:“若不斩草除根,必为丧身之本。”进曰:“吾意已决,汝勿多言。”众官皆退。次日,太后命何进参录尚书事,其余皆封官职。董太后宣张让等入宫商议曰:“何进之妹,始初我抬举他。今日他孩儿即皇帝位,内外臣僚,皆其心腹:威权太重,我将如何?”让奏曰:“娘娘可临朝,垂帘听政;封皇子协为王;加国舅董重大官,掌握军权;重用臣等:大事可图矣。”董太后大喜。次日设朝,董太后降旨,封皇子协为陈留王,董重为骠骑将军,张让等共预朝政。何太后见董太后专权,于宫中设一宴,请董太后赴席。酒至半酣,何太后起身捧杯再拜曰:“我等皆妇人也,参预朝政,非其所宜。昔吕后因握重权,宗族千口皆被戮。今我等宜深居九重;朝廷大事,任大臣元老自行商议,此国家之幸也。愿垂听焉。”董后大怒曰:“汝鸩死王美人,设心嫉妒。今倚汝子为君,与汝兄何进之势,辄敢乱言!吾敕骠骑断汝兄首,如反掌耳!”何后亦怒曰:“吾以好言相劝,何反怒耶?”董后曰:“汝家屠沽小辈,有何见识!”两宫互相争竞,张让等各劝归宫。何后连夜召何进入宫,告以前事。何进出,召三公共议。来早设朝,使廷臣奏董太后原系藩妃,不宜久居宫中,合仍迁于河间安置,限日下即出国门。一面遣人起送董后;一面点禁军围骠骑将军董重府宅,追索印绶。董重知事急,自刎于后堂。家人举哀,军士方散。张让、段珪见董后一枝已废,遂皆以金珠玩好结构何进弟何苗并其母舞阳君,令早晚入何太后处,善言遮蔽:因此十常侍又得近幸。</p>");
        out.println("<p>六月,何进暗使人鸩杀董后于河间驿庭,举柩回京,葬于文陵。进托病不出。司隶校尉袁绍入见进曰:“张让、段珪等流言于外,言公鸩杀董后,欲谋大事。乘此时不诛阉宦,后必为大祸。昔窦武欲诛内竖,机谋不密,反受其殃。今公兄弟部曲将吏,皆英俊之士;若使尽力,事在掌握。此天赞之时,不可失也。”进曰:“且容商议。”左右密报张让,让等转告何苗,又多送贿赂。苗入奏何后云:“大将军辅佐新君,不行仁慈,专务杀伐。今无端又欲杀十常侍,此取乱之道也。”后纳其言。少顷,何进入白后,欲诛中涓。何后曰:“中官统领禁省,汉家故事。先帝新弃天下,尔欲诛杀旧臣,非重宗庙也。”进本是没决断之人,听太后言,唯唯而出。袁绍迎问曰:“大事若何?”进曰:“太后不允,如之奈何?”绍曰:“可召四方英雄之士,勒兵来京,尽诛阉竖。此时事急,不容太后不从。”进曰:“此计大妙!”便发檄至各镇,召赴京师。主簿陈琳曰:“不可!俗云:掩目而捕燕雀,是自欺也,微物尚不可欺以得志,况国家大事乎?今将军仗皇威,掌兵要,龙骧虎步,高下在心:若欲诛宦官,如鼓洪炉燎毛发耳。但当速发雷霆,行权立断,则天人顺之。却反外檄大臣,临犯京阙,英雄聚会,各怀一心:所谓倒持干戈,授人以柄,功必不成,反生乱矣。”何进笑曰:“此懦夫之见也!”旁边一人鼓掌大笑曰:“此事易如反掌,何必多议!”视之,乃曹操也。正是:欲除君侧宵人乱,须听朝中智士谋。</p>");
        out.println("<p>不知曹操说出甚话来,且听下文分解。</p>");
        out.println("</body>");
        out.println("</html>");
        out.close();
    }
}
View Code
原文地址:https://www.cnblogs.com/Mike_Chang/p/10072725.html