【JavaWeb】JSP、EL和JSTL

目录

一、JSP的回顾

1.什么是JSP

2.JSP由来

3.JSP的运行原理

4.JSP脚本元素

二、JSP的模板修改和注释

1.修改JSP的字符集编码

2.JSP的注释

2.1HTML的注释

2.2Java代码的注释

2.3JSP注释

三、JSP的指令元素的概述

1.JSP指令元素作用

2.JSP指令元素的语法

3.JSP指令元素的分类

4.JSP的指令-page指令

4.1Page指令简介

4.2Page指令属性

4.3JSP的指令-include

5.Taglib指令

1.Taglib指令简介

2.Taglib指令属性

四、JSP的内置对象

1.什么是JSP的内置对象

2.JSP的内置对象有哪些

3.JSP的内置对象具体类型

五、pageContext对象的概述

1.pageContext对象简介

2.pageContext对象作用

 六、JSP的四个作用范围

1.JSP的四个作用范围概述

2.JSP的四个作用范围演示

2.1pageContext对象向四个域范围存取数据

2.2findAttribute方法:

七、JSP的动作标签

1.什么是JSP的动作标签

2.常用的动作标签

3.静态包含和动态包含区别

4.动态包含的原理

八、EL的概述

1.什么是EL

2.EL作用(为什么要学习EL)

3.EL功能

4.EL语法

5.EL获取数据

5.1EL如何获取数据

5.2演示EL获取数据

5.3EL获取数组和集合中的数据

5.4EL执行运算

5.5EL获取web开发常用对象

 九、JSTL的概述

1.什么是JSTL

2.为什么学习JSTL

3.JSTL的版本

4.JSTL的标签库

5.JSTL的入门

5.1引入JSTL的jar包

5.2新建JSP页面

5.3引入标签库

5.4使用JSTL

5.5JSTL的if标签

5.6if标签的属性

5.7JSTL的foreach标签

 十.案例准备

1.创建web项目

2.引入相关的jar包

3.创建包结构,引入工具类

4.创建数据库和表

5.创建实体类

6.创建Servlet

7.创建Model的对象

8.编写list.jsp

9.运行效果


一、JSP的回顾

1.什么是JSP

JSP:Java Server Pages Java服务器端页面。

JSP 就是 HTML + Java代码 + JSP自身东西。

2.JSP由来

Servlet技术生成动态网页的时候很麻烦,需要通过response获得输出流,调用print方法进行打印的。这种编程方式很麻烦,而且美工也不容易处理。SUN公司为了简化动态网页开发,推出JSP。

3.JSP的运行原理

JSP在执行时,会被服务器翻译为Servlet编译执行,JSP就是一个Servlet。

4.JSP脚本元素

<%!  %>    :JSP声明 翻译成 Servlet成员部分的内容。声明变量,方法,内部类。

<%= %>    :翻译out.print(),在service方法内部。用于生成HTML页面源码。

<%    %>    :嵌入Java代码 翻译成service方法内部的代码块。声明变量,内部类。

二、JSP的模板修改和注释

1.修改JSP的字符集编码

2.JSP的注释

2.1HTML的注释

  1. 写法 : <!--HTML的注释 -->
  2. 存在时机 :存在JSP的源码中,翻译成Servlet后这个注释也存在,在生成HTML响应到页面的时候这个注释也会存在。

2.2Java代码的注释

2.2.1.写法:

<%

// 单行注释

/* 多行注释 */

/**文档注释*/

%>

2.2.2.存在时机:存在JSP的源码中,翻译成Servlet后Java代码的注释也会存在,但是生成HTML响应到页面后,这种注释就消失了。

2.3JSP注释

2.3.1.写法:<%-- JSP的注释 --%>

2.3.2.存在时机:存在JSP的源码中,翻译Servlet后注释就没有了。

注意:Java代码注释的话不要使用HTML的注释!!!

三、JSP的指令元素的概述

1.JSP指令元素作用

  1. 用于指示JSP执行的某些步骤
  2. 用于指示JSP变现特定行为

2.JSP指令元素的语法

  1. 语法 : <%@ 指令名称 属性名称=属性的值 属性名称=属性的值 %>

