ssm项目html发请求报404,Idea部署ssm web项目时出现404问题

今天在本地部署web项目时出现404的错误,使用Idea开发,找到了解决办法。

Tomcat部署配置如下:

1831837f95f347360b119ce2584d65a1.png

其中deployment选择war_exploded

63267735b7fd209a6071c19b30793dc3.png

运行之后报错404,发现访问的链接是

http://localhost:8080/dbsys/forward/displayLogin

但是部署配置时的地址是:

http://localhost:8080/dbsys_war_exploded/

地址不一致所以导致404

d6f53b821f874138567494c61bde9ab9.png

解决办法:

把地址改成如下访问

http://localhost:8080/dbsys_war_exploded/forward/displayLogin

2.在deployment处修改ApplicationContext的名称为dbsys,就可以正常运行了:

1850392531154e6adccf67f3dadbdd80.png

但是根本原因最终发现是由于web.xml默认启动的中的index.jsp的内容如下:

04c2f5416e14bb26196d355479a68270.png

所以无论启动的时候默认tomcat启动的地址是什么都会跳转到这个地址请求,就导致不一致,出现404问题。

在tomcat配置过程中发现,artifact有两种分别是war以及war exploded,通过网上资料查询发现二者主要区别在于:

war:项目会打包war包再发布,war包默认会在target目录下,而且部署的服务器的webapps文件夹下,会存在配置的Application context目录,其中包含项目的webapp下的内容以及一个META-INF。如图所示:

201a1fa9d5e162e42c2b94955a8a919d.png

796807ce6045ceff0b8d818e355459b3.png

d2397ce405bf0fb3eada6eca1a763fe3.png

war exploded:则不会把项目发布到配置的服务器中,也不会打一个war包,而是会把webapp下的相关文件放在项目build后的target目录下,同时包含一个META-INF,该方式可以进行热部署。

1c862d425925d2325ba1e6d90dcfc14d.png

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值