JavawebJavaServer Pages Standard Tag Library知识点

JavaWeb开发中,JSTL(JavaServer Pages Standard Tag Library)EL(Expression Language)CookieSession是非常重要的组件。以下是这些知识点的总结:

1. JSTL标签库

JSTL是JavaServer Pages的一种标准标签库,旨在简化JSP页面的开发。它通过提供预定义的标签,来实现常见任务,如条件判断、循环处理、国际化等。

  • 使用标签

    • :条件判断
    • :迭代
    • :选择结构
    • :国际化
    • :输出数据,自动转义防止XSS
  • 引入方法
    在JSP页面顶部引入JSTL库:

     

    jsp

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

2. EL表达式

EL是一种用于简化JSP页面中Java代码的表达式语言。它使得用户可以在JSP中直接访问Java对象的属性,简化数据处理和显示。

  • 基本语法

    • 表达式以${}包围,例如:${user.name}
    • 支持运算符:如+-*/等,也支持条件判断和调用方法。
  • 特色

    • 自动识别和处理null值。
    • 可以通过使用[].运算符来访问集合和对象的属性。

3. Cookie

Cookie是一种在客户端存储少量数据的方式,通常用于保存用户的偏好信息状态,或保持会话。

  • 设置Cookie

     

    java

    Cookie cookie = new Cookie("username", "JohnDoe"); cookie.setMaxAge(60 * 60); // 设置有效期为1小时 response.addCookie(cookie);

  • 读取Cookie

     

    java

    Cookie[] cookies = request.getCookies(); for (Cookie cookie : cookies) { if (cookie.getName().equals("username")) { String value = cookie.getValue(); } }

4. Session

Session用于在用户会话期间存储用户的信息,跨多个页面和请求保持用户状态。

  • 创建Session

     

    java

    HttpSession session = request.getSession(); session.setAttribute("user", userObject); // 存储对象

  • 获取Session数据

     

    java

    HttpSession session = request.getSession(false); // false表示若不存在则不创建新Session if (session != null) { User user = (User) session.getAttribute("user"); // 获取对象 }

  • Session管理

    • 可以设置Session的有效期:session.setMaxInactiveInterval(30 * 60); // 30分钟
    • 可以在用户登出时无效化Session:session.invalidate();

总结

  • JSTLEL极大地简化了JSP页面的开发,提高了代码的可读性和维护性。
  • CookieSession作为客户端和服务器端的状态管理技术,分别有各自的应用场景。Cookie适合存储小量信息,Session适合存储会话信息。

你可能感兴趣的:(python,java,开发语言)