# Java JSP 示例
> 原文: [https://javatutorial.net/java-jsp-example](https://javatutorial.net/java-jsp-example)
本示例演示如何创建一个简单的 JSP 页面
在之前的教程中,我向您展示了如何使用 Servlet 处理[请求](https://javatutorial.net/java-servlet-example),[响应](https://javatutorial.net/java-servlet-post-example),[请求参数](https://javatutorial.net/servlet-request-info-example)和[上传文件](https://javatutorial.net/java-servlet-file-upload)。 但是,您可能已经注意到,使用 servlet 呈现 Web 应用程序的 HTML 内容是多么不便。 重复调用`ServletOutputStream`或`PrintWriter`类上的方法以输出内容,并且必须将 HTML 内容放入 Java 字符串中,这需要转义引号,这确实是一个难题。 在此示例中,您将了解 Java Server Pages 以及它们如何使您的生活更加轻松。
## 什么是 JSP?
Java EE 规范的创建者意识到,使用 servlet 生成纯 HTML 内容需要付出的精力比需要的多。 纯 HTML 页面的问题在于它们是静态的。 使用 servlet 时,我们可以生成动态内容并将其呈现为 HTML。 JavaServer Pages(也称为 JSP)是解决此问题的方法。 JSP 本质上是一种混合解决方案,结合了 Java 代码和 HTML 标签。 JSP 除了 Java 代码外,还可以包含任何 HTML 标记。
## JSP 示例
在下面的示例中,我们将显示一个简单的 JSP 页面,其中显示了当前时间。
首先让我们看一下项目结构:
![JSP project structure](img/b49890a08d0df4d0daaa8d704a4ee8ca.jpg)
JSP 项目结构
如您所见,结构非常简单。 一个 Maven POM 文件,用于处理依赖关系和构建属性:
```java
4.0.0
net.javatutorial.tutorials
JSPExample
1
war
JSPExample
https://javatutorial.net
UTF-8
javax.servlet
javax.servlet-api
3.1.0
provided
javax.servlet.jsp
javax.servlet.jsp-api
2.3.1
provided
jspexample
org.apache.maven.plugins
maven-war-plugin
2.3
src/main/webapp
org.apache.maven.plugins
maven-compiler-plugin
3.1
1.8
```
一个仅包含应用程序显示名称的简单 web.xml
```java
JSP Example
```
和实际的 JSP 文件:
```java
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.time.LocalDateTime" %>
Simple JSP Application
Hello world!
Current time is <%= LocalDateTime.now() %>
```
现在让我们仔细看看 index.jsp
JSP 中可以使用几种不同类型的标签。 在上面的示例中,我们使用指令类型<% @ page…% >将页面编码设置为 UTF-8
```java
<%@ page contentType="text/html;charset=UTF-8" %>
```
默认情况下(如果我们的 JSP 文件中不包括此行),字符编码将设置为 ISO-8859-1,如果我们要使用非拉丁字母的特殊字符和字母,这将很不方便。
我们使用另一个指令导入 LocalDateTime
```java
<%@ page import="java.time.LocalDateTime" %>
```
最后,为了显示当前时间,我们使用了一个名为 expression 的特殊标签<% =…/ >。 表达式包含简单的 Java 代码,这些代码返回可以写到客户端输出的内容,并且表达式将该代码的返回变量输出到客户端:
```java
Current time is <%= LocalDateTime.now() %>
```
部署应用程序后,转到 http:// localhost:8080 / jspexample / index.jsp
您应该会看到与此页面相似的页面
![JSP page output](img/d4e6e47f37a2fb8761cf555f984c0025.jpg)
JSP 页面输出
您可以在我们的 [GitHub 存储库](https://github.com/JavaTutorialNetwork/Tutorials/tree/master/JSPExample)中找到此示例的源文件。