Idea部署ssm web项目时出现404问题

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

Tomcat部署配置如下:

 

 

其中deployment选择war_exploded

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

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

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

http://localhost:8080/dbsys_war_exploded/

地址不一致所以导致404

 

解决办法:

  1. 把地址改成如下访问

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

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

 

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

 

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

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

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

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

 

 

 

 

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值