第 2 章 创建一个 hello world servlet
创建一个 servlet,它将在访问时返回 "Hello world!"。
在此过程中,<application_home> 指向包含应用程序 pom.xml
配置文件的目录。
先决条件
您已创建了一个 Maven 项目。
如需更多信息,请参阅为 Hello World 应用创建一个 Maven 项目。
流程
在 <
dependencyManagement
> 部分后,将所需的依赖项添加到pom.xml
配置文件。<project> ... <dependencies> <dependency> 1 <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <scope>provided</scope> 2 </dependency> </dependencies>
注意依赖项在没有版本的情况下定义,因为
jboss-eap-ee-with-tools
BOM 在 <dependencyManagement&
gt; 部分中导入。- 进入 < application_home> 目录。
创建一个用于存储 Java 文件的目录。
$ mkdir -p src/main/java/org/jboss/as/quickstarts/helloworld
前往新目录。
$ cd src/main/java/org/jboss/as/quickstarts/helloworld
创建 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> /HelloWorld" 中提供 servlet。
例如,如果 JBoss EAP 在 localhost 上运行,且位于默认的 HTTP 端口 8080,则 URL 为
http://localhost:8080/helloworld/HelloWorld
。
进入 < application_home>/src/main/webapp 目录。
您会找到 Maven 创建的"index.jsp"文件。当您访问应用程序时,此文件会输出 "Hello World!"。
通过用以下内容替换其内容,更新 "index.jsp" 文件,以重定向到 Hello World servlet :
<html> <head> <meta http-equiv="Refresh" content="0; URL=HelloWorld"> </head> </html>
- 进入 < application_home> 目录。
使用以下命令编译并打包应用程序作为 Web 归档(WAR):
$ mvn package
输出示例
... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ ...
后续步骤