3.JSP指令元素的分类

  1. page指令:指示JSP的页面设置属性和行为
  2. include指令:指示JSP包含哪些其他页面
  3. taglib指令:指示JSP页面包含哪些标签库

4.JSP的指令-page指令

4.1Page指令简介

4.1.1.写法<%@ page 属性名=属性值 %>

4.1.2.Page指令用来定义JSP文件的全局属性。

4.1.3.这些属性可以单独使用,也可以几个或多个同时使用。

4.1.4.在JSP页面中,只有import属性可以出现多次,其他属性都只能出现一次。

4.2Page指令属性

  1. language属性:       声明使用脚本的语言。只能是java。
  2. extends属性:         标明JSP编译成Servlet的时候继承的类。默认值:HttpJspBase。
  3. session属性:          标明JSP中是否可以直接使用session对象。默认值是true。
  4. buffer属性:            标明JSP对客户端输出缓冲区大小。默认值8kb。
  5. autoFlush属性:     如果缓冲区大小溢出,是否自动刷出。默认true。
  6. import属性:          用于导入Java包或类。
  7. contentType属性:标明JSP被浏览器解析和打开的时候采用的默认的字符集。
  8. pageEncoding属性:JSP文件及JSP翻译后的Servlet保存到硬盘上采用字符集。
  9. isErrorPage属性:  处理JSP页面异常。
  10. errorPage属性:     处理JSP页面异常。
  11. isELIgnored属性:  通知JSP是否忽略EL表达式。

4.3JSP的指令-include

4.3.1.Include指令简介

  • 写法:<%@ include 属性名=属性值%>
  • 作用:在JSP页面中静态包含一个文件,同时由该JSP解析包含的文件内容。

4.3.2.Include指令属性

  • file属性 : 指示JSP页面包含页面路径。

4.3.3.Include指令原理(静态包含原理)

 注意地方:

  • 应该将被包含的页面的结构去掉
  • 在被包含的页面中定义变量,在包含的页面中还可以使用。

5.Taglib指令

1.Taglib指令简介

写法:  <%@ taglib 属性名=属性值%>

作用:用于在JSP页面中引入标签库。

2.Taglib指令属性

uri属性: 引入的标签库的路径

prefix属性:   引入标签库的别名

四、JSP的内置对象

1.什么是JSP的内置对象

JSP的内置对象:指的是可以直接在JSP页面中使用的对象。

2.JSP的内置对象有哪些

JSP当中有9大内置对象:

  1. request               :从客户端向服务器发送的请求对象
  2. response            :从服务器端向客户端作出响应对象
  3. session                :服务器为客户端创建会话对象
  4. application         :代表应用。获得的ServletContext对象。
  5. out                       :向输出流写入内容的对象。
  6. page                    :当前的JSP翻译成Servlet后的对象的引用。
  7. pageContext      :本JSP的页面的上下文对象。
  8. config                  :本JSP的ServletConfig对象。
  9. exception           :表示JSP页面运行时产生的异常对象。

3.JSP的内置对象具体类型

  1. request               HttpServletRequest
  2. response            HttpServletResponse
  3. session                HttpSession
  4. application         ServletContext
  5. config                  ServletConfig
  6. page                    Object
  7. pageContext      PageContext
  8. out                       JspWriter
  9. exception           Throwable

五、pageContext对象的概述

1.pageContext对象简介

pageContext对象直接翻译为“页面上下文”对象,代表的是当前页面运行的一些属性。

它是javax.servlet.jsp.PageContext类的实例对象。

2.pageContext对象作用

2.1.提供了page范围的数据存取的方法:

  • 向page范围中存入数据:
  • 从page范围获取数据
  • 从page范围移除数据
  •  查找属性的方法:

2.2.通过这个对象获得其他的8个内置对象:

  • 获得其他8个内置对象的方法

 六、JSP的四个作用范围

1.JSP的四个作用范围概述

1.1.PageScope :页面范围。

页面范围指的是在当前的页面内有效,出了这个页面,用pageContext保存的数据就无效了。

1.2.RequestScope :请求范围。

