Idea访问servlet404问题(java学习日志)

2022-10-13 12:38:46

**

java学习日志——Idea访问servlet404问题

**
最近学了servlet后开始尝试自己部署项目,无论是eclipse还是idea我都试过。但一路上的坎坷只有自己清楚。其中部署项目时最心酸也是困扰我最久的给servlet发送请求时出现404的问题。
可能你把网上的方法试了遍,可依旧没解决你的问题。无论是注解配置(当然也可以是xml配置)还是服务器部署上都没什么问题,但就是出现404(很不幸,我就是那个人)。经过我不断尝试,最终发现了问题所在。以下方案可以给你一种新的思路:
在这里插入图片描述

你也许会很奇怪,明明我注解配置好了,各项检查(包括各种配置文件)都没有任何问题,可是就是会报404,就像下图:
在这里插入图片描述
作为自学者的我遇到这情况也是相当的崩溃。查互联网,没有得到我想要的答案;问老师同学,由于我是超前学习(大一就开始学习java),根本无人可问(都是别人来问我的…)。那时候可谓是叫天天不灵,叫地地不应。
几天后我尝试创建一个新的项目,开始部署,随后发现servlet居然能访问了,然后我开始对比,注意到了访问路径的不同。
在这里插入图片描述
虽然是500,但至少是访问到了。然后我开始关注到application context这个选项
在这里插入图片描述
这个设置默认为”/”,然后我开始上网查资料发现这个跟访问路径有关。
要解释这个application context,就要谈谈eclipse(毕竟原本用的eclipse)。
eclipse访问项目的路径一般localhost:8080/projectName, 当把IDE换成idea以后,访问路径一般情况下就变localhost:8080,路径没有了后面的项目名。tomcat在发布项目的时候不考虑用虚拟路径的话,一般都是把项目放在webapps里面,这个时候具体放置的位置就会影响访问路径了。如果是直接放在webapps目录下,那么访问路径就是和eclipse相同的访问路径了,但是这时候如果把项目放在tomcat的webapps里的root文件夹下,那么这个时候这个项目就成为了tomcat的默认项目,直接用localhost:8080就可以访问,安装tomcat时检查tomcat是否正常安装出现的项目其实就是root。
  localhost:8080/projectName或者是localhost:8080就是我们平常所说的应用上下文,项目中的路径名都是相对于这个应用上下文来说的。在idea下开发的时候,有时候我们可能需要让访问路径带上项目名,但是idea默认是为每个项目单独配置tomcat的,eclipse是把项目统一放到某个配置好的tomcat中,所以默认配置的访问路径就出现了差别。如何将idea的应用上下文路径也带上项目名呢?
其实这个application context就是idea默认的上下文,要想让idea的应用上下文改变,这时候将这个application context改成你需要的项目名就行了,改完后如下
在这里插入图片描述
重启服务器(这个配置只有重启才会更改)
这时候如果访问这个路径就会
在这里插入图片描述
在这里插入图片描述
哈哈,成功了!!!!
问题就出在发送的请求和项目部署的位置不一致上面。
总结一下,我犯这次错误的原因就是我拿eclipse的思维去在idea上部署项目,而实际上两者的部署方式是由很大区别的。至于两者的区别,在这里就不多赘述了,感兴趣的可以去搜相关资料了解一下。
希望本文对你有所帮助。

————————————————————————

记录点滴,乐于分享,转载请注明出处

以梦为马,不负人生韶华,我们追梦在路上!

愿与君共勉!

  • 作者:Dreamchaser追梦
  • 原文链接:https://dreamchaser.blog.csdn.net/article/details/105004376
    更新时间:2022-10-13 12:38:46