甲午中日战争中的黄海大东沟海战,我国虽损失了五艘军舰,但敌方的12艘军舰中也有六艘受了重创,其中被拖回日本的三艘有两艘沉没,第四艘旗舰松岛号也无法修理,不得不退出了战舰序列。可见日军的损失也不轻。然而李鸿章却有意夸大黄海海战的损失,提出“保船避战”的方针,命令舰队全部躲进威海卫,企图保存实力,以拖到战争的结束。

威海卫位于山东半岛北岸东端,是一个形势险要的海防要塞。港口呈半圆形,刘公岛、日岛横列在威海湾口,形成海上的天然屏障。海岸和岛上有17座炮台,160多门大炮。根据当时形势,只要坚持抵抗,主动出击,完全可以同日军决一胜负。可是李鸿章的“保船”命令,使北洋舰队完全处于被动挨打的地位。

1895年1月19日,不敢正面进攻威海卫的日本侵略者仍然采用攻打旅顺那样的战法,派遣侵略军在山东半岛的成山头登陆,企图进而包抄后路,从背后进犯威海卫,以消灭困守在港内的北洋海军。当时日军2万,驻守在成山头的清军只有四百人。而被李鸿章“保船”命令束缚的北洋海军,只能缩在威海卫,老老实实地等待日军一步步从背后逼进。