从客户端向服务器发送一次请求,服务器对这次请求作出了响应之后,用request保存的数据就无效了。

1.3.SessionScope :会话范围

每个浏览器向服务器发送请求(多次请求)。将该会话结束。

1.4.ApplicationScope :应用范围。

在整个应用中任意的地方都可以获取。

2.JSP的四个作用范围演示

2.1pageContext对象向四个域范围存取数据

2.2findAttribute方法:

查找属性方法:先根据小范围的名称进行查找,如果找到了就返回,如果没有找到就会去比其大一个域的范围进行查找。

七、JSP的动作标签

1.什么是JSP的动作标签

JSP的动作标签用于在JSP页面中提供业务逻辑功能,避免在JSP页面中直接编写Java代码,造成jsp页面难以维护。

2.常用的动作标签

  1. <jsp:forward/> :请求转发。
  2. <jsp:include/>:包含(动态包含)。
  3. <jsp:param/>:传递参数。

3.静态包含和动态包含区别

4.动态包含的原理

八、EL的概述

1.什么是EL

2.EL作用(为什么要学习EL)

EL和JSTL一起使用取代JSP页面中嵌入Java代码写法。

3.EL功能

  1. EL获取数据
  2. EL执行运算
  3. EL获取web开发常用的对象
  4. EL调用Java方法

4.EL语法

  1. 语法:${ EL表达式 }

5.EL获取数据

5.1EL如何获取数据

EL表达式语句在执行的时候,会调用pageContext.findAttribute()方法。分别从page、request、session、application范围查找相应对象,找到就会返回相应对象,找不到返回””(不是null,是空的字符串)。EL所获取的数据需要在四个作用范围中。

5.2演示EL获取数据

${name}EL表达式是先从小范围查找,找不到的话,会扩大范围查找,就是上文讲的findAttribute()特性。

5.3EL获取数组和集合中的数据

5.3.1获取数组的数据

 5.3.2获取List集合的数据

5.3.3获取Map集合的数据

 注意:如果map的key中包含了特殊字符,不能使用 . 必须使用[]

  • . 用来获取对象的属性的。
  • [] 用来获得下标。

5.4EL执行运算

5.4.1执行算数运算

5.4.2执行关系运算

5.4.3执行逻辑运算

5.4.4执行三元运算

5.4.5empty运算符

5.5EL获取web开发常用对象

EL表达式定义了11个web开发常用对象。使用这些对象可以很方便获取web开发冲的一些常见对象,并可以读取这些对象中的数据。

  1. pageContext               :相当于JSP内置对象中pageContext
  2. pageScope                  :获取指定域下的名称的数据
  3. requestScope             :获取指定域下的名称的数据
  4. sessionScope             :获取指定域下的名称的数据
  5. applicationScope      :获取指定域下的名称的数据
  6. param                           :在页面中接收请求参数(接收一个名称对应一个值参数)。
  7. paramValues               :在页面中接收请求参数(接收一个名称对应多个值参数)。
  8. header                         :在页面上获取请求头(获取一个key对应一个value 头)
  9. headerValues             :在页面上获取请求头(获取一个key对应多个value 头)
  10. cookie                          :访问cookie的名称和值(${cookie.key.name} ${cookie.key.value})
  11. initParam                     :获取全局初始化参数的值

 九、JSTL的概述

1.什么是JSTL

 JSTL:JSP的标准标签库。

2.为什么学习JSTL

主要和EL来取代传统页面上直接嵌入Java代码写法。提升程序可读性、维护性和方便性。

3.JSTL的版本

JSTL1.0、JSTL1.1和JSTL1.2版本

  1. 1.0版本不支持EL表达式。
  2. 1.11.2支持了EL表达式。

4.JSTL的标签库

  1. c标签(core标签库)
  2. fmt标签(国际化标签库)
  3. xml标签
  4. sql标签
  5. jstl函数库(EL函数)

5.JSTL的入门

5.1引入JSTL的jar包

5.2新建JSP页面

5.3引入标签库

5.4使用JSTL

5.5JSTL的if标签

5.6if标签的属性

  1. test属性  :条件
  2. var属性    :将test中的条件的值赋给一个变量,在var中定义变量
  3. scope属性:作用范围

