Jsp笔记

JSP:入门学习

        1.概念:

                  Java Server Pages : java服务器端页面
                        可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码
                        用于简化书写! 

        2.原理

                JSP本质上就是一个Servlet

        3. JSP的脚本:

        JSP定义        

Java代码的方式
                1. <% 代码%>:定义的java代码,在service方法中。service方法中可以定义什么, 该脚本中就可以定义什么。
                2. <%! 声明语句%>:用于声明变量或方法,在jsp转换后的java类的成员位置。(成员变量,尽量少定义)
                3.<%= java代码%>:定义的java代码,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么。例如<%="<b>"+name+"</b>"%>

         JSP常用处理指令

        1.<%@page%>:定义当前JSP页面全局设置

        2.<%@include%>:将其他JSP页面与当前JSP页面合并

        3.<%@taglib%>:引入JSP标签库

        4. JSP的内置对象

        在jsp页面中不需要获取和创建,可以直接使用的对象
        jsp-共有9个内置对象。
            今天学习3个:
                request
                response
                out :字符输出流对象。可以将数据输出到页面上。和response.getWriter()类似

                        response.getWriter()和out.wirte()的区别

response会先于out输出,tomcat服务器会先找response缓冲区数据,再找out缓冲区。

获取上次登录时间 

获取上次登陆时间
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.net.URLEncoder" %>
<%@ page import="java.net.URLDecoder" %><%--
    Created by IntelliJ IDEA.
    User: fish
    Date: 2022/9/22
    Time: 21:58
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>itcast</title>
</head>
<body>
<%
    //1.获取所有Cookie
    Cookie[] cookies = request.getCookies();
    boolean flag = false;//没有cookie为lastTime
    //2.遍历cookie数组
    if(cookies != null && cookies.length > 0) {
        for (Cookie cookie : cookies) {
            //3.获取cookie的名称
            String name = cookie.getName();
            //4.判断名称是否是: lastTime
            if ("lastTime".equals(name)) {
                //有该Cookie,不是第一次访问
                flag = true;//有 lastTime的cookie
                //设置Cookie的value
                //获取当前时间的字符串,重新设置Cookie的值,重新发送cookie
                Date date = new Date();
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
                String str_date = sdf.format(date);
                System.out.println("编码前: " + str_date);
                //URL编码
                str_date = URLEncoder.encode(str_date, "utf-8");
                System.out.println("编码后: " + str_date);
                cookie.setValue(str_date);
                //设置cookie的存活时间
                cookie.setMaxAge(60 * 60 * 24 * 30);//一个月
                response.addCookie(cookie);

                //响应数据
                //获取Cookie的value,时间
                String value = cookie.getValue();
                System.out.println("解码前: " + value);
                //UR解码:
                value = URLDecoder.decode(value, "utf-8");
                System.out.println("解码后: " + value);
                response.getWriter().write("<h1>欢迎回来,您上次访问时间为:" + value + "</h1>");
                break;
            }
        }
    }
    if(cookies == null || cookies.length == 0 || flag == false){
        //没有,第一次访问
        //设置Cookie的value
        //获取当前时间的字符串,重新设置Cookie的值,重新发送cookie
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat( "yyyy年MM月dd日HH:mm:ss");
        String str_date = sdf. format(date);
        System. out . println("编码前: "+str_date);
        //URL编码
        str_date = URLEncoder . encode(str_date, "utf-8");
        System.out.println( "编码后: "+str_date);
        Cookie cookie = new Cookie("lastTime",str_date);
        //设置cookie的存活时间
        cookie. setMaxAge(60 * 60 * 24 * 30);//- 个月
        response.addCookie(cookie);
        response.getWriter().write("<h1>您好,欢迎您首次访问</h1>");
    }

%>

</body>
</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值