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中保存的值进行比较,相等,则进行注册
版权归原作者 TheFanXY 所有, 如有侵权,请联系我们删除。