搜索

第 2 章 创建一个 hello world servlet

download PDF

创建一个 servlet,它将在访问时返回 "Hello world!"。

在此过程中,<application_home> 指向包含应用程序 pom.xml 配置文件的目录。

先决条件

流程

  1. 在 < dependencyManagement > 部分后,将所需的依赖项添加到 pom.xml 配置文件。

    <project>
        ...
        <dependencies>
            <dependency>                                             1
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <scope>provided</scope>                              2
            </dependency>
        </dependencies>
    1
    jakarta.servlet-api 依赖项提供 Jakarta Servlet API。
    2
    定义 提供 的范围,以便依赖项不包含在应用程序中。不包含应用中的依赖项的原因是,此依赖项由 jboss-eap-ee-with-tools BOM 管理,此类依赖项包含在 JBoss EAP 中。
    注意

    依赖项在没有版本的情况下定义,因为 jboss-eap-ee-with-tools BOM 在 < dependencyManagement& gt; 部分中导入。

  2. 进入 < application_home> 目录。
  3. 创建一个用于存储 Java 文件的目录。

    $ mkdir -p src/main/java/org/jboss/as/quickstarts/helloworld
  4. 前往新目录。

    $ cd src/main/java/org/jboss/as/quickstarts/helloworld
  5. 创建 return "Hello World!" 的 Servlet HelloWorldServlet.java

    package org.jboss.as.quickstarts.helloworld;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import jakarta.servlet.ServletException;
    import jakarta.servlet.annotation.WebServlet;
    import jakarta.servlet.http.HttpServlet;
    import jakarta.servlet.http.HttpServletRequest;
    import jakarta.servlet.http.HttpServletResponse;
    
    @WebServlet("/HelloWorld")                      1
    public class HelloWorldServlet extends HttpServlet {
    
        static String PAGE_HEADER = "<html><head><title>helloworld</title></head><body>";
    
        static String PAGE_FOOTER = "</body></html>";
    
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            resp.setContentType("text/html");
            PrintWriter writer = resp.getWriter();
            writer.println(PAGE_HEADER);
            writer.println("<h1> Hello World! </h1>");
            writer.println(PAGE_FOOTER);
            writer.close();
        }
    }
    1
    @WebServlet ("/HelloWorld") 注释为 JBoss EAP 提供以下信息:
    • 此类是 servlet。
    • 在 URL " <application_URL&gt; /HelloWorld" 中提供 servlet。

      例如,如果 JBoss EAP 在 localhost 上运行,且位于默认的 HTTP 端口 8080,则 URL 为 http://localhost:8080/helloworld/HelloWorld

  6. 进入 < application_home>/src/main/webapp 目录。

    您会找到 Maven 创建的"index.jsp"文件。当您访问应用程序时,此文件会输出 "Hello World!"。

  7. 通过用以下内容替换其内容,更新 "index.jsp" 文件,以重定向到 Hello World servlet :

    <html>
        <head>
            <meta http-equiv="Refresh" content="0; URL=HelloWorld">
        </head>
    </html>
  8. 进入 < application_home> 目录。
  9. 使用以下命令编译并打包应用程序作为 Web 归档(WAR):

    $ mvn package

    输出示例

    ...
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    ...

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.