介绍
本章我们主要了解JSP的用途和基本语法
- 了解JSP的用途
- 了解JSP执行原理
- 掌握JSP基本语法
JSP 全称是(Java Server Pages),Java服务器页面,JSP是J2EE的功能模块,有Web服务器执行,JSP的作用就是降低动态网页开发难度.
为什么要用到JSP,主要解决Servlet的痛点,我们知道Servlet在响应时,返回html是需要进行拼接,而这种拼接,会相当麻烦.JSP解释解决这种痛点,继续往下看.
Servlet 痛点

在上述的代码中,我们请求Servlet,如果我们要返回一个html页面,那么就需要out.println各种拼接,甚至会出现混乱,无法维护的情况,试想一下,如果我们要用上述的形式写一个淘宝首页,你是不是会直接崩溃掉,,,,……
Servlet的缺点
- 静态HTML与动态Java代码混合在一起,难以维护
- Servlet利用out.println()语句输出,开发效率低下
- Eclipse很难在开发过程中发现错误,调试困难
将静态的脚本和动态的代码,区分开使程序更加容易维护
JSP的特点
- JSP使用简单,学习成本低
- JSP可将Java代码与HTML分离,降低开发难度
- JSP的本质就是Servlet
我们现看一下JSP的执行过程,如下图:








<%= %>标签内不需要添加分号
<% %>代码脚本中需要语句后面需要增加分号
如下代码,在WebContent下面创建一个jsp文件,如下基本的jsp代码,其实和我们写Java和Html没有什么区别
<%@page contentType="text/html; charset=UTF-8" %><%int x = -5;int y = 0;if(x < 0){y = -1;}else if(x == 0){y = 0;}else{y = 1;}%><div style="text-align: center;"><p>当x<0时,输出</p><p>x=<%=x %></p><p>y=<%=y %></p></div>
我们还可以在JSP中声明方法,调用变量,以及导入其他JSP文件复用相同的页面等.
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%List<String> list = new ArrayList<>();list.add("JSP基础入门");list.add("Servlet视频详解");list.add("EL表达式初识");list.add("JSTL标签库初识");%><% for(int i=0;i<list.size();i++){ %><p>第 <%=i+1 %> 条: <%=list.get(i) %></p><% } %><%@ include file="prime.jsp" %><%! public void test(){}%>
综上所述,JSP方便了我们将HTML代码独立出来,而不用在Servlet中手撕HTML代码了. 其实JSP就是将这个过程给省掉了,JSP在内部转换成了Servlet,而不用我们在手动去创建Servlet和手撕HTML拼接代码了.
