目录

文章目录

前言

一、什么是JSP

二、JSP语法

(一)、jsp模板元素

(二)、jsp脚本表达式

(三)、jsp脚本片段(小脚本)

(四)、jsp声明(成员变量)

(五)、jsp注释

(六)、jsp指令

​三、jsp的九大内置对象

(一)、jsp的九大内置对象

四、JSP的四大域

​五、EL表达式(expression language:表达式语言)

(一)、什么是EL表达式(JSP中获取数据的一种规范)

​(二)、EL表达式语法

​六、JSTL(JSP标准标签库)

(一)、什么是JSTL

(二)、JSTL的使用

总结



前言

JSP是一种动态网页技术标准,是JavaWeb服务器端的动态资源,它与HTML页面的作用是相似的,显示数据和获取数据。在jsp刚刚兴起的时候,开发Wab都是用jsp来做,这样会造成前台的UI和业务逻辑还有db的交互全部在jsp中完成,导致代码的耦合性过高,不易于维护。 后面随着一些优秀的J2EE框架的出现,Web开发模式也随之变化,像现在广泛使用的MVC类型的开发框架--jsp+servlet+javabean,虽然不只是使用JSP一项技术,但用JSP开发的思想我们还是要好好学习下!


一、什么是JSP

JSP是由Sun公司倡导,与其它公司一起建立的一种动态网页技术标准。全称:Java Server Pages是JavaWeb服务器端的动态资源,它与HTML页面的作用是相似的,显示数据和获取数据。它在传统的HTML网页中插入了java程序段和jsp标记。用JSP开发的Web应用也是跨平台的,即能在Windows下运行,也能在Linux或其它操作系统下运行。

二、JSP语法

(一)、jsp模板元素

jsp页面中的html内容称之为jsp模板元素。jsp模板元素定义了网页的基本骨架,即定义了页面的结构和外观。(就是html代码)

(二)、jsp脚本表达式

jsp脚本表达式用于将程序数据输出到客户端(就是编写时候获取到数据)

语法:<%=变量或表达式(可以是要输出的数据类容)%>

注意:jsp脚本表达式可以理解为System.out……,但是区别在于System.out……是输出在控制台的而jsp脚本表达式是输出到前端页面的。

(三)、jsp脚本片段(小脚本)

jsp脚本片段,用于在jsp页面中编写多行java代码。<%%>:就相当于java中一个方法的代码块。

语法:<%

多行java代码

%>

注意:在配置了maven的情况下,编写jsp脚本片段时,要想使用jsp的API就需要在maven的pom.xml配置文件中导入jsp-api的依赖(也就是提供编译需要),这样jsp脚本片段才能正常编写。

maven配置文件导入的依赖标签如下图:

注:导入的jsp-api依赖最后一项scope范围标签中,provided表示该依赖提供编译的时候使用,运行的时候不用,因为程序是在tomcat服务器中运行的,tomcat中是有jsp-api这个依赖包的。

(四)、jsp声明(成员变量)

语法:

<%!

java代码 — 成员变量

注:该语法中可以编写java方法,因为该语法表示声明,声明成员变量,也就说名该语法不局限于是一个方法体,所以语法中可以定义编写方法。

%>

jsp的生命周期:

jsp --->翻译成.java文件 ---> 编译成.class文件 ---> 运行

理解:编写好一份jsp文件后,首先就会被翻译成一份java文件,然后才会被编译运行。要注意一点,如果jsp语法中的代码不变,那么翻译和编译过程是不会重复去做的。

注意:由上述jsp的脚本片段以及声明等可以看出,在jsp中编写的所有代码在底层实际上都会翻译成一份java文件,所以某种程度上jsp实际上就是java。

(五)、jsp注释

注释格式:<%--注释信息--%>

(六)、jsp指令

语法格式:<%@指令名 属性名="值"%>

1、page指令(可导包、设置编码格式……)

示例:在jsp页面中设置响应编码格式用到了page指令 -- (page还可以导包)

