This question already has answers here:
Servlet returns “HTTP Status 404 The requested resource (/servlet) is not available”
                                
                                    (10个答案)
                                
                        
                                3年前关闭。
            
                    
老实说,我是一个学习者,这是我有史以来第一个servlet程序。
我制作了基本的servlet,并安装了tomcat版本6甚至tomcat版本8。
服务器正确启动,我能够看到tomcat启动页面

http://localhost:8080


但是登录到tomcat管理器后,当我单击我的文件夹名称时,它给我一个错误提示

http状态404- / online /(在线是我在webapps中创建的文件夹)

类型状态报告

消息/在线/

描述所请求的资源不可用。

这是我的密码

web.xml->(在文件夹online-> WEB-INF中)

- <web-app>
- <servlet>
  <servlet-name>FirstServlet</servlet-name>
  <servlet-class>FirstServlet</servlet-class>
  </servlet>
- <servlet-mapping>
  <servlet-name>FirstServlet</servlet-name>
  <url-pattern>/FirstServlet</url-pattern>
  </servlet-mapping>
  </web-app>


FirstServlet.java->

import javax.servlet.*;
import java.io.*;

class FirstServelet implements Servlet
{
    public void init(ServletConfig config)
    {

    }

    public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException
    {
        PrintWriter out;
        out=response.getWriter();
        out.println("hello");
        out.println("<html>");
        out.println("<head>");
        out.println("<title>MY First Servlet</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<marquee>ban ja tar pls</marquee>");
        out.println("</body>");
        out.println("</html>");

    }

    public String getServletInfo()
    {
        return null;
    }

    public ServletConfig getServletConfig()
    {
        return null;
    }

    public void destroy ()
    {

    }
}


请解决404错误

最佳答案

问题是您没有welcome-file-list,我认为默认页面是index.html,我想它不在您的文件夹中。您可以提供任何html或jsp文件作为默认文件,但不能提供以下servlet。

<welcome-file-list>
      <welcome-file>myfile.html</welcome-file>
</welcome-file-list>


您可以通过点击http://localhost:8080/online/FirstServlet URL来访问servlet。

您可以创建一个默认页面,该页面将重定向到FirstServlet,即

myfile.html

<meta http-equiv="refresh" content="0; url=http://localhost:8080/online/FirstServlet" />


还有@Braj在注释extend HttpServlet中而不是implement Servlet中所说的内容。

编辑

您在Servlet名称中有错字。将servlet名称从FirstServlet更改为FirstServelet

关于java - Apache Tomcat错误http状态404 ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24849700/

10-15 09:07