当前位置: 首页 > 知识库问答 >
问题:

如何使用eclipse kepler和Apache7制作和运行servlet

通令
2023-03-14

我正在制作这个新的servlet:

package Servlets;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Hello
 */
public class Hello extends HttpServlet
{
    private static final long   serialVersionUID    = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public Hello()
    {
        super();
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        response.setContentType("text/html");

        PrintWriter out = response.getWriter();
        out.println("It works");
        out.close();
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        doGet(request, response);
    }

}

这是我在WEB-INF中的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>FirstServlet</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>

   <servlet>
      <servlet-name>Hello</servlet-name>
      <servlet-class>Hello</servlet-class>
   </servlet>

   <servlet-mapping>
      <servlet-name>Hello</servlet-name>
      <url-pattern>/hello</url-pattern>
   </servlet-mapping>
</web-app>

创建动态web项目时,会自动生成display-name和welcome-file-list标记。servlet和servlet映射由我编写。当我使用Appache7运行项目时,它显示HTTP status404-/firstservlet/。我的错在哪里?

共有1个答案

方权
2023-03-14

1)您可能缺少列出的所有欢迎文件。404是当没有文件时应该发生的情况。

2)servlet映射被破坏。servlet-class元素需要一个完全限定的类名,它应该是servlets.hello而不是仅仅hello。当正确映射时,/firstservlet/hello将到达您的servlet,匹配映射的URI,然后根据名称找到注册的servlet,最后到达应该执行的完全限定的类。

 类似资料:
  • 问题内容: 我需要在docker容器中同时使用java和python来运行一些代码。 这是我的dockerfile:如果我不添加 FROM openjdk:slim,* 它将正常运行 * test.py应用程序位于同一目录中: 我收到此错误: 我到底在做什么错?我是Docker的新手,也许我错过了一步。 额外细节 我的目标 我必须运行一个运行Java文件的python程序。我正在使用的python

  • 我有一个IntelliJ的终极版,声明支持Jetty和Vaadin。但我不能做一个在Jetty,Vaadin,Gradle上运行的hello项目。 我如何检查我是否真的添加了Jetty,它是否有效?也许,我得给下面的瓦丁课加点什么?

  • nginx命令行参数 不像许多其他软件系统,Nginx 仅有几个命令行参数,完全通过配置文件来配置 -c </path/to/config> 为 Nginx 指定一个配置文件,来代替缺省的。 -t 不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。 -v 显示 nginx 的版本。 -V 显示 nginx 的版本,编译器版本和配置参数。 ng

  • 我需要在我的docker容器中同时使用java和python来运行一些代码。 我的目标 我必须运行一个运行Java文件的python程序。我使用的python库需要的路径。 我的问题: Python包装器以我需要的方式运行文件。

  • 问题内容: 我在文件MyClass.java文件中有一个名为MyClass的类(下面提到的代码) 我在上课 但是我正在尝试使用 要么 我遇到错误 但是,如果我省略了软件包名称,则可以运行该程序。我要去哪里错了? 问题答案: 确保您位于包文件夹(已编译的类文件所在的文件夹)的父目录中,并执行以下命令: 下面是一个示例文件结构: 在上面的示例结构中,您将必须从“ bin”目录中执行命令。 另外,将类定

  • 我有一个混合的Java/Scala项目,包含JUnit和ScalaTest测试。使用scalatest插件,Gradle在中运行scalatest测试,但忽略中的JUnit测试。没有插件,Gradle运行JUnit测试,但忽略Scala。我错过了什么把戏? 我的: ETA:我知道有可能对Scala测试进行注释,以迫使它们与JUnit测试运行器一起运行。我正在寻找一个一站式的解决方案,它不需要编辑每