中法战争
光绪十年,早已侵领越南的法国军队从水陆两路向中国侵犯,爆发了中法战争。同年夏,法国舰队侵入福州,对泊于福州马尾港内的中国福建海军舰船发动突然袭击,福建海军和马尾船厂都遭受重创。接着,法军又进攻台湾,被击退。中越边境的战争也十分激烈。光绪十一年春,法国再次增兵越南,在北越法军统帅波里也的指挥下,准备进犯谅山,直扑中越边境。清军东线统帅、广西巡抚潘鼎新奉行李鸿章消极避战的方针,在法军尚未到达前便自行焚烧谅山城,率部先退至镇南关,后又北撤离关一百四十里的龙州。法军乘势**,占领谅山,并一度占领边境重镇镇南关。值此危急关头,清廷接受两广总督张之洞的举荐,任命冯子材帮办广西军务。
冯子材到达前沿阵地后,被各军将领推举为前敌主帅。冯子材经过勘查地形,分析敌情,他决定进驻关守十里处的关前隘。此地形势险要,两旁均为高山峻岭,易守难攻,冯子材充分利用这一有利地形,在隘口筑了三里半的长墙,横跨东西两岭,墙外深挖堑沟,岭上修炮台多座,以便居高临下,阻击来犯之敌。冯子材对各军作了部署:王孝祺军驻山后半里处,为后路;苏元春军驻关内二十里处的幕府,为西路;王德榜军驻关东三十里的油隘,为东路;另由蒋宗汉军屯幕府后三十里处的凭祥;潘鼎新军驻幕府后六十里海村,魏纲军屯距关西百里处的艾瓦;冯子材自己统军把守中路的长墙和山头要塞,正面迎击法军。
法军见清军布防严密,于正月二十七日避开正面,从侧翼发动偷袭。苏元春部早有准备,给来犯法军以迎头痛击,冯子材则乘隙派兵进占法军据点扣波。法军溃逃回扣波时,又遭冯子材军的阻击,不得不弃甲曳兵退至文渊州。二月初五日,冯子材军和王孝祺军夜袭文渊州,再次打击了法军的狂妄气焰。
二月初七日,法国侵略军在前线司令尼格里的指挥下,从谅山倾巢出动,分三路向镇南关进犯,其中两路夹攻东岭炮台,一路直扑前隘长墙。在法军优势炮火的猛烈攻击下,东岭上赶修起来的五座炮台攻陷了三座,关前的长墙也岌岌可危。在此紧急关头,冯子材大声鼓励将士,奋勇冲出长墙,拼死杀敌,终于遏制了法军的攻势。二月八日,尼格里率领法军凭借猛烈炮火的掩护,再次向清军前沿长墙发动攻势,冯子材亲赴长墙督战,在法军越过堑壕即将冲上长墙之际,冯子材手执长矛,身先士卒,跃出长墙,守关将士也紧随其后,奋勇冲向敌阵,与法军开展肉搏战。短兵相接之间,法军炮火无法施展威力,清军很快将法军压回了山谷,并重新夺回了东岭三炮台。
二月初九日,冯子材乘势下令发动反攻,各路清军以及越南义勇军从各个山头、战壕冲向山谷中的法军。尼格里被迫下令撤军,向谅山方向夺路而逃。冯子材率领各路清军乘胜追击,于二月初十日克服文渊州。二月十二日进逼谅山,采用“正兵明攻驱骡,出奇兵暗袭谅山”的战术,先行攻克法军前哨阵地驱骡墟,二月十三日又一鼓作气攻克谅山。尼格里身负重伤,率残部夺路逃向北宁。
镇南关、谅山大捷,一举扭转了战场形势。在此期间,西线的滇军、黑旗军和越南抗法义勇军协同作战,在临洮也大败法军:中路清军唐景崧部也乘势克服了太原城。法军战败的消息传到巴黎后,法国朝野大为震动,有人将法军在镇南关和谅山战役中的失败,与拿破仑1815年兵败滑铁卢相提并论。由于法军在与中国战争中失败,法国芭费理内阁在各方面的指责下便垮台了。
冯子材在取得镇南关、谅山大捷以后,准备乘胜进军,先收复谷松、屯梅,再进攻朗申、北宁,然后直捣海阳,光复河内,将法军赶出越南。正在准备进军之时,北京以李鸿章为代表的主和派却力主乘胜即收,并以此为筹码,加紧与法国方面议和。因此,清廷便下诏停战,并限冯子材于二月二十二日前率部撤军。二月十九日,中国海关驻伦敦办事处英籍税务司金登干代表清政府与法国政府签署了《停战协定》。四月二十八日,李鸿章代表清政府与法国驻华公使巴德诺在天津签订了《中法天津条约》,法国取得了在中国西南边境通商、筑路等特权。前线将士浴血奋战的胜利成果,就这样被主和派在谈判桌上出卖了。
中日甲午战争
日本在明治维新后,随着国力的增强,对外扩张野心日增。光绪二十年,日本利用清军赴朝帮助平定东学党农民起义之机,调遣大批日军进入朝鲜,蓄意挑起战端。当年六月二十三日,邓世昌中国北洋舰队济远、广乙两舰在护送中国军队抵朝鲜牙山后返航,在丰岛附近海面,受到日本海军的突然袭击,打响了中日甲午战争的前哨战。七月初一日,中日两国政府同时宣战。此后,日本海军采取战略进攻的方针,积极寻求与中国北洋海军主力决战,以夺取制海权。光绪帝和主战派也一再要求北洋海军提督丁汝昌积极备战,相机迎击日本海军。李鸿章却消极避战,一味求和,要求北洋海军“严防威旅门户,为保船制敌之机”。因此,日本陆军得以在海军的配合下从容地在朝鲜境内击败中国赴朝清军。八月十七日,丁汝昌率北洋舰队护送清军在鸭绿江口大东沟登陆。十八日上午,舰队正拟起锚返航旅顺,与日本有备而来的联合舰队遭遇,在黄海海面展开激战。当时,参战的日本舰队有大小舰只十二艘,总排水量为四万余吨,总兵力三千五百余人,拥有各种炮火二百七十二门;北洋海军参战舰只为十艘,总排水量为三万一千余吨,总兵力为两千余人,拥有各种炮火一百八十门。就吨位、兵员、炮火、速度而言,北洋舰队均处于劣势。
丁汝昌在发现日舰后,即以自己乘坐的定远号为旗舰,分所部为五队作“犄角鱼赍”阵迎战:日方则以吉野等四艘快速舰只为前锋,以旗舰松岛号组成本队,成“鱼贯纵队”前进。当双方舰队接近时,丁汝昌发现日方有攻击中国舰队正中的企图,遂下令改变阵形,以定远、镇远两艘铁甲舰居中,其他各舰左右呼应,作“犄角雁行”阵。日方随即令吉野等前锋四艘向左变换线路,直扑北洋舰队右翼作战能力较弱的超勇、扬威两舰。午后零时五十分,海战打响。日方吉野等舰凭借速度优势,绕行到北洋舰队之外,驶作环形,既避开了北洋铁甲舰的炮火,又得以集中火力猛攻定远旗舰。在日舰排炮轰击下,定远号桅楼被击毁,信号旗也无法发出,北洋各舰因指挥失灵,联络不便,很快陷入被动。丁汝昌身受重伤,包扎后仍坐在甲板上督战,其他各舰也顽强搏斗。其中致远舰在弹药垂尽之际与日舰吉野号相遇,管带邓世昌抱定与敌同归于尽的决心,下令加速向吉野号奋力冲击,不幸被鱼雷击沉。经远舰多处中弹起火,在管带林水生率领下,仍以一舰敌四舰,最终被击沉。激战持续了五个多小时,日方西京九号被击毁,比睿、吉野、赤诚、松岛诸舰也丧失了战斗力;北洋舰队损失更大,致远、经远、超勇、扬威四舰在战斗中被击沉,广甲号退至大连搁浅,次日也被日舰击沉。
中日黄海之战后,丁汝昌率北洋舰队驶回威海基地。日本海军协同陆军向旅顺口发动攻势。丁汝昌探知这一消息后,立即由威海率舰队至大沽口,并亲赴天津请以海军全力援助旅顺,但李鸿章为了保存北洋舰队,拒绝了他的请求。丁汝昌只得率舰返航,致使旅顺很快失守。十二月二十五日,日本海军掩护陆军在山东荣成登陆,准备侵犯威海卫。丁汝昌认为,与其坐守待敌,不如主动迎击,请求率舰阻击日军,李鸿章仍然不准出战。丁汝昌见形势危急,先行将水师文件派人送至烟台,并表示一旦遇有不测,“惟有誓死拼战,船沉人尽而已”。光绪二十一年正月,日本陆军果然乘虚而入,从威海后路抄袭威海南岸炮台,海军则严密封锁港口,对北洋舰队实行海陆合围之势。丁汝昌也将北洋舰队分为两组,亲率靖远等舰支援南岸守军,令其他各舰专力守御南北两海口。正月初八日,威海南北两岸各炮台相继失陷,海军被围困于刘公岛和威海港内。正月初九日,日本海军联合舰队司令伊东率日舰依次轮番向坚守刘公岛、日岛的清军和港口内的北洋舰只发动正面进攻,日本陆军则利用夺取的海岸各炮台,配合海军猛烈轰击清军。丁汝昌仍率军奋力抵抗,苦撑危局,坚守待援,使日舰终日未能接近港口。此后,日本改派鱼雷艇夜袭清军,北洋定远、来远、威远等舰先后受损。丁汝昌也拟派鱼雷艇夜袭日舰,但管带王平临阵脱逃,致使北洋鱼雷艇全部受损。正月十三日,日军发动总攻,丁汝昌亲登靖远舰与日舰拼搏,击伤日舰两艘,靖远舰也中炮搁浅。丁汝昌欲与船同殉,被部下救上小船。此时,山东巡抚李秉衡已将军队移向莱州,丁汝昌待援无望,召集部将拟将残余舰只奋力向烟台方向突围,竟无人响应。最后,北洋舰队全军覆没。
日军攻占威海以后,清廷派李鸿章赴日本谈判,签订了《马关条约》,规定中国将辽东半岛、台湾及澎湖列岛割让给日本,赔偿日本军费二亿两白银,增开沙市、重庆、苏州、杭州为通商口岸,允许日本在各通商口岸投资设厂,承认日本对朝鲜的控制。日本对辽东半岛的占有,引发对中国东北有同样野心的沙俄的不满,后在俄、德、法三国的联合干预下,中国政府用三千万两白银从日本手中赎回辽东半岛。