如何在 Glassfish 上运行 Tutorialpoint 的 Servlet Post 示例?



我开始学习Java Servlets,因为很多人建议我先从Servlets开始,然后再转向Spring和其他JavaEE框架和技术。 Tutorialspoint有很多例子,但我不能在Tomcat以外的任何东西上运行它们。我正在使用Netbeans IDE,Maven和Glassfish。如何使用这些软件包运行基本的开机自检示例? 链接到示例:

教程点帖子示例可以在这里找到。

1. 设置pom.xml:

在 Netbeans IDE 中创建一个新的 maven 项目。将包装改为 pom 中的战争.xml。

<packaging>war</packaging>

将此依赖项添加到 pom.xml 中的依赖项。 这会将必要的 servlet 类添加到类路径中。

<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>

设置maven-war-plugin版本。对于 3.0.0 或更高版本,您不必创建 ServletRoot/WEB-INF/web.xml。如果跳过此步骤,则项目将无法在不配置 web.xml 的情况下进行编译。 我称"ServletRoot"为这条路径:mavenproject/src/main/webapp 关于软件包目录结构的良好解释可以在 3.1 中找到: 包结构

<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</build>

2. 将 index.html Create index.html 放入mavenproject/src/main/webapp 中,并将此代码片段复制到其中。请注意,表单标签的 action 属性的值必须与 servlet 的 WebServlet 注释的值匹配。在这种情况下,它将是这样的:

@WebServlet("/postexample")

索引.html:

<html>
<body>
<form action = "postexample" method = "POST">
First Name: <input type = "text" name = "first_name">
<br />
Last Name: <input type = "text" name = "last_name" />
<input type = "submit" value = "Submit" />
</form>
</body>
</html>

3. 在包中创建一个新类。不要使用默认包。

我把它命名为POSTExample。下面是没有包声明的代码:

// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
// Extend HttpServlet class
@WebServlet("/postexample")
public class POSTExample extends HttpServlet {
// Method to handle GET method request.
@Override
public void doGet(HttpServletRequest request, HttpServletResponse         response)
throws ServletException, IOException {
// Set response content type
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String title = "Using GET Method to Read Form Data";
String docType =
"<!doctype html public "-//w3c//dtd html 4.0 " +
"transitional//en">n";
out.println(docType +
"<html>n" +
"<head><title>" + title + "</title></head>n" +
"<body bgcolor = "#f0f0f0">n" +
"<h1 align = "center">" + title + "</h1>n" +
"<ul>n" +
"  <li><b>First Name</b>: "
+ request.getParameter("first_name") + "n" +
"  <li><b>Last Name</b>: "
+ request.getParameter("last_name") + "n" +
"</ul>n" +
"</body>n" +
"</html>"
);
}
// Method to handle POST method request.
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}

4. 构建 maven 项目在 Netbeans IDE 中,您有一个按钮。Neteans也可以将其自动部署到玻璃鱼上,但我还没有尝试过。因此,我将向您展示如何使用眼镜鱼管理器手动部署它。 您可以使用命令行构建它。

mvn clean package

5. 部署打开命令行并使用此命令。它将启动玻璃鱼服务器,并将记录很多。

asadmin start-domain --verbose 

打开浏览器并输入此 URI。我假设您使用的是玻璃鱼的默认设置。默认端口等...

http://localhost:4848/

在"常见任务"下,您可以找到"应用程序"。点击它。然后单击部署。如果有的话,它位于列出的应用程序上方。现在,您必须输入创建的战争文件的位置。或者你可以拖放。它的位置是 Mavenproject/target/yourwarfile.war

在玻璃鱼管理器中单击"确定"之前,为"上下文根"提供一个简单的文本,例如"myservlet"。你必须记住这一点。 如果您做得很好,则可以使用此链接在浏览器中运行该示例: http://localhost:8080/myservlet

在这种情况下,"myservlet"是你在玻璃鱼管理器中设置的上下文根。

最新更新