JSP动态网页
前言:奇怪,怎么都没人(我身边的人)提到JSP。之前学了些前端的技术呀,以为就那些到头了,本周Web应用开发这门课布置了JSP的作业,才第一次知道JSP这项技术(捂脸)。看来还是学校的课程更完善呀,虽然上课太慢了,但作业涉及到的内容还是可以看看的,
什么是JSP
JSP 的全称是 JavaServer Pages(Java 服务器页面),是一种能在 HTML 里嵌入 Java 代码的网页技术,比如 <% out.print("你好," + 用户名); %>,就能动态显示不同用户的名字。
核心特点:
- 它是「服务器端」的技术:代码不在浏览器里跑,在服务器(比如 Tomcat)里跑。
- 最终生成的还是 HTML:服务器执行完 Java 代码,会把结果转成纯 HTML 发给浏览器,所以浏览器看到的和普通网页没区别。
JSP 里的关键元素
1.HTML 原生代码
普通的 HTML、CSS、JS,和静态页面一样,Tomcat 不会处理它们,直接原封不动发给浏览器。
2.脚本元素 <% ... %>
在里面写 Java 代码,Tomcat 会执行,如:
<%
String username = request.getParameter("username");
if("admin".equals(username)){
out.print("欢迎管理员!");
}
%>
3.JSP 动作标签
<jsp:forward>、<jsp:include> 等 JSP 内置标签,用来实现跳转、包含页面等功能,由 Tomcat 执行。
例,<jsp:forward> 是一个服务端跳转页面指令,服务器收到请求后,直接在服务器内部转发请求,再把结果发给浏览器。整个过程只发生在服务器里,浏览器完全不知道,地址栏不会变,用户体验更流畅。
<jsp:forward page="index.jsp"/>
4.隐式对象
JSP 里自带了几个不用声明就能用的对象,比如:
request:获取用户提交的表单数据response:控制服务器的响应session:保存用户登录状态out:输出内容到页面
一个简单的 JSP 示例
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>我的第一个JSP页面</title>
</head>
<body>
<h1>欢迎来到我的第一个JSP页面!</h1>
<%
// 这是服务器端的Java代码,由Tomcat执行
String username = "gulugulu";
out.print("<p>当前登录用户:" + username + "</p>");
// 动态显示当前时间
java.util.Date now = new java.util.Date();
out.print("<p>服务器当前时间:" + now + "</p>");
%>
</body>
</html>
Tomcat
JSP 必须要有 Servlet 容器才能运行
JSP 里面嵌入了 Java 代码,这些代码的执行、编译、请求处理,都需要一个专门的环境。Tomcat 就是最主流、最通用的「Servlet/JSP 容器」。
(大家之前学过Java嘛,下载过JDK了吧,没下要先下载)
安装 / 解压 Tomcat
下载网址:https://tomcat.apache.org/
部署方式
把整个项目文件夹复制到:apache-tomcat-9.0.117-windows-x64\apache-tomcat-9.0.117\webapps目录下
启动Tomcat
双击 bin/startup.bat 启动(图示是正常的,中文字符不匹配而已)

浏览器访问
用户请求 JSP 页面的完整流程
- 户在浏览器输入地址:比如
http://localhost:8080/exp1/login.jsp - 请求发送到 Tomcat:Tomcat 收到请求,发现这是个
.jsp文件,不是静态 HTML。 - Tomcat 编译 JSP:Tomcat 第一次收到这个 JSP 请求时,会自动把它翻译成一个 Java Servlet 类,再编译成字节码文件(
.class)。 - Tomcat 执行 Servlet:执行里面的 Java 代码,比如验证用户名、查询数据库、处理逻辑。
- 生成纯 HTML 响应:把 Java 代码的执行结果,和页面里的 HTML 模板拼接成一个完整的纯 HTML 页面。
- Tomcat 把 HTML 发给浏览器:浏览器拿到纯 HTML,正常渲染显示给用户。
补充:现在大部分新项目已经不用 JSP 了,改用前后端分离(Vue/React + Spring Boot),但在学习阶段,JSP 是理解「服务器动态网页」和「Tomcat 工作原理」的最好方式。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)