介绍
本章我们主要了解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拼接代码了.