EL、JSTL、过滤器和监听器

用python-scapy模块发送各类型以太网报文 pythonscapy模块可以指定网卡并批量发送以太网报文,尤其对于网络扫描攻击而言,方便快捷。 阅读详情

EL表达式

EL快速入门

使用EL表达式能够简化JSP页面中Java代码的编写。格式非常简单,只需要在JSP页面中嵌入${表达式}即可。

 <%--将用户名存入请求域--%>
<%request.setAttribute("username","zhangsan");%>    <br>

Java代码获取数据:<%out.println(request.getAttribute("username"));%><br>

JSP表达式:<%=request.getAttribute("username")%><br>

EL获取数据:${username}

EL获取域值

EL表达式根据域对象中存储的数据类型不同,获取方式也稍有不同。

EL获取基本类型数据

<!--在request域中存数据-->
<% request.setAttribute("num",10); %>
    
<!--获取num的值-->
${num}  <br>

EL获取自定义对象

<!--request域中存储Student对象-->
<%
Student stu=new Student("张三",20);
request.setAttribute("stu",stu);
%>

<!--EL获取Student对象的属性值-->
学生对象:${stu}  <br>
学生姓名:${stu.name}  <br>
学生年龄:${stu.age}  <br>

EL获取List集合

<!--request域中存储List集合-->
<%
ArrayList<Student> list=new ArrayList<>();
list.add(new Student("张三",20));
list.add(new Student("李四",30));
request.setAttribute("list",list);
%>

<!--EL获取request域中的list集合,以及其元素-->
获取list集合:${list}  <br>
获取list集合的0索引学生:${list[0]}<br>
获取list集合的1索引学生姓名:${list[1].name}<br>

EL获取Map集合

<!--request域中存储Map集合-->
<%
Map<String,String> map=new HashMap<>();
map.put("孙悟空","花果山");
map.put("猪八戒","高老庄");
map.put("沙和尚","流沙河");
request.setAttribute("map",map);
%>

<!--EL获取request域中的map集合,以及其元素-->
获取map集合:${map}  <br>
获取map集合中键对应的值:${map["孙悟空"]}  <br>

EL运算符

算数运算符:+ - * / %
比较运算符:== != > >= < <=
逻辑运算符:&& || !
空运算符:empty
    功能:用于判断集合、数组、字符串是否为null并且长度是否为0
    ${empty list}

根据域中存储的数据,让单选框选中男或女

<%request.setAttribute("gender","女");%>
<input type="radio" value="男" ${gender=="男"?"checked":""}> 男
<input type="radio" value="女"${gender=="女"?"checked":""}> 女

EL表达式细节

1.EL表达式可以获取四大域的数据,依次从小到大的域中查找指定键名对应的值,如果找到了就不再往下找.
2.EL表达式可以获取八大隐式对象

JSTL标签库

JSTL(全称JavaServer Pages Tag Library)意为JSP标准标签库,可以用来简化在JSP页面中Java代码的编写。

在JSP页面导入JSTL包

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

常用JSTL标签

<!--if标签:相当于Java的if语句-->
<c:if test="${number%2==0}"> 
    ${number}是偶数
</c:if>

<!--choose标签:相当于Java的switch语句-->
<c:choose>
    <c:when test="${number==1}">星期一</c:when>
    <c:when test="${number==2}">星期二</c:when>
    <c:when test="${number==3}">星期三</c:when>
</c:choose>

<!--foreach标签:相当于Java的for循环-->
<c:forEach begin="0" end="${list.size()}" step="1" var="i">
    <c:if test="${list[i]!=null}">
        ${list[i].name},${list[i].age}<br>
    </c:if>
</c:forEach>

<!--foreach标签:类似Java增强for循环-->
<c:forEach items="${list}" var="element">
    ${element.name},${element.age}<br>
</c:forEach>

过滤器Filter