2、include指令 — 引入指令(可引入成员变量、各个页面如:侧边栏、弹框……)

示例:将某文件,加载到当前页面。此处是将一份jsp文件加载到当前页面。

3、taglib指令

示例:在jsp页面中可以导库,也就是JSTL(jsp的标准标签库),前提是得先把JSTL的两个jar包导入项目。

三、jsp的九大内置对象

(一)、jsp的九大内置对象

如图:

1、pageContext -- 页面的上下文对象(数据的作用域:当前页面)

2、exception

3、page

4、request -- 请求对象(数据的作用域:一次请求中)

5、response -- 响应对象

注:4和5两个内置对象联系到转发和重定向的概念:

(1)、转发 — 转发请求跳转页面

(2)、重定向 — 客户端重新再向服务器发送请求跳转页面

(3)、转发和重定向的区别

  • 转发是由于request请求内置对象实现的,重定向是由response响应内置对象实现的。
  • 转发是请求的转发,请求中的数据会带到新页面;重定向是客户端重新发起一次请求,原来请求中的数据就没有了。
  • 转发页面地址是不变的,重定向页面地址要变为新地址。

6.session -- 会话对象

(1)、session会话对象的简单理解

简单理解,会话就是浏览器和服务器的一次会话。不关浏览器就是一次会话,关闭浏览器当前会话就结束了。session相对于cookie来说安全性更高,session的数据是存在服务器上的。

7.application -- 应用程序对象

application代表应用,代表的就是tomcat服务器,它会随着tomcat的启动而产生,一直到tomcat的关闭而消亡。

8.out

9.config

附加:jsp的思想是,前端显示的页面通过jsp内置的java对象输出来。也就是jsp中编写的html代码实际上在底层还是用内置对象输出显示的。

四、JSP的四大域

如图:

1、pageContext — 作用域:当前页面

2、request — 作用域:一次请求中

3、session — 作用域:一次会话,只要浏览器不关会话就一直存在

(1)、session的失效时间

session默认失效时间是30分钟,只要你不操作页面到了30分钟,session就自动失效。如果中途有操作页面,那失效时间又会从你操作的那一刻起开始计时。

(2)、如何设置session的失效时间(在web.xml配置文件中设置)

  • 可以在tomcat的conf目录中的web.xml文件中修改
  • 也可以在项目中的web.xml配置文件中配置失效时间

  • 还可以针对单个的session进行失效时间的设置

4、application — 作用域:application是属于服务器的,作用域在整个项目

对于JSP四大域的总结如图:

五、EL表达式(expression language:表达式语言)

(一)、什么是EL表达式(JSP中获取数据的一种规范)

需要注意的是EL表达式不是一种开发语言,它是JSP中获取数据的一种规范。

注意:使用EL表达式,需要在page指令中启用EL表达式

(二)、EL表达式语法

EL表达式语法格式:${数据名}

1、EL表达式获取数据得逻辑

EL表达式可以从四个作用域中获取数据,我们也可以指定EL表达式在哪个作用域中获取数据。如果不指定则EL表达式获取数据得优先级为:

pageContext --> request --> session --> appliction

六、JSTL(JSP标准标签库)

(一)、什么是JSTL

JSTL就是JSP的标准标签库。JSTL可以实现JSP页面中的逻辑处理。如:判断、循环等……

(二)、JSTL的使用

1、使用JSTL,需要先在maven配置文件中导入JSTL的依赖,然后通过taglib指令导入JSP的标准标签库。

  • 导入JSTL依赖

  • 通过taglib指令导入标准标签库

2、JSTL逻辑处理语法


总结

本章属于JSP的基础篇,主要讲述了JSP的基本概念,语法与个别使用案例以及构成等等。全篇都很基础简单,主要就是要了解会使用JSP编写开发,学会最基础的语法以及使用思想。后续会继续更新……

