JSP概述

==JSP(全称:Java Server Pages):Java 服务端页面。==是一种动态的网页技术,其中既可以定义 HTML、JS、CSS等静态内容,还可以定义 Java代码的动态内容,也就是 JSP = HTML + Java。如下就是jsp代码image.png
上面代码 h1 标签内容是展示在页面上,而 Java 的输出语句是输出在 idea 的控制台。
那么,JSP 能做什么呢?现在我们只用 servlet 实现功能,看存在什么问题。
如下图所示,当我们登陆成功后,需要在页面上展示用户名

2. JSP 快速入门

2.1 搭建环境

创建一个maven的 web 项目,项目结构如下:image-20210818104316457.png
pom.xml 文件内容如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>org.example</groupId>
  7. <artifactId>jsp-demo</artifactId>
  8. <version>1.0-SNAPSHOT</version>
  9. <packaging>war</packaging>
  10. <properties>
  11. <maven.compiler.source>8</maven.compiler.source>
  12. <maven.compiler.target>8</maven.compiler.target>
  13. </properties>
  14. <dependencies>
  15. <dependency>
  16. <groupId>javax.servlet</groupId>
  17. <artifactId>javax.servlet-api</artifactId>
  18. <version>3.1.0</version>
  19. <scope>provided</scope>
  20. </dependency>
  21. </dependencies>
  22. <build>
  23. <plugins>
  24. <plugin>
  25. <groupId>org.apache.tomcat.maven</groupId>
  26. <artifactId>tomcat7-maven-plugin</artifactId>
  27. <version>2.2</version>
  28. </plugin>
  29. </plugins>
  30. </build>
  31. </project>

2.2 导入 JSP 依赖

在 dependencies 标签中导入 JSP 的依赖,如下
该依赖的 scope 必须设置为 provided,因为 tomcat 中有这个jar包了,所以在打包时我们是不希望将该依赖打进到我们工程的war包中。

  1. <dependency>
  2. <groupId>javax.servlet.jsp</groupId>
  3. <artifactId>jsp-api</artifactId>
  4. <version>2.2</version>
  5. <scope>provided</scope>
  6. </dependency>

2.3 创建 jsp 页面

在项目的 webapp 下创建jsp页面
image-20210818105519970.png
通过上面方式创建一个名为 hello.jsp 的页面。

2.4 编写代码

在 hello.jsp 页面中书写 HTML 标签和 Java 代码,如下

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>Title</title>
  5. </head>
  6. <body>
  7. <h1>hello jsp</h1>
  8. <%
  9. System.out.println("hello,jsp~");
  10. %>
  11. </body>
  12. </html>

2.5 测试

启动服务器并在浏览器地址栏输入 http://localhost:8080/jsp-demo/hello.jsp,我们可以在页面上看到如下内容![image-20210818110122438.png](https://cdn.nlark.com/yuque/0/2022/png/28889470/1657502286159-67558f50-7376-4541-a4dc-029a0173358d.png#clientId=ufc19900b-739c-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=168&id=u53594ea5&margin=%5Bobject%20Object%5D&name=image-20210818110122438.png&originHeight=210&originWidth=1040&originalType=binary&ratio=1&rotation=0&showTitle=false&size=12674&status=done&style=none&taskId=u29e18108-dc3c-4d82-bec1-23e65102120&title=&width=832)
同时也可以看到在 idea 的控制台看到输出的 hello,jsp~ 内容。