Tomcat出现404的解决方法[类型 状态报告 消息 请求的资源[/chapter06/src/LoginServlet]不可用 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已]

Tomcat测试出现404问题

出现的问题如下:

HTTP状态 404 - 未找到
类型 状态报告
消息 请求的资源[/chapter06/IndexServlet]不可用
描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
Apache Tomcat/9.0.37
在这里插入图片描述

问题原因,浏览器不能直接访问Java文件

问题的解决方法

1、提交表单时遇到此问题

<form name = "reg" action="/login" method="post">
    <meta charset="UTF-8">
    账号:<input type="text" name="username"/><br>
    密码:<input type="password" name="passward"/><br>
    <input type="submit" value="提交" id="bt">
</form>

其中的<form name = "reg" action="/login" method="post">action=" "里面引用的必须为路由地址(这个路由地址需要自己配置的(如:我自己配置的负责接收表单的Java类中的路由为   /login,而不是自身的Java类的访问路径    /chapter06/src/LoginServlet)
对Java文件配置路由方式在下面:

2、访问src路径里的Java文件报错

需要对目标Java文件配置路由,具体配置有两种方式:(这里只是简述如果想了解更详细内容点击这里)

(1):基于注解的方式配置

只适用于servlet3以上版本(好像是3,记不清了)
在Java类里添加

package cn.itcast.chapter06.session.example;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/logout")         //这里就是路由的配置

public class LogoutServlet extends HttpServlet {
    @Override
    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.getSession().removeAttribute("user");
        resp.sendRedirect("/wel");
    }

    @Override
    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

**@WebServlet("/logout") //这里就是路由的配置,此方法也是最常用的方法。**引号里面就是路由

(2)基于xml文件配置方式

点击打开web.xml文件,然后对web.xml代码进行更改,在< /app >前面添加映射

<servlet> 
	 <servlet-name>hello</servlet-name>  
	 <servlet-class>com.southwind.servlet.HelloServlet</servlet-class>
 </servlet>
<servlet-mapping>  
	<servlet-name>hello</servlet-name>  
	<url-pattern>/demo2</url-pattern> 
</servlet-mapping>

将demo2和hello进行映射 在浏览器直接访问demo2就可以映射HelloServlet

  • 57
    点赞
  • 191
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
### 回答1: HTTP状态404是一种常见的服务器错误代码,意味着网页或文件在服务器上不存在,无法被客户端访问。通常情况下,这种错误是由三种原因造成的: 1. 客户端请求的URL地址不存在。这通常是因为URL地址被拼写错误,或者因为文件已经被移动或删除了。 2. 服务器上的文件不存在。这可能是因为文件被删除、移动或重命名,或者是因为服务器出现了故障。 3. 服务器无法处理客户端的请求。这可能是因为客户端的请求不符合服务器的要求,例如请求的文件类型不被服务器支持,或者请求出现了语法错误。 无论是上述哪种情况,当客户端收到HTTP状态404 - 未找到的错误代码时,就意味着无法访问所请求的网页或文件。此时,用户可以尝试重新输入URL地址或者尝试通过其他方式访问同样的内容。如果情况依然没有改善,那么最好联系网站管理员或者技术支持人员,以解决这个问题。 ### 回答2: HTTP状态404表示服务器无法找到请求资源。当我们在浏览器输入URL或点击链接时,浏览器向服务器发送HTTP请求服务器在收到请求后,会根据请求的路径找到相应的资源并返回给浏览器。但是如果服务器找不到对应的资源,就会返回404错误。 有几种情况会导致HTTP状态404错误的发生: 1. 资源不存在:最常见的情况是由于输入的URL拼写错误或资源已被删除导致的。我们需要检查URL是否正确,并确保资源存在。 2. 路径错误:有时候,服务器上的文件路径可能发生变化,但链接中的路径未相应更新,导致404错误。此时我们需要检查链接的路径是否正确,并在必要时进行更正。 3. 服务器配置问题:服务器端可能存在配置问题,无法正确处理请求。这可能是由于服务器配置错误、权限问题或服务器宕机等原因引起的。在这种情况下,我们需要联系服务器管理员来解决问题。 当浏览器收到404错误时,通常会显示一个错误页面来提示用户资源找到。开发人员也可以通过自定义404页面来提供更友好的错误信息,并向用户提供其他相关资源或提示。 总之,HTTP状态404表示服务器未能找到请求资源。我们需要仔细检查URL、路径和服务器配置等因素,确保资源存在并能够正确访问。 ### 回答3: HTTP状态404 - 未找到是指在发起HTTP请求时,服务器无法找到请求资源。这可能是因为URL链接错误、服务器文件被删除或移动、网络连接问题等原因导致的。当服务器返回404状态码时,意味着请求资源未被找到。 当我们在浏览器中输入一个URL时,浏览器会向服务器发送一个HTTP请求服务器接收到请求后会根据URL找到相应的资源返回给浏览器。如果在服务器中找不到与URL相对应的资源服务器就会返回404状态码给浏览器。 对于网页浏览者来说,遇到404错误意味着所请求的页面不存在或无法访问。这可能是因为页面已被删除、更改了URL或者链接错误。此时,我们可以尝试刷新页面,检查URL是否正确输入,或者返回上一页重新尝试。 对于网站所有者来说,404错误是很常见的,我们应该及时处理这些错误。可以通过检查错误日志,查找404错误出现的原因,然后进行相应的修复。常见的处理方法包括设置301重定向,将错误的URL重定向到正确的页面,或者设计一个友好的404页面,向用户解释页面不存在,并提供其他链接或搜索功能给用户。 总之,HTTP状态404 - 未找到表示请求资源未被找到。对于网页浏览者来说,应该检查URL是否正确,或者联系网站管理员寻求帮助。对于网站所有者来说,及时处理404错误,提供良好的用户体验,可以增加网站的可靠性和可访问性。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊~小 l i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值