【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法

如果报错404一般是因为地址栏的地址不正确,或者路径不匹配导致的。
今天创建web项目的过程中,有几次出现404报错问题,妈的。。。。。。

文章目录

      • 1.Tomcat报错404
      • 2.post方式表单提交报错404

1.Tomcat报错404

【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法_第1张图片
下面是我在各种错误中总结的解决方法,不知道对你有用不。。。一步一步来看。。。。。

1.首先看下上面的错误:
【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法_第2张图片
2.一旦发现是上面的错误,首先找配置:
看一下配置中Application context(应用目录)中的内容
【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法_第3张图片

3.第一种解决方法:
【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法_第4张图片
在这里插入图片描述
4.第二种解决方法:
将配置中应用目录斜杠后面的内容去掉,也就是说如果/后面没有内容,就不用在地址栏加上额外的内容,如果/后面有内容,就要在地址栏加上相同的内容。
【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法_第5张图片
4.再来运行下程序:
如果应用目录/后面没有内容,那么地址栏也不用加
【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法_第6张图片
在这里插入图片描述

2.post方式表单提交报错404

login.html文件:

<html>
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
head>
<body>
<form action="/demo3" method="post">
    <input name="username">
    <input type="submit" value="提交">
form>
body>
html>
package Servlet体系结构_02;

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("/demo3")
public class ServletDemo2 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doGet.....");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doPost....");
    }
}

【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法_第7张图片
【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法_第8张图片
【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法_第9张图片
【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法_第10张图片
【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法_第11张图片
【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法_第12张图片
报错原因:表单提交的地址是localhost:8080/demo3
但是sevlet执行的地址是localhost:8080/14_Servlet_war_exploded/demo3
所以只要一提交就会报错

解决方法:用上面的第二种解决方法,即把Application context中的/后面的内容去掉
在这里插入图片描述
【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法_第13张图片
【Servlet-0】Tomcat报错404以及使用post方式提交表单报错404解决方法_第14张图片
在这里插入图片描述
注意:如果想成功的提交表单,Application context中/后面不要加任何内容
如果是普通的Servlet执行程序,可以Application context中加内容,但在地址栏访问时也要加上相应的内容。

说明:项目的正确路径为:本机地址+端口号+Application context后面的内容
如果报错404,首先检测下项目路径是否正确

你可能感兴趣的:(Servlet)