前言
在学习JSP之前,首先咱们要了解的是,学这个语言有什么用,这个语言用在哪里呢?
这就要从咱们的MVC框架开始讲起
MVC模式是一种软件架构模式,对于我这种软件工程专业的人来说,真的是逃离不了学这个东西。所谓的M(Model)V(View)C(Controller)模型,视图,控制器
当用户通过浏览器向服务器发送一个请求,控制器向Model发送请求,调用Model,让其进行业务操作,然后Model执行一系列操作之后,返回给控制器,控制器然后发送给view,进行图形展示。而控制器的操作其实就是Servlet进行操作的,而Model就是JavaBean(特殊的 Java 类),而对于视图这一部分就是JSP。
三层架构是基于业务逻辑分的,而MVC是基于页面来分的。MVC的三个加起来其实才是三层架构中的表现层,MVC把三层架构中的表现层再度进行了分化,分成了控制器,视图,实体。三层架构和MVC是可以共存的。
三层架构的分层模式是典型的上下关系,上层依赖于下层。但MVC作为表现模式是不存在上下关系的,而是相互协作关系。
JSP
JSP(Java Server Pages)是与PHP ASP等语言类似的,运行在服务端的语言。JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。JSP语言可以嵌入HTML,JS代码中的。组成前端页面。
JSP页面的本质上就是一个Servlet程序。当访问JSP页面时,Tomcat会将页面翻译为一个Java源文件,并对其进行编译为一个.class字节码文件。打开.java文件发现
HttpJspBase类直接继承于HttpServlet类,即JSP翻译出来的Java类间接继承于HttpServlet类,证明JSP页面是一个Servlet程序
具体的JSP代码规范也没什么讲的,菜鸟教程讲的很好。
菜鸟教程:https://www.runoob.com/jsp/jsp-tutorial.html
EL
EL表达式(Expression Language),是替换和简化JSP页面中的Java代码的编写<% %>,语法是${表达式}。JSP默认支持EL
EL可以执行简单的加减乘除
例如${5+2} 就等于7 ${2+3*2} 等于 8
EL实现比较运算符
等于 == eq
${6==6} 或 ${6 eq 6} //true
${"A"="a"} 或 ${"A" eq "a"} //false
不等于 != ne
${6!=6} 或 ${6 ne 6} //false
${“A"!=“a”} 或 ${“A” ne “a”} //true
以此类推
大于 < 或 lt
小于 > 或 gt
小于等于 <= 或 le
大于等于>= 或 ge
逻辑运算符
与 && 或 and ${3>2&&2<4 } 或 ${3>1and3<4 } //true
或 || 或 or ${3<2||3>4} 或 ${3<2or3>4} //false
非 ! 或 not ${!(2>4)} 或 ${not (2>4)} //true
. 和 [ ]
.和[ ]是 EL 中最常用的运算符,用来访问 JavaBean 中的属性和隐式对象的数据。一般情况下,.用来访问 JavaBean 属性或 Map 类型的值,[ ]用来访问数组或者列表的元素。
EL运算符优先级
优先级由高至低,由左至右
如果要禁用EL 在前面加上\
\${2+3} 呢么输出就是${2+3} 而不是5
禁用当前页面的EL表达式
<%@ page isELIgnored="true" %>
EL内置对象