EL和JSPL

回顾

cookie

  • 如何向浏览器返回 cookie
    • resp.addCookie(new Cookie(名, 值));
  • 如何获取浏览器发送来的 cookie
    • req.getCookies() => 数组
  • cookie 的寿命如何控制
    • setMaxAge(-1) 默认,关闭浏览器,cookie 销毁(会话cookie jesessionid)
    • setMaxAge(0) 立刻销毁
    • setMaxAge(正整数) 单位是秒,过多少秒后销毁
  • cookie 有什么大小限制
    • 4k
    • 20 个左右
    • 300 个左右

session

  • 如何创建或获取 session
    • HttpSession session = req.getSession()
    • session.setAttribute(名, 值);
    • session.getAttribute(名) 返回值
  • 描述 session 的工作过程
    • req.getSession() 首次会创建 session 对象,产生一个唯一id
    • 通过 jsessionid cookie 将 session 的唯一id返回给浏览器,浏览器会存储此cookie
    • 浏览器再次发生请求时,会携带此cookie,可以根据它id值找对应的 session对象
  • session 在何时会销毁
    • 当30分钟不发送请求,session 就会过期,从而销毁
    • session.invalidate()

jsp

  • jsp 的注释、代码块、表达式

    • <%-- --%>
      
      <%   %>
      
      <%= 表达式 %>
      
  • page 指令的作用

    • <%@ page contentType="" import=""%>
      
  • include 指令的作用

    • <%@ include file="另一个jsp"%>
      
  • 9 个隐式对象

    pageContext 
    request
    session
    application
    
    response
    out
    
    page
    config
    exception
    

今日内容

1. EL 和 JSTL(*)

定义和语法

expression language, 作用:就是从各个域中获取变量的值,并显示

${ 域变量名 }

域变量的查找
pageScope.变量名

requestScope.变量名

sessionScope.变量名

applicationScope.变量名

变量名  从小到大依次查找四个域,找到了就显示,找不到继续向下查找。如果四个域都没有找到,不显示结果,但不会报错
用EL显示值

自定义类型,例如 Student (*)

  • 语法:${ 变量名.属性名 } 实际调用的属性对应的 get 方法

数组和 list

  • 语法:${ 集合变量名[索引] }

map 集合

  • 语法:${ 集合变量名.key }
特殊运算符

empty 可以用来检查

  1. 对象是否为null
  2. 字符串是否为 “” 串
  3. 数组和集合是否没元素(基本类型数组不行!)

三元

  • 语法 ${ 条件表达式 ? 结果1 : 结果2 }
隐式对象

要求掌握

${pageContext.request.contextPath} 获取虚拟目录,以及四个跟域相关的隐式对象即可

jstl

jsp 标准标签库(主要使用 core 核心标签)

<c:if test="${empty 变量名}"> ... </c:if>
<c:if test="${not empty 变量名}"> ... </c:if>

<c:forEach items="${集合变量名}" var="临时变量名">
${临时变量名}
</c:forEach>

2. 学生管理系统改进(*)

添加学生流程
addStudent.jsp addStudent(Servlet) index.jsp 1. 提交表单 2. 将请求参数封装为 Student 对象 3. 将 Student 对象的数据写入文件 4. 重定向 addStudent.jsp addStudent(Servlet) index.jsp
查询学生流程
index.jsp listStudent(Servlet) listStudent.jsp 1. 点击超链接 2. 从文件读取学生数据,放入 list 集合 3. list 集合存入 request 作用域 4. 转发至 listStudent.jsp 5. 使用c:forEach标签显示数据 index.jsp listStudent(Servlet) listStudent.jsp
登录流程
提交用户名,密码
不正确
正确
login.jsp
LoginServlet
检查正确性
index.jsp

体现的思想称为 mvc

  • m - model 模型 - 主要指数据(以及数据逻辑部分)
  • v - view 视图 - 用来展示数据的,对应 jsp 页面
  • c - controller 控制器 - 将模型和视图联系起来的类,对应 servlet
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值