当客户端访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。举个例子帮助大家理解,比如2020年初在爆发了新冠病毒疫情,为了防止病毒扩算到全国,武汉市宣布封城,所有交通渠道限制通行,在各个出入口设卡拦截,只有体温正常的医务人员和急救物资才能进入城区。这里武汉市各个出入口的关卡,起到的就是过滤器的作用。

在程序中是同样的道理,比如用户在访问服务器资源时只允许登录过的用户才能正常访问。这里登录校验起到的就是过滤器的作用。除了登录校验,在程序中过滤器的用处还有统一编码处理,铭感词汇过滤等等。

过滤器统一编码

@WebFilter("/*")
public class FilterDemo1 implements Filter {
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("FilterDemo1过滤器执行了");
        servletResponse.setContentType("text/html;charset=utf-8");
        filterChain.doFilter(servletRequest,servletResponse);
    }
}

过滤器拦截配置

1. 具体资源路径: /index.jsp 
    只有访问index.jsp资源时,过滤器才会被执行
2. 拦截目录: /user/*    
    访问/user下的所有资源时,过滤器都会被执行
3. 后缀名拦截: *.jsp        
    访问所有后缀名为jsp资源时,过滤器都会被执行
4. 拦截所有资源:/*        
    访问所有资源时,过滤器都会被执行

过滤器的生命周期

1. init:在服务器启动后,会创建Filter对象,然后调用init方法。只执行一次。用于加载资源
2. doFilter:每一次请求被拦截资源时,会执行。执行多次
3. destroy:在服务器关闭后,Filter对象被销毁。如果服务器是正常关闭,则会执行destroy方法。只执行一次。用于释放资源

配置方式

方式一:注解方式: @WebFilter("拦截路径")

方式二:XML配置,如下:

多个过滤器使用顺序

如果有多个过滤器,取决于过滤器映射的顺序,也就是<filter-mapping>的配置顺序。

如果是注解的方式配置Filter,那么Filter的执行顺序和类名有关,但是不靠谱,建议使用xml方式配置Filter,使用<filter-mapping>配置执行顺序。

核心方法

代码演示

配置初始化参数

<filter>
  <filter-name>filterDemo04</filter-name>
  <filter-class>com.itheima.filter.FilterDemo04</filter-class>
  <init-param>
    <param-name>username</param-name>
    <param-value>zhangsan</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>filterDemo04</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

获取初始化参数

//@WebFilter("/*")
public class FilterDemo04 implements Filter{

  /*
        初始化方法
     */
  @Override
  public void init(FilterConfig filterConfig) {
    System.out.println("对象初始化成功了...");

    //获取过滤器名称
    String filterName = filterConfig.getFilterName();
    System.out.println(filterName);

    //根据name获取value
    String username = filterConfig.getInitParameter("username");
    System.out.println(username);
  }
  //其他方法省略不写了...
}

过滤器五种拦截行为【补充】

问题:如何使过滤器拦截转发的请求和响应?

介绍

Filter 过滤器默认拦截的是客户端发送过来的请求,但是在实际开发中,我们还有请求转发,以及由服务器触发调用的全局错误页面。默认情况下过滤器是不参与过滤的,要想使用,就需要我们配置。

拦截方式

<filter>
  <filter-name>filterDemo05</filter-name>
  <filter-class>com.itheima.filter.FilterDemo05</filter-class>
  <!--配置开启异步支持,当dispatcher配置ASYNC时,需要配置此行-->
  <async-supported>true</async-supported>
