jsp
- jsp是什么?
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者 - jsp为什么能做Servlet的事?
jsp的本质是Servlet - jsp和HTML的区别
- HTML文件中只能写前端代码: HTML语法 + CSS + JS
- jsp中可以写前端代码 : HTML语法 + CSS + JS ,还有Java程序
jsp中编写Java代码
(1)导包
<%@ page import=“java.util.Random” %>
(2)方式1: 编译后代码存放在Service方法中
<%
代码生成在service方法中
%>
(2)方式2:这里的代码会被编译到成员位置
<%!
代码生成在成员中
%>
(3)方式3: 会将内容直接输出到页面上 <%=“hello”%>
EL表达式概述
- 是什么是EL表达式
EL(Express Lanuage)表达式可以嵌入在jsp页面内部 - EL表达式有什么意义?
是要替代jsp页面中输出脚本的编写,减少jsp脚本的编写 - EL表达式怎么写?
${EL表达式内容} - EL表达式的作用:
- 从域对象中查找指定的数据。
- 内置对象使用
- 执行运算符
域对象
- jsp默认支持四个域对象:
HttpServletContext application; 整个项目
HttpSession session; 一次会话
HttpServletRequest requst ; 一次请求
HttpPageContext pageContext; 当前页面 - 核心方法
setAttribute(键,值);
getAttribute(键);
removeAttribute(键);
EL表达式-存储对象
- 定义User类
- 定义Birthday类
- 导包
- Java代码创建对象,并将对象存在作用域对象中
- 使用el表达式取出对象,并访问成员变量值
EL表达式-存储集合List与Map
- List集合里面添加多个User对象
使用索引取出对象 - Map集合里面添加多个User对象
使用key获取对象
EL表达式-运算符
- Java运算符
在${}
中可以写java运算符,对数据进行计算
必须要求先在作用域中存数据,因为${}作用就是取数据 - empty关键字
不能在empty的内部写if语句,判断对象或者集合对象是否为空,所以得使用empty关键字
empty关键字可以
判断 对象,字符串是否为空
判断集合中元素个数为0
EL表达式-获取项目访问路径
(1)在Servlet中获得web应用的名称:
request.getContextPath();
(2)在jsp页面上获得web应用的名称:${pageContext.request.contextPath}
(3)有什么意义?动态获取项目访问路径,如果项目访问路径修改了,那么不会影响页面或者Servlet内的地址修改
(3)pageContext - WEB开发中的pageContext.
(4)获取JSP中域中的数据(pageScope,requestScope,sessionScope,applicationScope)
JSTL表达式概述
- 什么是jstl
JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。 - jstl有什么意义?
jstl出现的目的同el一样也是要替换jsp页面中的脚本代码。 - JSTL标准标准标签库有5个子库,目前常使用的是他的核心库
JSTL表达式-if标签
- jstl的核心标签内容有很多,现在目前还常用的标签只有if、foreach标签。
- <c:if>标签
起到java代码的判断的作用 - if标签属性介绍
JSTL表达式-for标签
- forEach标签
起到java代码的for循环作用 - forEach标签属性介绍