3.28
【JavaWEB/表单提交/Tomcat】报404,显示“请求资源[…/Servlet]不可
1、首先检查代码,是否是报错的/爆红的,这里我不截图了。大家自行检查。
2、点开WEB-INF,点开web.xml,查看自己是否为你要是用的servlet添加了映射。
很明显。我们是加了的。如果每加,请小伙伴按照我的格式添加。注意上下两个classname必须相同。url是个虚拟路径,随便写/起名。
3、检查tomcat-webapps目录下-classes内是否有我们servlet编译出来的class文件。
打开一看,嗯,我是有的。如果小伙伴没有,可以在eclpse->server->双击tomcat服务器图标->里面有个设置发布web程序的地址:选中Use Tomcat installation,下方Deploy path: webapps。设置好保存ctrl+s保存即可
【这里附加一个tomcat9.0配置过程】:在eclipse当中配置Tomcat服务器
首先需要解压tomcat。记住解压后的路径,准备好,然后回到eclipse中。
window->preference->server->Runtime Enviromements->add->选择APACHE Tomcat v9.0->Next->Brose选择Tomcat的安装目录->apache-tomcat-9.0.43->finish
在server组件当中,create a new server->Tomcat9,0->Finsh
出现的服务器图标Tomcat9,0处,双击,设置发布web程序的地址:
选中Use Tomcat installation
Deploy path: webapps
ctrl+s保存即可,右键点击服务器starts->保存->打开网址“localhost:8080”->显示tomcat欢迎界面则表示你已经安装成功了!!!
4、继续,回到servlet代码,查看是否有添加servlet注册的代码。
格式是@WebServlet("/Servlet名字"),例如:
@WebServlet("/LoginServlet")
ctrl+s重新run as问题解决!
加的位置如图:
5、分析原因,有些和我一样的新人在学习web开发时候,喜欢new-class然后在class里写servlet代码。这个在一般情况下是没问题的。但是也有例外,比如上面的问题。其实我们的eclipse是可以直接new->servlet的,new了之后会自动为我们添加上这一行代码(2.0以上必须加这个,否则映射会无效)当然,这代码有时候会不显示,但是你只要new的是servlet,默认会添加。这么new的好处是,他会自动为你配置web.xml!!!,不需要手动写!简直不要太棒,对不对?当然,他自动配置生成的xml也是可以你去手动修改的!