</filter>
<filter-mapping>
  <filter-name>filterDemo05</filter-name>
  <!--<url-pattern>/error.jsp</url-pattern>-->
  <url-pattern>/*</url-pattern>
  <!--过滤客户端发送的请求:默认值。-->
  <dispatcher>REQUEST</dispatcher>
   <!--过滤请求转发:当请求转发时,过滤器工作。-->
  <dispatcher>FORWARD</dispatcher>
  
  <!--过滤全局错误页面:当由服务器调用全局错误页面时,过滤器工作-->
  <dispatcher>ERROR</dispatcher>
  <!--过滤请求包含:当请求包含时,过滤器工作。它只能过滤动态包含,jsp的include指令是静态包含,过滤器不会起作用-->
  <dispatcher>INCLUDE</dispatcher>
  <!--过滤异步类型,它要求我们在filter标签中配置开启异步支持-->
  <dispatcher>ASYNC</dispatcher>
</filter-mapping>

核心:知道REQUEST和FORWARD就行了,REQUEST表示拦截客户端浏览器发送的请求,FORWARD拦截转发的请求。

如果是使用注解配置过滤器,那么拦截方式设置如下:@WebFilter(value = {"/servletDemo01","/servletDemo02"},dispatcherTypes = {DispatcherType.FORWARD,DispatcherType.REQUEST})

监听器Listener

监听器用于监听web应用中某些对象的创建和销毁,属性的增加、修改和删除等事件。当事件发生时,作出相应的响应处理。常用于统计在线人数,系统加载时进行信息初始化,统计网站的访问量等等。

对象监听器

ServletContextListener
    监听应用的创建和销毁
ServletRequestListener
    监听请求的创建和销毁
HttpSessionListener
    监听Session的创建和销毁

属性监听器

ServletContextAttributeListener
    监听应用域属性的添加,修改和删除
ServletRequestAttributeListener
    监听请求域属性的添加,修改和删除
HttpSessionAttributeListener
    监听Session域属性的添加,修改和删除

统计访问人数

定义Session对象监听器,只有一个用户访问就会为该用户创建一个HttpSeesion对象。当用户关闭浏览器时

@WebListener
public class ListenerDemo1 implements HttpSessionListener {
    private int number=0;
    @Override
    public void sessionCreated(HttpSessionEvent se) {
        number++;
        se.getSession().setAttribute("number",number);
    }

    @Override
    public void sessionDestroyed(HttpSessionEvent se) {
        number--;
        se.getSession().setAttribute("number",number);
    }
}

总结

1 EL表达式
	作用:简化jsp页面java代码的书写,用来从域对象中获取数据。
	语法:${表达式}
	EL表达式获取不同类型数据:
	request.setAttribute("num",10); ------> ${num}
	
	request.setAttribute("stu",student); ------> ${stu.name}    ${stu.name}
	
	request.setAttribute("students",list); --> ${students[1].name}  ${students[1].name}
	
	EL中使用运算符:
		${empty stu?"":stu.name}   
		${not empty stu?stu.name:""} 
	EL获取虚拟目录:
		${pageContext.request.contextPath}
		
2 JSTL标签库
【第一步】添加jstl对应的jar包
【第二步】在jsp页面使用taglib引入核心标签库
	<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
【第三步】使用标签库中的标签
	<c:if test="${}">
	
	</c:if>
	<c:choose>
		<c:when test=${}></c:when>
		<c:when test=${}></c:when>
		... ...
		<c:otherwise></c:otherwise>
	</c:choose>
	
	<c:forEach var="i" begin="0" end="${list.size()-1}" step="1">
		
	</c:forEach>
	
	<c:forEach items="${list}" var="stu" varStatus="statu">
		
	</c:forEach>
	
3 Filter过滤器【重要】
	作用:拦截请求和响应,拦截到之后我们可以放行也可以不放行。
	定义一个filter过滤器:在包上鼠标右键--->web filter【重要】
	@WebFilter("/*")
	public class FilterDemo01 implements Filter{
	    public void init(FilterConfig config) throws ServletException {}
    	public void destroy() {}
    	@Override
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
			
			//放行
			chain.doFilter(request,response);
        }
	}
	使用细节:
		1 如果有多个过滤器,过滤器的执行顺序由filter-mapping的先后位置绝对。
		2 服务器启动的时候就会创建Filter过滤器
		3 如果要拦截转发的请求,需要设置dispatcher。
		   xml配置:
			 <!--过滤客户端发送的请求:默认值。-->
              <dispatcher>REQUEST</dispatcher>
               <!--过滤请求转发:当请求转发时,过滤器工作。-->
              <dispatcher>FORWARD</dispatcher>
            注解配置: 
              dispatcherTypes = {DispatcherType.FORWARD,DispatcherType.REQUEST}
	
4 Listener监听器
	作用:监听域对象的创建/销毁,监听域对象中值的变化(添加值,替换值,移除值),监听session中存储对象的变化(绑定/解绑,钝化/活化)
	
	@WebListener
	public class ContextLoaderListener implements ServletContextListener{
		//重写监听器中的所有抽象方法
	}

全面掌握JavaWeb开发:Servlet、JSP、EL、JSTL、Filter与Listener 本文还有配套的精品资源,点击获取 简介:JavaWeb技术是构建基于Java平台的动态Web应用程序的关键框架,涵盖Servlet、JSP、EL表达式、JSTL标签库、Filter过滤器和Listener监听器等组件。本课程将深入讲解这些组件的原理与应用,帮助开发者在实践中构建高效、健壮的Web应用。课程内容包括Servlet的生命周期和请求处理、JSP技术实现视图层与逻辑... 阅读详情

相关推荐

SAP采购信息记录批量维护实战:用BAPI ME_INFORECORD_MAINTAIN搞定价格等级和条件记录

本文深入解析SAP标准BAPI ME_INFORECORD_MAINTAIN在采购信息记录批量维护中的应用,特别聚焦价格等级和条件记录的技术难点。通过实战案例和代码示例,帮助用户高效处理供应商-物料价格数据,提升供应链管理效率。

weixin_42522320的博客 410

js和css被屏蔽了,拦截器 Filter ,js、css、image等静态资源不被拦截解决方案

方案一:web.xml配置文件拦截范围缩小 ,没有必要/*的配置拦截项目下所有资源。Logincom.ssm.crm.filter.LoginFilterLogin/*修改如下:Logincom.ssm.crm.filter.LoginFilterLogin*.actionLogin*.doLogin*.jsp进一步优化 :把所有的页面无需拦截的文件(jsp,html,ftl,css等放在同一个...

weixin_42307436的博客 2067

zemax光线光扇图

通过入瞳某一坐标(PX,PY)的光线在像面上有唯一的位置(EX,EY),以EX,EY为纵坐标,以PX,PY为横坐标,分别建立坐标系,把通过入瞳的光线都在坐标系里描点就得到了光扇图。对于视场内任意一点,取其子午面内的光线,以光线在光阑面上的透射点坐标为横坐标,同时以该光线在像面上的坐标为纵坐标,描出所有点,构成的图形即为子午面光扇图。在焦点位置,曲线的斜率为0,也就是说,不管入射时的横坐标(光阑面上的位置)是多少,离轴多远,都将汇聚在焦点处。此时,子午面和弧矢面有不同的分布,两条曲线不重合。

fendoudecheng的博客 8096

JavaWeb三大组件之一——Filter过滤器源码解析(全面手撕Filter源码,需要耐心看完)

什么是Filter? 本文所说的Filter是JavaWeb中常见常使用的过滤器。Filter的作用是拦截前端发送给后端的请求,一般是用于权限过滤、日志记录、图片转换、加密、数据压缩等操作。 初步了解Filter接口 Filter是过滤器的核心接口,其中定义了初始化方法、拦截请求后的要做的具体任务方法、销毁方法。 public interface Filter { //初始化方法,整个生命周期中只执行一次。 //在init方法成功(失败如抛异常等)执行完前,不能提供过滤服务。 //

一只程序猿的博客 3613

从TM1到TM9:手把手教你用Wireshark抓包分析LTE下行调度与传输模式切换

本文详细解析了如何使用Wireshark抓包分析LTE下行调度中的传输模式切换,从TM1到TM9的动态调整过程。通过实战案例,包括小区边缘移动、高速场景和多用户调度,揭示eNodeB如何基于信道质量指标(如RSRP、SINR)动态切换传输模式,并提供关键信令解析和优化建议,助力网络工程师提升LTE网络性能。

weixin_42651748的博客 315

从注册到投稿:一步步教你完成KBS期刊的在线投稿流程(最新版)

本文详细介绍了如何完成KBS期刊的在线投稿流程,从账号注册到最终提交的全过程。特别针对初次使用Elsevier投稿系统的研究者,提供最新版系统的操作指南,包括投稿要求、文件格式、作者信息管理等关键步骤,帮助研究者顺利投稿至这一人工智能领域的知名期刊。

egg99的博客 1590

Filter(二)-- Filter的五种拦截行为(了解即可)

我们的过滤器目前拦截的是请求,但是在实际开发中,我们还有请求转发。默认情况下过滤器是不参与过滤的,要想使用,需要我们配置。

PUYALEI的博客 378

KAN神经网络实战:如何用Python快速搭建你的第一个可解释性模型

本文提供了使用Python和PyTorch快速搭建首个KAN(Kolmogorov-Arnold Networks)神经网络模型的实战指南。通过对比传统MLP,详细解析了KAN利用可学习的边函数实现更高可解释性的核心原理,并逐步演示了从环境配置、数据准备、核心模块实现到模型训练与可视化的完整流程,帮助开发者掌握这一新兴的可解释性AI模型构建方法。

convnet3designer的博客 472

python拦截http请求_Python3自定义http/https请求拦截mitmproxy脚本

from mitmproxy importhttp, ctxfrom multiprocessing importLockclassFilter:def __init__(self, filter_info):self.log_info= ""self.mutex=Lock()self.filter_info=filter_infoself.response_file=Noneself.switc...

weixin_39972768的博客 505

深度剖析XY2-100与SL2-100协议:解锁激光打标核心技术密码

XY2-100和SL2-100是激光打标领域的两种核心控制协议。XY2-100协议采用串行通信,指令集简单,适合常规打标任务,具有成本优势;SL2-100协议支持更高速率(1Mbps以上),具备曲线插补等高级指令,在精密加工领域表现突出。两者的主要差异体现在数据传输(帧结构、速率)、指令集(功能、数量)、参数调节(范围、精度)和错误处理机制等方面。实际应用中,XY2-100适合简单图形的大批量生产,SL2-100更胜任复杂曲面的高精度加工。选择时需综合考虑打标需求、设备兼容性和成本因素,未来两种协议将持续优

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 957

基于YOLOv11的人脸识别系统:从构建到应用的全流程指南

深度学习是机器学习的一个分支,旨在通过多层神经网络模拟人脑的认知能力。它能够从大量数据中自动提取特征,并进行准确的预测和分类。在计算机视觉领域,深度学习技术已经取得了显著的成果,尤其是在图像识别、目标检测等方面。YOLOv11是YOLO系列模型的最新版本,结合了卷积神经网络(CNN)和其他创新技术。它在保持高精度的同时,显著提高了推理速度。YOLOv11的结构轻量且高效,非常适合实时目标检测任务。人脸检测的目标是从图像或视频中定位所有人脸的位置。

FJN110的博客 184

十、JavaWeb之EL表达式、JSTL使用、过滤器Filter和监听器Listener

文章目录1 EL表达式1.1 EL表达式概述1.2 EL表达式的格式和作用1.3 EL表达式从域中取出数据1.4 EL的内置对象1.4.1 域属性相关(4个)1.4.2 其他重要内置对象(4个)1.5 EL执行运算符2 JSTL的核心标签库使用2.1 jstl标签概述2.2 jstl标签的安装2.3 常用的jstl标签3 过滤器Filter3.1 过滤器概述3.2 过滤器的快速入门和过滤器生命周期3.3 Filter的url-pattern配置3.4 注解配置Filter3.5 应用:Filter 处理中文

u_hcy2000的博客 513

【动态导通电阻】GaN功率器件中动态导通电阻退化的机制、表征及建模方法

研究目的:鉴于动态RON退化对GaN功率器件性能的显著影响,本文旨在全面综述和讨论GaN功率器件中动态RON退化的机制、表征方法、建模技术以及解决方案,以期为GaN功率器件的设计、优化和应用提供理论指导和实践参考。内容概述:文章首先分析了缓冲层陷阱和栅极不稳定导致动态RON退化的物理机制,并通过物理基础的TCAD模拟与高压背栅测量结果进行对比,揭示缓冲层陷阱的充电/放电过程如何影响动态RON。接着,讨论了不同GaN器件技术中栅极不稳定引起的动态RON增加以及栅极过驱动的作用。

荷塘阅色 1166

Web小结---Servlet,JSP,过滤器和监听器,四个作用域和九个内置对象,EL表达式语言,自定义标签,JSTL,国际化与汉字的编码

1、Servlet、ServletConfig:前者对应一个Servlet类,后者对应的是在web.xml中的配置信息(1)Servlet:init(ServletConfig):只再类加载并实例化后会被调用一次。service(ServletRequest,ServletResponse):会被调用多次destroy():只有一次getServletConfig()getServletInfo(

李浩荣的专栏 2517

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Java学习十三,web进阶(JSTL,EL,AJAX,过滤器,监听器)

目录1.JSTL和EL表达式1.1 EL表达式的介绍和作用1.1.1 EL的案例展示1.1.2 案例实施1.2 JSTL介绍1.2.1 JSTL常用标签及案例2.AJAX 1.JSTL和EL表达式 1.1 EL表达式的介绍和作用 目的是代替JSP页面中的复杂代码,他的基本语法是: ${变量名} 1.1.1 EL的案例展示 1.1.2 案例实施 创建表单提交页面EL/EL.jsp &amp;amp;amp;amp;amp;amp;amp;amp;lt;%@ p...

土豆科技的博客 556

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

EL表达式&过滤器&监听器

EL表达式 过滤器 监听器

m0_58885518的博客 546

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

EL表达式与JSTL标签库实战指南:从基础到OA系统改造

本文全面解析EL表达式数据访问机制与JSTL核心标签库应用,通过User、Dept等案例演示EL对象属性访问、集合遍历及运算符使用,详解JSTL的<c:if>、<c:forEach>等标签原理与配置步骤,并结合OA项目实战展示如何用EL+JSTL替代脚本代码,实现MVC模式下的高效页面开发。

m0_73941339的博客 1162

JSP和JSTL 过滤器和监听器

JSP 和 JSTL 1. 主要内容 2. JSP 新建JSP⻚⾯ 注释 在 JSP 中⽀持两种注释的语法操作: ⼀种是显示注释,这种注释是允许客户端看⻅的; 另⼀种是隐式注释,此种注释是客户端⽆法看⻅的 ① 显示注释语法:从 HTML ⻛格继承⽽来 ② 隐式注释语法:从 JAVA ⻛格继承;JSP ⾃⼰的注释 JSP 的三种注释⽅式: 1) // 注释,单⾏注释 /* 多⾏注释*/ 2) 3)<%-- JSP注释 --%> ** Scriptlet 在 JSP 中最重要的部分就是 S

