9、MD5加密Java原生方式、JSP简介、Cookie的使用

MD5加密存储

使用JDK提供的类。

package org.westos.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;

/**
 * @author lwj
 * @date 2020/8/20 9:38
 */
public class MD5Util {
    public static String md5(String str) throws NoSuchAlgorithmException {
        MessageDigest md5 = MessageDigest.getInstance("md5");
        byte[] digest = md5.digest(str.getBytes());
        System.out.println(Arrays.toString(digest));
        //[-31, 10, -36, 57, 73, -70, 89, -85, -66, 86, -32, 87, -14, 15, -120, 62]
        System.out.println(digest.length);
        //16
        StringBuilder sb = new StringBuilder();
        for (byte by : digest) {
            //对于每一个byte变量进行操作
            int n = by & 0xff;
            String string = Integer.toHexString(n);
            System.out.println(string);
            if (string.length() == 1) {
                sb.append(0).append(string);
            } else {
                sb.append(string);
            }
        }
        return sb.toString();
    }

    public static void main(String[] args) throws NoSuchAlgorithmException {
        String s = md5("123456");
        System.out.println(s);
        //e1a0dc3949ba59abbe56e057f2f0883e
    }
}

JSP

JSP是一个Servlet

  • JSP:Java Server Page,Java服务端页面,是一种既可以写HTML、JS,也可以写Java代码的技术。
  • 本质上,JSP是一个Servlet。
  • JSP的出现,是为了简化页面的开发,如果没有JSP时,向浏览器响应信息时,就只能通过response.getWriter()这种方式。

在这里插入图片描述

在这里插入图片描述

public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase {
    public void _jspInit() {
    }

    public void _jspDestroy() {
    }
    public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
        throws java.io.IOException, javax.servlet.ServletException {
    }
}

JSP脚本

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Hello</title>
</head>
<body>
    <%!
        /*在这里可以定义Java类的成员变量*/
        public StringBuilder sb = new StringBuilder();
    %>

    <%
        /*在这里定义service()方法的局部变量*/
        int num = 100;
    %>

    <%="这个是在页面上可以看到的!!!"%>
</body>
</html>

默认情况下,只有在第一次访问.jsp之后,服务器才会编译.jsp文件为.class文件,所以必须在请求/hello.jsp后,才能在文件夹中找到hello.class。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

service()方法

在这里插入图片描述

Cookie

发送Cookie

package org.westos.demo;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author lwj
 * @date 2020/8/20 10:32
 */
@WebServlet(name = "ServletDemo", value = "/servletDemo")
public class ServletDemo extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Cookie cookie = new Cookie("key", "name");
        Cookie cookie1 = new Cookie("value", "john");
        response.addCookie(cookie);
        response.addCookie(cookie1);
        //服务端发送Cookie
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
}

在这里插入图片描述

在这里插入图片描述

获取Cookie

package org.westos.demo;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author lwj
 * @date 2020/8/20 10:36
 */
@WebServlet(name = "ServletDemo2", value = "/servletDemo2")
public class ServletDemo2 extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Cookie[] cookies = request.getCookies();
        if (cookies != null) {
            for (Cookie cookie : cookies) {
                System.out.println(cookie.getName() + " : " + cookie.getValue());
            }
        }
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
}

在这里插入图片描述

Cookie的注意事项

1、Cookie不跨浏览器;

2、Cookie默认存在内存中;setMaxAge(-1)

在这里插入图片描述

关闭浏览器,再打开,

在这里插入图片描述

3、设置Cookie的存活周期

package org.westos.demo;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author lwj
 * @date 2020/8/20 10:32
 */
@WebServlet(name = "ServletDemo", value = "/servletDemo")
public class ServletDemo extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Cookie cookie = new Cookie("key", "name");
        Cookie cookie1 = new Cookie("value", "john");
        cookie.setMaxAge(60 * 60);
        //设置cookie存活1h
        response.addCookie(cookie);
        response.addCookie(cookie1);
        //服务端发送Cookie
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4、删除Cookie

cookie.setMaxAge(0);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值