SSM框架整合后Tomcat正常启动,控制台未报错,访问所有页面均报404异常,总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/PlainWaterh/article/details/54984932

最近整合了ssm框架,今天想完善一下,遇到Tomcat正常启动,控制台也正常并未报错,但访问均报404异常
404异常,很常见,大多情况是路径错误、web.xml文件映射路径写错、服务器设置、servlet的jar包未导进去或者没有随项目发布等等。
如果是路径错误,仔细检查即可解决问题。
不过我遇到的都不是这一类,所以查了好久,也乘此总结一下,利人也利己。
1、
查看访问地址url有无打错。
2、
查看Tomcat Server中的配置
如图
这里写图片描述
Server有项目时时不可更改的,所以先Add and remove掉项目,再更改。
保存
publish一下 Clean项目
3、
查看web.xml
是否有拼写错误
特别是
Servlet配置是否正确,尤其是servlet-mapping标签中url-pattern的配置(有可能是访问地址不符合规则而被过滤)

<servlet-mapping>  
        <servlet-name>SpringMVC</servlet-name> 
        <url-pattern>*.do</url-pattern>  
 </servlet-mapping>

还有welcome-file-list项目访问首页的配置
<welcome-file-list>
<welcome-file>/index.jsp</welcome-file>
</welcome-file-list>

4、
查看项目的发布集合(Deployment Assembly),是否已包含web页面所在的路径。如图
这里写图片描述
5、
servlet的jar包问题,通过build path引入jar包,在libraries选项卡添加外部jar文件,并在order and export选项卡中勾选应用,最后在deployment and assessment选项中添加它,表明tomcat发布时将它拷贝到项目下WEB-INF\lib目录中。
6、
查看端口号是否被占用
7、
而我今天遇到的都不上面的一种
我今天,才遇见的这个问题,查看tomcat的server.xml,重点查看
Host标签
这个元素,看看appBase和你的程序部署目录是否一致
还有Context标签的path元素是否和项目一致。
笔者就是改了path元素,最后修复的bug

 <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>

      <Context docBase="first" path="/first" reloadable="true" source="org.eclipse.jst.jee.server:first"/></Host>

若是Maven项目记得update project哦

以上几种方法是从网上各种方法的整合。

若有不足,欢迎留言,更正

猜你喜欢

转载自blog.csdn.net/PlainWaterh/article/details/54984932