0


JavaWeb《后端内容:5. 项目实战:书城系统(下篇)》

1. Cookie了解

创建一个新的module webmodule16-cookie-kaptcha-js ,添加web支持框架。同时导入tomcat包。

HTTP协议本身是无状态的。单靠HTTP协议本身无法判断一个请求来自于哪一个浏览器,所以也就没法识别用户的身份状态。

Cookie本质

在浏览器端临时存储数据

键值对

键和值都是字符串类型

数据量很小

②Cookie在浏览器和服务器之间的传递

没有Cookie的状态

在服务器端没有创建Cookie并返回的情况下,浏览器端不会保存Cookie信息。双方在请求和响应的过程中也不会携带Cookie的数据。

1. 创建Cookie对象 在客户端保存Cookie

@WebServlet("/cookie01")
public class CookieServlet01 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 1. 创建Cookie对象
        Cookie cookie = new Cookie("uname", "jim");
        // 2. 将Cookie对象添加到响应中
        resp.addCookie(cookie);

        req.getRequestDispatcher("hello01.html").forward(req, resp);
    }
}

2. 设置Cookie的有效时长

设置cookie的有效时长是60秒

**cookie.setMaxAge(60) **

上网时间长了,本地会保存很多Cookie。对浏览器来说,访问互联网资源时不能每次都把所有Cookie带上。浏览器会使用Cookie的domain和path属性值来和当前访问的地址进行比较,从而决定是否携带这个Cookie

cookie.setDomain(pattern)

cookie.setPath(uri)

3. Cookie的应用

1. 记住用户名和密码十天 setMaxAge(60 * 60 * 24 * 10)

2. 十天免登录

2. kaptcha

1. kaptcha如何使用

添加jar
在web.xml文件中注册KaptchaServlet,并设置验证码图片的相关属性,kaptcha验证码图片的各个属性在常量接口:Constants中。这个可以从jar包的Constants里面看到字段名称,然后相应设置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <servlet>
        <servlet-name>KaptchaServlet</servlet-name>
        <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>

        <init-param>
            <param-name>kaptcha.border.color</param-name>
            <param-value>red</param-value>
        </init-param>

        <init-param>
            <param-name>kaptcha.textproducer.char.string</param-name>
            <param-value>abcdefg</param-value>
        </init-param>
    </servlet>

    <servlet-mapping>
        <servlet-name>KaptchaServlet</servlet-name>
        <url-pattern>/kaptcha.jpg</url-pattern>
    </servlet-mapping>

</web-app>

在html页面上编写一个img标签,然后设置src等于KaptchaServlet对应的url-pattern

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<img src="kaptcha.jpg" alt="">
</body>
</html>

2. KaptchaServlet在生成验证码图片时,会同时将验证码信息保存到session中

因此,我们在注册请求时,首先将用户文本框中输入的验证码值和session中保存的值进行比较,相等,则进行注册

标签: java 开发语言

本文转载自: https://blog.csdn.net/weixin_44981126/article/details/130818061
版权归原作者 TheFanXY 所有, 如有侵权,请联系我们删除。

“JavaWeb《后端内容:5. 项目实战:书城系统(下篇)》”的评论:

还没有评论