在本 Java 教程中,我们将帮助您了解使用 Eclipse IDE、Maven 作为构建系统、Tomcat 作为 Web 服务器从头开始开发 Java Web 应用程序(基于 Servlet 和 JSP)的过程。本教程对 JSP、Servlet、Eclipse、Maven 和 Tomcat 的初学者很有帮助。
本教程中使用了以下技术和软件:
- JDK 8
- Servlet 3.1
- JSP 2.3
- Eclipse 4.6 (Neon)
- Apache Tomcat 8
开始吧。
1. 创建 Java 动态 Web 项目
在 Eclipse IDE 中,单击菜单File > New > Dynamic Web Project为 Java Web 应用程序创建一个项目。将项目命名为HelloWorldJavaEE并保留以下默认设置:
- 目标运行时:Apache Tomcat v8.0
- 动态网页模块版本(Servlet 版本):3.1
- 配置:Apache Tomcat v8.0 的默认配置
如以下屏幕截图所示:
单击下一步两次以转到此屏幕:
在这里,我们可以检查选项_生成 web.xml 部署描述符_以创建web.xml文件。但是由于 Servlet 3.0 可以用注解声明,我们可以选择不创建这个 XML 文件。单击完成。
Eclipse 创建的项目如下所示:
这是一个典型的 Java EE 项目。接下来,我们将添加 Maven 支持。
2.在Maven的项目文件中添加Serlvet和JSP的依赖
现在,我们需要添加 Maven 作为我们项目的构建管理器。为此,请右键单击项目并选择配置 > 转换为 Maven项目。出现_Create New POM_对话框,输入以下信息:
请注意,组 ID将用作我们 Java 代码的主包。现在您可以看到在项目中创建的pom.xml文件。以 XML 模式打开它,并将以下代码放在**和**元素之间:
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
您可以看到这是 Servlet API 3.1.0 和 JSP API 2.3.1 的两个依赖项。保存 pom.xml文件,Maven 将在几秒钟内下载依赖的 JAR 文件,您可以在项目的 Libraries部分看到:
3. 创建 JSP 页面
右键单击项目并选择New > JSP File。_在New JSP File_对话框中输入index.jsp作为文件名:
单击Finish,您会看到 Eclipse 在WebContent目录下创建了index.jsp文件。使用以下代码更新它:
1
2
3
4
5
6
7
8
9
10
11
12
13
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
????``pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
????``"http://www.w3.org/TR/html4/loose.dtd">
<``html``>
<``head``>
<``meta
http-equiv``=``"Content-Type"
content``=``"text/html; charset=ISO-8859-1"``>
<``title``>Hello World Java EE</``title``>
</``head``>
<``body``>
????``<``h1``>Hello JSP and Servlet!</``h1``>
</``body``>
</``html``>
如您所见,此页面仅使用 HTML 代码来显示文本“Hello JSP and Servlet!”。
4. 测试 JSP 页面
现在,让我们测试一下 JSP 页面,看看服务器是否正常工作。如果您尚未将 Tomcat 服务器添加到 Eclipse,请按照本教程将 Apache Tomcat 添加到 IDE。
要将项目部署到 Tomcat 上,只需将项目从Project Explorer视图拖到Servers视图,这会产生以下屏幕截图:
右键单击服务器并选择Start。Tomcat 将在几秒钟后处于 Started 状态,您会看到 Console 视图中的最后一行是这样的:
1
INFO: Server startup in 1239 ms
现在我们可以通过以下方式测试 JSP 页面:
- 右键单击项目,选择Run As > Run on Server,然后在_Run on Server_对话框中单击**Finish 。**这将在 IDE 中打开一个内部 Web 浏览器,如下所示:
如果您看到页面显示“Hello JSP and Servlet!”,则表示 Web 应用程序已启动并成功运行。恭喜!
- 另一种方法是打开外部浏览器,例如 Google Chrome 并输入以下 URL(如内部网络浏览器所示):
http://localhost:8080/HelloWorldJavaEE/
5.更新JSP页面(添加表单)
接下来,让我们更新 JSP 页面以使用 Java servlet。这个想法是添加一个 Web 表单并在提交时,该表单将由 servlet 处理。**在页面的**标记之间添加以下代码:
1
2
3
4
5
<``h1``>Hello JSP and Servlet!</``h1``>
<``form
action``=``"helloServlet"
method``=``"post"``>
????``Enter your name: <``input
type``=``"text"
name``=``"yourName"
size``=``"20"``>
????``<``input
type``=``"submit"
value``=``"Call Servlet"
/>
</``form``>
此 HTML 代码将带有文本字段和提交按钮的表单添加到页面。表单的action属性指定处理此表单提交的 URL。在这种情况下,我们指定一个相对于应用程序的路径,它指向一个我们将在下一节中创建的 Java servlet。
保存文件并刷新浏览器,您将看到:
尝试在文本字段中输入内容并单击Call Servlet,我们会得到一个 404 错误页面,如下所示:
别担心。这是因为我们还没有创建任何 Java servlet 来处理这个请求。我们将在下一节中这样做。
6. 创建一个 Java Servlet
在创建 servlet 之前,让我们通过右键单击项目创建一个名为net.codejava.javaee****的 Java 包,选择New > Package。_在New Java Package_对话框中输入该包名称。
现在单击新创建的包名并选择New > Servlet,然后在_Create Servlet_对话框中输入HelloServlet作为类名:
单击下一步。在下一个屏幕中,编辑从_/HelloServlet_到_/helloServlet_的 URL 映射,如以下屏幕截图所示:
注意:此 URL 映射必须与 JSP 页面中为表单的action属性指定的值匹配,以便 servlet 可以处理来自表单的请求。
在下一个屏幕中,取消选中选项**doGet以便仅生成doPost()**方法来处理表单:
点击Finish,让Eclipse为HelloServlet类生成代码,如下图:
放在类声明之前的**@WebServlet注释指定这个类是一个Java servlet,它负责以/helloServlet**的形式处理请求。
**doPost()**方法是我们放置代码以处理发送到此 servlet 的 HTTP POST 请求的地方。该方法接受两个参数,HttpServletRequest代表请求,HttpServletResponse代表响应。这些请求和响应对象由 Servlet 容器 (Tomcat) 创建和注入。
现在,将以下代码放入方法**doPost()**中:
1
2
3
4
String yourName = request.getParameter(``"yourName"``);
PrintWriter writer = response.getWriter();
writer.println(``"<h1>Hello "
+ yourName +?``"</h1>"``);
writer.close();
此代码仅从表单中检索字段yourName的值并将字符串写入响应。
7. 测试 Servlet
保存HelloServlet类并重新启动服务器。刷新主页,在表格中输入你的名字,例如:
单击Call Serlvet按钮,您会看到以下响应:
恭喜!看到这个页面意味着 servlet 已经完成了请求并给出了响应。
到目前为止,我们已经向您介绍了开发一个基于 JSP 和 Servlet 技术的“Hello world”Java Web 应用程序的过程,该应用程序使用 Eclipse IDE 和 Maven 作为构建系统,Tomcat 作为服务器。我们希望您发现本教程对您有所帮助,并感谢您的阅读。