Intro to JSP
What is JSP
简单地说 jsp 就是 html + java, 其本质是一个 Servlet.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>hello jsp</h1>
<%
System.out.println("hello,jsp~");
%>
</body>
</html>
这是一个 JSP 脚本的示例。
编译之后打开 target/tomcat/work 目录底下会找到 hello.jsp 转成的 servlet 源代码和字节码。
我们再看一下 HttpJspBase 这个类:
可以看到这个类继承了 HttpServlet, 因此可以说, jsp 本质上就是一个 Servlet
继续阅读 hello_jsp 类的代码,可以看到有一个名为 _jspService() 的方法,该方法就是每次访问 jsp 时自动执行的方
法,和 servlet 中的 service 方法一样 。
而在 _jspService() 方法中可以看到往浏览器写标签的代码:
这部分代码本来是需要我们自己编写的,jsp 帮我们省去了这些工作,直接以标签的形式就可以书写 html 代码,又可以加入 java 代码。
Using JSP
- 导入 JSP 依赖
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
其中 <scope>provided</scope>
是不可缺少的,因为 tomcat 里面已经有 JSP 相关的字节码了,如果不限制 scope 会在后面运行时报错。
2. 在 webapp 目录下创建 jsp 页面
3. 编写代码
在 hello.jsp 页面中书写 HTML 标签和 Java 代码,如下
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>hello jsp</h1>
<%
System.out.println("hello,jsp~");
%>
</body>
</html>
JSP script
JSP脚本用于在 JSP页面内定义 Java代码。在之前的代码中我们就在 JSP 页面定义的 Java 代码就是 JSP 脚本。
JSP 脚本有如下三个分类:
<%...%>:内容会直接放到_jspService()方法之中
<%=…%>:内容会放到out.print()中,作为out.print()的参数
<%!…%>:内容会放到_jspService()方法之外,被类直接包含
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义