概述
过滤器 filter 和 cookie
- 过滤器
- cookie
- cookie的作用
- cookie的生命周期
- cookie的存储位置
- cookie的显示上次登录时间案例
过滤器
作用: 拦截,阻止直接在地址栏输入地址跳过注册或登录页面直接进入其他页面
代码案例:
创建过滤器:
public class UserFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
HttpServletRequest request = (HttpServletRequest) req;
HttpSession session = request.getSession();
Object user = session.getAttribute("user");
if(user != null){
//该语句的作用是放行
chain.doFilter(req, resp);
}
}
}
注册过滤器
<filter>
<filter-name>UserFilter</filter-name>
<filter-class>com.njdf.filter.UserFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UserFilter</filter-name>
<url-pattern>/add</url-pattern>
<url-pattern>/ds</url-pattern>
<url-pattern>/as</url-pattern>
<url-pattern>/ast</url-pattern>
<url-pattern>/add.jsp</url-pattern>
<url-pattern>/Success.jsp</url-pattern>
<url-pattern>/update.jsp</url-pattern>
</filter-mapping>
如果想指定拦截对象,<url-pattern>/*</url-pattern>写法格式与servlet一样
1. 全路径匹配 以 / 开始
2. 以目录匹配 以 / 开始 以 * 结束
3. 以后缀名匹配 以 * 开始 以后缀名结束
cookie
cookie的作用
记录用户登录信息,跟踪统计用户访问网站的时间,页面,每个页面停留的时间,方便提供免密登陆,为用户提供个性化服务
cookie的生命周期
可以自己设置 cookie 的生命周期
cookie的存储位置
cookie 存储在用户上
cookie的显示上次登录时间案例
登录页面代码
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<html>
<%
String oldTime = "";
Cookie[] cookies = request.getCookies();
for(int i = 0; i<cookies.length;i++){
if(cookies[i].getName().equals("lastTime")){
oldTime = oldTime+cookies[i].getValue();
}
}
%>
<head>
<title>登录</title>
</head>
<body>
<h1>上次登录时间为:<%= oldTime%></h1>
<form action="es" method="get">
账号:<input type="text"><br>
密码:<input type="password"><br>
<input type="submit">
</form>
</body>
</html>
servlet 代码:
public class enterServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Date date = new Date();
String time = "yyyy年MM月dd日hh:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(time);
String format = sdf.format(date);
System.out.println(format);
Cookie cookie = new Cookie("lastTime",format);
cookie.setMaxAge(60*60*24*7);
cookie.setPath("/");
response.addCookie(cookie);
request.getRequestDispatcher("OK.jsp").forward(request,response);
}
}
最后
以上就是包容铅笔为你收集整理的Num.05-过滤器 filter 和 cookie的全部内容,希望文章能够帮你解决Num.05-过滤器 filter 和 cookie所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复