JSP(EL表达式+JSTL)相关推荐

  1. javaweb(09) EL表达式JSTL标签库(jsp相关,了解)

    javaweb(09) EL表达式&JSTL标签库(jsp相关,了解) EL表达式 简介和基本使用 EL 表达式的全称是:Expression Language.是表达式语言. EL 表达式的 ...

  2. EL 表达式 JSTL 标签库

    EL 表达式 & JSTL 标签库 1.什么是EL表达式?EL表达式的作用? EL 表达式的全称是:Expression Language.是表达式语言. EL 表达式的什么作用:EL 表达式 ...

  3. EL表达式+JSTL,forEach的两种用法

    <%@ page language="java" isELIgnored="false"contentType="text/html; char ...

  4. El表达式+jstl标签

    目录 前言 EL获取数据(从四大域中获取属性) 1.如果没有使用EL的内置对象,则查找数据顺序是依次按照由小到大范围从四大域中查找指定名称的属性值 2.EL中的内置对象 1.域属性相关(4个) 2.其 ...

  5. JSP EL表达式详细介绍

    2019独角兽企业重金招聘Python工程师标准>>> 一.JSP EL语言定义 E L(Expression Language)  目的:为了使JSP写起来更加简单. 表达式语言的 ...

  6. JSP EL表达式 param、paramValues的使用

    JSP EL表达式 param.paramValues的使用: <%@ page language="java" import="java.util.*" ...

  7. jsp el 表达式_JSP表达式语言– JSP EL示例教程

    jsp el 表达式 Today we will look into JSP Expression Language or JSP EL Example tutorial. 今天,我们将研究JSP表达 ...

  8. EL表达式 JSTL(详解)

    相关JSTL.EL博客收集如下: JSTL 标签大全详解:http://blog.csdn.net/qq_25827845/article/details/53311722 EL表达式详解:http: ...

  9. 五、Web服务器——MVC开发模式 EL表达式 JSTL 学习笔记

    今日内容 1. JSP:1. 指令2. 注释3. 内置对象2. MVC开发模式 3. EL表达式 4. JSTL标签 5. 三层架构 JSP: 1. 指令* 作用:用于配置JSP页面,导入资源文件* ...

最新文章

  1. WINDOWS SERVER 2003从入门到精通之“域控制器安全策略”打开错误的解决方法
  2. 在没有复杂插件的情况下从Eclipse启动和调试Tomcat
  3. Redis持久化_Redis事务_Redis删除策略
  4. 牛客14392 猴子吃香蕉
  5. 多路查找树之2-3树(理论)
  6. 机器学习经典算法之PCA主成分分析
  7. 我的内核学习笔记9:Intel内部看门狗iTCO_wdt驱动
  8. sql 排除 sum为0的_一文为你详解Unique SQL原理和应用
  9. C++11 委托构造函数
  10. C#中要使ListBox使用AddRange()时,能够触发SelectedValueChanged事件
  11. 64位的windows server 2003运行IIS6运行32位的.NET程序
  12. java高级软件架构师实战培训阶段一
  13. 正点原子STM32(基于HAL库)2
  14. linux 显卡 1050ti,MAX-Q终于出中端卡了 GTX1050Ti MAX-Q显卡曝光
  15. PC使用js调用qq聊天
  16. Kata Container是什么?
  17. springboot springsecurity报错 **.LoginUser cannot be cast to **.LoginUser
  18. ESPnet-SE 开源工具介绍
  19. php腾讯云直播的录制
  20. 嵌入式硬件(四)常用模拟集成电路

热门文章

  1. 谈软件工程各环节中的辅助工具
  2. 【应届生】58同城 一二面面试过程
  3. python stdout_python--几种标准输出(stdout)重定向方式
  4. 选购移动电源主要看哪些方面 如何挑选移动电源
  5. java file文件读取文件内容_java中的File文件读写操作
  6. Windows2016 PPTP服务器搭配RADIUS服务器认证
  7. Python与人工智能的关系原来是这样的...
  8. 身份证,港澳通行证,台胞证,护照正则表达式
  9. php判断redis是否连接,如何判断 redis 连接是否有效
  10. Spring和Spring Boot的区别