Java最新JSP基础和EL表达式、JSTL,全靠这套面试题

Java面试核心知识点笔记

其中囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

Java中高级面试高频考点整理

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

最后分享Java进阶学习及面试必备的视频教学

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取


案例一:


演示JSP三种脚本的使用

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

$Title$

<%-- 在浏览器页面输出 --%>

<%=1%>

<%-- 在idea工具的控制台输出 --%>

<% System.out.println(2);%>

<%-- 成员变量的定义 --%>

<%! int i = 1;%>

<% int b = 2;%>


1.4 JSP注释


  1. html注释:

<!-- -->:只能注释html代码片段

  1. jsp注释:推荐使用

<%-- --%>:可以注释所有


二、 JSP内置对象


为了简化Web应用程序的开发,JSP 2.0规范中提供了9个内置对象,它们是JSP默认创建的,可以直接在JSP页面中使用。

| 名称 | 类型 | 描述 |

| — | — | — |

| out | javax.servlet.jsp.JspWriter | 用于页面输出 |

| request | javax.servlet.http.HttpServletRequest | 得到用户请求信息 |

| response | javax.servlet.http.HttpServletResponse | 服务器向客户端的回应信息 |

| config | javax.servlet.ServletConfig | 服务器配置,可以取得初始化参数 |

| session | javax.servlet.http.HttpSession | 用来保存用户的信息 |

| application | javax.servlet.ServletContext | 所有用户的共享信息 |

| page | java.lang.Object | 指当前页面转换后的Servlet类的实例 |

| pageContext | javax.servlet.jsp.PageContext | JSP的页面容器 |

| exception | java.lang.Throwable | 表示JSP页面所发生的异常,在错误页中才起作用 |


2.1Request对象


request对象是javax.servlet.http.HttpServletRequest对象的一个实例。每当客户端请求页面时,JSP引擎将创建一个新对象来表示该请求。

request对象提供了获取包括表单数据,Cookie,HTTP方法等HTTP头信息的方法。

2.2 response对象


response对象是javax.servlet.http.HttpServletResponse对象的一个实例。就像服务器创建request对象一样,它还创建一个对象来表示对客户端的响应。

response对象还定义了处理创建新HTTP头的接口。通过此对象,JSP程序员可以添加新的Cookie或日期戳,HTTP状态代码等。

2.3 out对象


out隐式对象是javax.servlet.jsp.JspWriter对象的一个实例,用于在响应中发送内容。

初始化JspWriter对象根据页面是否缓存而不同地实例化。缓冲可以通过使用page指令的buffered ='false'属性来关闭。

JspWriter对象包含与java.io.PrintWriter类大部分相同的方法。但是,JspWriter还有一些额外的方法用来处理缓冲。与PrintWriter对象不同,JspWriter会抛出IOExceptions异常。

2.4 session对象


session对象是javax.servlet.http.HttpSession的一个实例,其行为与Java Servlet下的会话对象行为完全相同。

session对象用于跟踪客户端请求之间的客户端会话。

2.5 application对象


application对象是生成的ServletServletContext对象的直接包装,实际上是javax.servlet.ServletContext对象的一个实例。

application对象是JSP页面在其整个生命周期中的表示。 当JSP页面被初始化时,将创建此对象,并且在JSP页面被jspDestroy()方法删除时application对象也将被删除。

通过向application对象添加属性值,可以确保组成Web应用程序的所有JSP文件都可以访问它。

2.6 config对象


config对象是javax.servlet.ServletConfig的实例化,是生成的servlet的ServletConfig对象周围的直接包装。

2.7 pageContext对象


pageContext对象是javax.servlet.jsp.PageContext对象的一个实例。pageContext对象用于表示整个JSP页面。

2.8 page对象


page对象是对该页面实例的实际引用。可以认为它是表示整个JSP页面的对象。

page对象是this对象的直接同义词。

2.9 exception对象


exception对象是一个包含上一页抛出的异常的包装器。它通常用于生成对错误条件的适当响应。


三、JSP四大域对象


3.1、概述


到此为止,web开发接触到了4个域对象,这4个域对象是学习web的重点

  • pageContext(称之为page域)

  • request(称之为request域)

  • session(称之为session域)

  • application (称之为application域) 本质上是ServletContext

什么是域

域: 即范围的意思

之所以把这些对象叫做域对象 是为他们都有自己的固定的生命周期和作用域

内部是Map集合的实现 Map<String, Object>

都有 存 和 取 、删除的方法

void setAttribute(String name, Object value):用来存储数据

Object getAttribute(String name):用来获取域中的数据

void removeAttribute(String name):用来移除域中数据


3.2、域对象总结


| 域对象 | 生命周期 | 作用 |

| — | — | — |

| pageContext | 当期页面 | 代理其他域对象 |

| request | 一次请求 | 数据只是做显示的,看完了就没用了 (请求转发, Servlet 产生的处理结果(数据) 交给jsp显示) |

| session | 一次会话 | 保存用户特有数据 或 数据给用户看完了,一会还要用,会话结束了就没用了 |

| application | 与服务器共存亡 | 数据给一个用户用完了,别人还要用,保存所有用户共享的数据 |

域范围: pageContext <request<session<application

从小到大


四、EL表达式


4.1、概述


概念:EL 全名为Expression Language 表达式语言

作用

替换和简化jsp页面中java代码的编写

语法格式:

${表达式}

4.2、EL表达式使用


4.2.1 运算


  • 算数运算符: + - * /(div) %(mod)

  • 比较运算符:> < >= <= == !=

  • 逻辑运算符:&&(and) ||(or) !(not)

  • 三元运算符:表达式1 ? 表达式2 : 表达式3;

  • 空运算符:empty

  • 功能:用于判断字符串、集合、数组对象是否为null或者长度是否为0

  • ${empty list}:判断字符串、集合、数组对象是否为null或者长度为0

  • ${not empty str}:表示判断字符串、集合、数组对象是否不为null 并且 长度>0

案例4:


演示EL表达式运算符的使用

在web根目录WebContent 中创建目录el,在该目录中创建elDemo.jsp 页面

使用EL运算符

<%@ page language=“java” contentType=“text/html; charset=UTF-8”

pageEncoding=“UTF-8”%>

运算符

算术运算符

${8+3 }

${8-3 }

${8/3 }

${8*3 }

${8%3 }

比较运算符

${3>8}

逻辑运算符

${3>1&&3>8}

三元运算符

${3<8?true:false}

4.2.2 获取值


注意:el表达式只能从域对象中获取值,自动屏蔽null值

最后

在面试前我整理归纳了一些面试学习资料,文中结合我的朋友同学面试美团滴滴这类大厂的资料及案例

MyBatis答案解析
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

大家看完有什么不懂的可以在下方留言讨论也可以关注。

觉得文章对你有帮助的话记得关注我点个赞支持一下!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

**:el表达式只能从域对象中获取值,自动屏蔽null值

最后

在面试前我整理归纳了一些面试学习资料,文中结合我的朋友同学面试美团滴滴这类大厂的资料及案例
[外链图片转存中…(img-en8F45F2-1715406556581)]

[外链图片转存中…(img-dJ0buDFg-1715406556581)]
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

大家看完有什么不懂的可以在下方留言讨论也可以关注。

觉得文章对你有帮助的话记得关注我点个赞支持一下!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 27
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值