一、JSP页面
html页面属于一种静态页面,既然有静态页面,就有动态页面。html页面和jsp页面最大的区别是:在html中只能定义css、js等,在jsp中除了可以定义css和js等之外还可以定义Java代码,还可以在jsp中使用el表达式和jstl标签,但是java代码必须使用<%Java代码%>.
其实在第一次访问一个jsp页面的时候相对来说慢,因为访问过程要经历如下的步骤
1.将访问的jsp页面转换成对应的*.java文件
2.将转换后的*.java编译成*.class
3.将*.class文件解释成*.html页面响应给浏览器
如果是第二次访问:jsp被修改了,此时重新执行上面的三个步骤。jsp没有被修改,直接执行第3个步骤
总结:
1、和静态页面相比可以在jsp中定义java代码
2、和静态页面相比可以使用el表达式获取内置对象的属性值
3、其实上jsp是会被转换成一个特殊的servlet
二、JSP的注释
在jsp中可以出现四种注释
1、原有的html的注释:<!--html注释-->
2、单行注释://注释的内容,需要在<%%>中定义
3、多行注释:/*注释内容*/,需要在<%%>中定义
4、jsp特有的注释:<%--注释内容--%>
注意:jsp特有的注释<%--注释内容--%>在页面使用查看原码的方式不能看见。而html的注释在页面使用查看原码的方式可以看见。
三、JSP的静态包含和动态包含
在一个项目中会出现多个页面,但是这些页面的头部信息和尾部信息可能是一样的,此时就需要在多个页面中编写相同的代码,这样就出现了代码的重复现象,最好的解决方案是将头部信息和尾部信息定义到独立的文件中,之后在需要的地方包含就行。
在jsp中有两种包含方式:静态包含<%@ include file="被包含的文件路径"%> 动态包含<jsp:include page=“被包含的文件路径”/>
静态包含和动态包含的区别:
静态包含:先将需要导入的文件包含之后再编译成一个*.class文件。
动态包含:如果被包含的文件是静态资源,和静态包含一样。如果被包含的文件是动态资源*.jsp,则会先将被包含的资源编译成独立的class文件之后再进行包含。
四、JSP的EL表达式
Expression Language表达语言,是一种在JSP页面获取数据的简单方式,只能获取数据,不能设置数据。在JSP2.0开始引入概念前,他的主要功能 是取得保存在内置对象 中的数据显示到jsp页面。
EL表达式中的运算符按作用分为以下几种:
1、算术运算符 + - * / 例如:${6+6} ${4-3} ${4*3} ${9/3}
注意:在EL表达式中的+只有数学运算功能,没有连接的功能。它会试卷把运算符两边的操作数转换为数值类型,进而进行数学加法运算,最后把结果输出 。若出现${‘a’+‘b‘}则会出现异常。
2、关系运算符 >或者 gt,>=或者 ge,<=或者 le,==或者eq ,!= 或者 ne
3、逻辑运算符 &&或者and ,|| 或者 or, !或者not
4、三元运算符 ? : 例如:${3>2 ? ‘是‘ :‘不是‘}
5、特殊运算符 empty 判断EL表达式中的表达式是否为空 “.” 作用相当于执行Bean中的get方法。[]和“.”一样,可以执行一些不规则的标识符
原文:https://www.cnblogs.com/whymoney1000/p/10764751.html