JSP、servlet、EL 表达式之间的关系

一、JSP与 sevlet

1、什么是JSP?

JSP(Java Server Pages):是以Java语言为基础的动态网页开发技术,

特点:

JSP特点:在html源码中嵌入java代码
          
          Servlet特点:在Java源码中嵌入html源码

JSP就是Servlet
          1、tomcat获得JSP文件后,先将JSP转成servlet,变成xxx.java(servlet源码)。
          2、tomcat将java文件编译成class文件。
          在这里插入图片描述
          3、tomcat运行class文件,并将结果输出到浏览器,
          比如:
          在这里插入图片描述
          转换后:
          在这里插入图片描述
          
二、EL 表达式

${u} 原理:pageContext.findAttribute(“u”);

例如:获取参数 ${param.name}=“request.getParameter(’’)”

获取属性 ${requestScope.name};

发送请求后,服务器通过 Servlet将数据放到作用域中,然后页面模板从作用域中将数据取出,作用域就是数据的一个中转站。

(Servlet中三大域对象分别是request,session,ServletContext)

doGet(HttpServletRequest request, HttpServletResponse response),这个request就是上边的作用域request

EL 语法很简单,它最大的特点就是使用上很方便。接下来介绍EL主要的语法结构:

${sessionScope.user.sex}

所有EL都是以${为起始、以}为结尾的。上述EL范例的意思是:从Session的范围中,取得

用户的性别。假若依照之前JSP Scriptlet的写法如下:

User user =(User)session.getAttribute(“user”);

String sex =user.getSex( );

两者相比较之下,可以发现EL 的语法比传统JSP Scriptlet 更为方便、简洁。

EL 存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。
因为我们并没有指定哪一个范围的username,所以它的默认值会先从Page 范围找,假如找不到,
再依序到Request、Session、Application范围。假如途中找到username,就直接回传,不再继续找下去,
但是假如全部的范围都没有找到时,就回传null,当然EL表达式还会做出优化,页面上显示空白,而不是打印输出NULL。

我们也可以指定要取出哪一个范围的变量:${pageScope.username}

JSP 的内置对象中基本都是java.util.Map类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值