Java web访问localhost报404错误问题的解决方法
作者:小白只对大佬的文章感兴趣 发布时间:2023-07-27 05:28:55
由于我们在eclipse ee中把项目部署在web端经常会出现报404错误。
原因为:
404状态码是一种http状态码,其意思是: 所请求的页面不存在或已被删除。通俗的讲就是当用户输入了错误的链接时,返回的页面。
以下描述几种情况:
第一种:eclipse将tomcat的项目发布目录(tomcat 目录中的webapp)重定向了,所以你会发现在tomcat安装目录下的webapp目录里面找不到你的项目文件。
解决方法:
重新配置下tomcat服务器,首先清空Tomcat里面的所有项目才能为下面选择Use tomcat installation做准备(没有这一步可能选不了Use tomcat installatio)
1.选择Use tomcat installation(Task control of Tomcat installation) 即选择tomcat的安装目录来作为项目的发布目录。
2.将Deploy Path的默认值"wtpwebapps"改成"webapps"。
再重新启动Tomcat,运行.jsp文件就可以了。
3.查看浏览器地址栏的地址是不是和代码请求的路径一致。如果不一致,会导致404
4.如果浏览器地址栏的地址和代码请求的路径一致,依然报404错误,看eclipse的tomcat有没有启动。将其重新启动一下start,debug都可以。
5.检查你跳转页面的路径,各级文件夹以及文件名是不是存在。如,跳转的路径为jdbc/messageServlet。则需要在对应界面找到jdbc文件夹以及下面的messageServlet.java文件中@WebServlet(“xx”)和searchByName.jsp界面检查action="xx"书写是否一致。
6.(本人找了一上午404错误的问题,后面找到关于jsp不能放在自己创建的包上会导致路径出错,最后解决了页面404的问题).jsp文件不能放到另外的Package包中,会一直报404错误,最好还是放在webapp目录下。
7.servlet出现404错误:在开发中遇到该问题的最主要原因是路径错误
解决方法: 例如,该表单提交的的路径messageServlet,启动服务器后发现404错误,可从路径上寻找原因。
如图在messageServlet中,不要忘了注解配置@WebServlet(“/xxxServlet”)或者写为@WebServlet(value=“/xxxServlet”)
value中的值一定要与form提交的表单的值一致。
在表单提交处还可以添加虚拟目录来解决404问题:
${pageContext.request.contextPath}/xxxServlet
如下所示:
再运行Tomcat就可以解决问题了。
web项目的访问根路径出错报404
修改步骤如下:
改动后,部署到tomcat,若是不能生效,可以进入tomcat的server.xml文件,查看是否设置正确。
来源:https://blog.csdn.net/ex_6450/article/details/127792470
猜你喜欢
- Note:这篇文章是基于Android Studio 3.01版本的,NDK是R16。step1:创建一个包含C++的项目其他默认就可以了。
- 本章将具体讲解下拉菜单的交互。使用下拉菜单(Dropdown)插件,您可以向任何组件(比如导航栏、标签页、胶囊式导航菜单、按钮等)添加下拉菜
- 以前就遇到过这个问题,今天重新拾起来。跑马灯效果其实就是当文字超过TextView控件宽度的时候,使用滚动的方式显示出来:方法1:(直接xm
- CSRF介绍CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click atta
- 本文实例讲述了C#中HttpWebRequest的用法。分享给大家供大家参考。具体如下:HttpWebRequest类主要利用HTTP 协议
- 本文实例讲述了C#获取网页源代码的方法。分享给大家供大家参考。具体如下:public string GetPageHTML(string u
- instanceof判断某个对象是否是某个类的实例或者某个类的子类的实例。它的判断方式大概是这样的:public<T> bool
- 前言RefreshIndicator是Flutter里常见的下拉刷新组件,使用是比较方便的。但由于产品兄弟对其固定的刷新样式很是不满,而且代
- 一、Sharding-JDBC简介Sharding-JDBC是Sharding-Sphere的一个产品,它有三个产品,分别是Sharding
- PS:本文包含了大部分strings函数的说明,并附带举例说明。本来想自己整理一下的,发现已经有前辈整理过了,就转了过来。修改了原文一些源码
- 微服务通过Feign调用进行密码安全认证在项目中,微服务之间的通信也是通过Feign代理的HTTP客户端通信,为了保护我们的业务微服务不被其
- 相比于直线检测,直线拟合的最大特点是将所有数据只拟合出一条直线void fitLine( InputArray points, Output
- 反射方式获取JPA Entity属性和值在记录日志或者调试的时候,往往需要输出数据库查询或者写入的值,或者在接 * 互的时候,可能需要将实体转
- feign传输List的坑无法直接传输List错误方法1@RequestMapping(value = "/stat/mercha
- 要想实现android手机通过扫描名片,得到名片信息,可以使用脉可寻提供的第三方SDK,即Maketion ScanCard SDK,脉可寻
- 本文实例讲述了C++语言实现线性表之链表实现方法。分享给大家供大家参考。具体分析如下:插入、删除结点的代码有点多,但这样提高了代码的可读性,
- 关于UIToolbarToolBar工具栏是视图View的属性,可以在工具栏上添加工具栏按钮Bar Button Item(可以是自定义的C
- 之前我们在使用vue进行 h5 表单录入的过程中,遇到了Android软键盘弹出,覆盖 h5页面 输入框 问题,在此进行回顾并分享给大家:系
- 一 :问题背景问题:当查询接口较复杂时候,数据的获取都需要[远程调用],必然需要花费更多的时间。 假如查询文章详情页面,需要如下标注的时间才
- 在前面的《基于任务的异步编程模式(TAP)》文章中讲述了.net 4.5框架下的异步操作自我实现方式,实际上,在.net 4.5中部分类已实