5.7JSTL的foreach标签

 十.案例准备

1.创建web项目

2.引入相关的jar包

3.创建包结构,引入工具类

4.创建数据库和表

create database web04_student;
use web04_student;
create table student(
	sid int primary key auto_increment,
	sname varchar(20),
	sex varchar(10),
	age int
);
insert into student values (null,'张三','男',20);
insert into student values (null,'李四','女',23);
insert into student values (null,'王五','女',18);
insert into student values (null,'赵六','男',25);
insert into student values (null,'孙七','男',21);

5.创建实体类

6.创建Servlet

7.创建Model的对象

8.编写list.jsp

9.运行效果

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: javaweb eljstl登录页面是一种使用Java Web技术开发的登录页面。EL(Expression Language)是一种表达式语言,可以在JSP页面中使用,用于访问JavaBean中的属性和方法。JSTLJavaServer Pages Standard Tag Library)是一组标签库,可以在JSP页面中使用,用于简化JSP页面的开发。 在javaweb eljstl登录页面中,可以使用EL表达式访问用户输入的用户名和密码,并将其传递给后台Java程序进行验证。同时,可以使用JSTL标签库来简化页面的开发,例如使用<c:if>标签来判断用户输入的用户名和密码是否为空,使用<c:forEach>标签来遍历错误信息等。 总之,javaweb eljstl登录页面是一种高效、简洁、易于维护的登录页面开发方式,可以提高开发效率和用户体验。 ### 回答2: JavaWeb是一种基于Java语言的Web应用技术,它能够利用Java语言的优秀特性构建高效可靠的Web应用程序。在JavaWeb应用程序中,EL(Expression Language)和JSTLJavaServer Pages Standard Tag Library)是常用的组件,可以用于实现许多基础功能,如登录页面。 在JavaWeb应用中,登录页面是用户与应用程序进行交互的入口,它通常具有以下几个关键要素:登录表单、用户验证、session管理以及跳转逻辑。 在使用ELJSTL实现登录页面时,首先需要创建一个登录表单,该表单应包含用户输入的用户名和密码,并通过表单提交将其传递给后端进行认证。 接下来,我们可以使用EL表达式和JSTL标签库实现用户验证。EL表达式可以用来获取表单中输入的用户名和密码,并传递给Java后台进行验证。JSTL标签库也可以用来进行逻辑控制,如if语句判断验证结果是否正确。在用户通过验证后,我们可以在session中存储用户信息以便后续页面使用。 最后,我们可以利用EL表达式和JSTL标签库完成跳转逻辑。可以使用JSTL中的<c:choose>和<c:when>标签来判断用户角色,并根据角色不同跳转到相应的页面。可以利用EL表达式来获取session中保存的用户信息,以便进行跳转。 总之,ELJSTLJavaWeb应用开发中常见的技术组件,能够帮助我们完成许多基础功能,如登录页面。通过灵活运用这些技术组件,我们可以快速构建高效可靠的Web应用程序。 ### 回答3: JavaWeb ELJSTLJavaWeb中比较常用的两个技术,它们可以帮助我们在开发中更加快捷地完成一些常见的操作。在登录页面中,我们可以运用这两个技术实现输入验证、错误提示等功能。 首先,我们可以在登录页面中使用EL表达式获取用户输入的值。EL表达式可以使用${ }的形式获取表单中的值,比如${param.username}可以获取名为username的表单项的值。我们可以将用户输入的用户名和密码保存在request中,以备后续使用。 接着,我们可以使用JSTL标签库来进行表单验证和错误提示。在表单提交之前,我们可以使用<c:if>标签对用户名和密码进行判断,看是否为空。如果有为空的情况,则可以使用<c:out>标签和错误提示来告诉用户应该输入什么信息。此外,我们还可以使用<c:choose>和<c:when>标签来进行更复杂的条件判断,以实现更加灵活的验证。 最后,我们要记得在处理登录的后台逻辑时,也要使用EL表达式和JSTL标签库来实现更加高效的操作。通过这些技术的运用,我们可以快速完成一个功能齐全、操作简便的登录页面,并减少代码量和维护成本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值