Hello_zbs的博客 363

Servlet,JSP,过滤器和监听器,四个作用域和九个内置对象,EL表达式语言,自定义标签,JSTL

   一 Servlet1、Servlet、ServletConfig:前者对应一个Servlet类,后者对应的是在web.xml中的配置信息(1)Servlet:init(ServletConfig):只再类加载并实例化后会被调用一次。service(ServletRequest,ServletResponse):会被调

it_man的专栏 2802

过滤器、监听器和mysql

回顾 EL 语法 ${ 表达式 } EL 域对象,以及查找规则 pageScope requestScope sessionScope applicationScope EL 中 pageContext 对象有啥作用 可以获取其它对象 ${ pageContext.request.contextPath } EL 如何显示 Student 的属性、list 中的元素、map 的元素 ${ 学生对象.属性名 } ${ list[索引] } ${ map.key } 或 ${ map["key

weixin_48048140的博客 211

关于EL,JSTL&&Filter&&Listener

1.EL 是什么? 是一种表达式语言,也是Servlet的一种规范 有什么用? 在JSP页面中获取数据,让JSP脱离java代码块和JSP表达式,更方便的展示JSP数据 基本语法 ${表达式内容} 获取数据 只能从四大域中获取数据 根据名称从小到大逐个从域中查找 还可以获取JSP其他八大隐式对象,并且调用其中方法 代码如下: <%@ page import="com.itheima.bean.Student" %> <%@ page import="java.util.ArrayList

撒哈拉奔跑的蜗牛~的博客 159

JAVA—— EL、Filter、Listener

文章目录1 EL表达式和JSTL1.1 EL表达式1.1.1 EL表达式概述1.1.2 EL表达式的入门案例第一步:创建JavaWeb工程第二步:创建jsp页面第三步:在JSP页面中编写代码第四步:部署工程第五步:运行测试1.1.2 EL表达式基本用法1)获取四大域中的数据2)EL表达式的注意事项3)EL表达式的使用细节4)EL表达式的运算符1.1.3 EL表达式的11个隐式对象1)隐式对象介绍1.2 JSTL1.2.1 JSTL概述1)简介2)使用要求1.2.2 核心标签库1.2.3 JSTL使用2 Se

