欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JSP入门

程序员文章站 2022-03-11 19:14:28
...

1. JSP 的概念

JSP(Java Server Pages),Java 服务器端页面。

它是一个特殊的页面,其中既可以指定定义 Html 标签,又可以定义 Java 代码,可以简化书写

2. JSP 的原理

JSP入门

JSP 本质上就是一个 Servlet

3. JSP 的脚本

  1. JSP 的脚本的概念

    JSP 定义 Java 代码的方式

  2. JSP 的脚本的分类

    1. <% 代码 %>:定义的 Java 代码,在 service 方法中。service 方法中可以定义什么,该脚本中就可以定义什么
    2. <%! 代码 %>:定义的 Java 代码,在 JSP 转换后的 Java 类的成员位置
    3. <%= 代码 %>:定义的 Java 代码,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么

4. JSP 的内置对象

  1. JSP 的内置对象的概念

    在 JSP 页面中不需要获取和创建,可以直接使用的对象

  2. JSP 的内置对象

    JSP 一共有9个内置对象,以下介绍三个:

    • request
    • response
    • out:字符输出流对象。可以将数据输出到页面上。
      • print() 方法

5. 改造记住上一次访问时间案例

在 Cookie 中已经做过这个案例,现在用 JSP 实现

<%@ page import="java.net.URLDecoder" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.net.URLEncoder" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    // 标志是否有名为 lastTime 的 Cookie
    boolean flag = false;

    // 1.获取所有 Cookie,拿到数据
    Cookie[] cookies = request.getCookies();
    // 2.遍历 cookies 数组
    if (cookies != null && cookies.length > 0) {
        for (Cookie cookie : cookies) {
            // 3.获取 cookies 名称
            String name = cookie.getName();
            // 4.如果有名为 lastTime 的 Cookie,不是第一次访问
            if(name.equals("lastTime")){
                flag = true;
                // 响应数据
                String value = cookie.getValue();
                // 进行 URL 解码
                value = URLDecoder.decode(value,"utf-8");
%>
                <div>欢迎回来,您上次访问时间为:<%= value%></div>
<%
                // 写回 Cookie
                Date date = new Date();
                // 格式化日期
                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String format = simpleDateFormat.format(date);
                // 进行 URL 编码
                format = URLEncoder.encode(format, "utf-8");
                cookie.setValue(format);
                // 设置存活时期
                cookie.setMaxAge(60*60*24*30);
                response.addCookie(cookie);
                break;
            }
        }
    }
    //5.如果没有名为 lastTime 的 Cookie,是第一次访问
    if(cookies == null || cookies.length == 0 || flag == false){
%>
        <%--响应数据--%>
        <div>您好,欢迎您首次访问</div>
<%
        // 写回 Cookie
        Date date = new Date();
        // 格式化日期
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String format = simpleDateFormat.format(date);
        // 进行 URL 编码
        format = URLEncoder.encode(format, "utf-8");
        Cookie cookie = new Cookie("lastTime",format);
        // 设置存活时期
        cookie.setMaxAge(60*60*24*30);
        response.addCookie(cookie);

    }
%>
</body>
</html>

相关标签: JSP