weixin_50594210的博客 1800

EL表达式、JSTL标签库、过滤器(Filter)、监听器(Listener)

1. EL表达式 1.1 介绍 EL(Expression Lannguage):表达式语言 在JSP2.0规范中加入的内容,也是Servlet规范的一部分 作用 在JSP页面获取数据,让我们的JSP脱离Java代码块和JSP表达式 不需要关心是哪个对象,只需要关心名称就行了 语法 ${表达式的内容} 只能从域对象中获取,即四大域对象 1.2 入门案例 <head> <title>el快速入门</title> </head> <b

辰伏的博客 580

JavaWeb2

一 EL和JSTL核心技术 1.1 EL表达式(熟悉) 1.1.1 基本概念 EL(Expression Language)表达式提供了在JSP中简化表达式的方法,可以方便地访问各种数据 并输出。 1.1.2 主要功能 依次访问pageContext、request、session和application作用域对象存储的数据。 获取请求参数值。 访问Bean对象的属性。 访问集合中的数据。 输出简单的运算结果。 1.1.3 访问内置对象的数据 (1)访问方式 <%=request.getAttribu

m0_64076769的博客 308

【JavaWeb】Servlet+JSP+EL表达式+JSTL标签库+Filter过滤器+Listener监听器

Markdown文本编辑器(可以编辑xxx.md文件) 1 Servlet 1.1 关于系统架构 1.1.1 系统架构包括什么形式? C/S架构 B/S架构 1.1.2 C/S架构? Client / Server(客户端 / 服务器) C/S架构的软件或者说系统有哪些呢? QQ(先去腾讯官网下载一个QQ软件,几十MB,然后把这个客户端软件安装上去,然后输入QQ号以及密码,登录之后,就可以和你的朋友聊天了,就可以使用这个软件了。) C/S架构的特点:需要安装特定的客户端软件。 C/S架构的系

本博客旨在记录软件开发中的点滴进步,特别是围绕Java后端开发领域的深度学习与实践总结。在这里,你可以找到关于Spring全家桶、并发编程、微服务架构以及数据库优化等方面的原创文章。欢迎在博客下方留言与我交流,期待与志同道合的你一起探讨技术 1118
上一篇: Cookie和Session
下一篇: SQL基本使用
Figure_TheKeyboard
博客等级 码龄5年 6粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值