Java web的会话跟踪技术
Java  /  管理员 发布于 4年前   450
会话跟踪主要是用在用户页面点击不同的页面时,需要用到的技术点
会话:多次请求与响应的过程
1,url地址传递参数,实现页面跟踪技术
格式:传一个参数的
url?名=值
传两个参数的
url?名=值 &名=值
关键代码实例:
// 获得提交的数据String userName = request.getParameter("userName");String userPwd = request.getParameter("userPwd");System.out.println(userName + " " + userPwd);if ("abc".equals(userName) && "111".equals(userPwd)) {response.sendRedirect("suc.jsp?n=" + userName + "&p=" + userPwd);}
在登录成功的页面获取账号的密码信息;
<% //获取账号和密码 String names = request.getParameter("n"); String pwd = request.getParameter("p");%>账号:<%=names%> 密码:<%=pwd %>
url传递参数会将传递会显示条状页面的网页地址栏中
2,form表单的隐藏域传递参数
格式如下:
form><input type="hidden" name="名" value=“值”/><input type="hidden" name="名" value=“值”/></form>
使用技术的关键代码实例:
传递姓名和密码:
// 获得提交的数据String userName = request.getParameter("userName");String userPwd = request.getParameter("userPwd");System.out.println(userName + " " + userPwd);if ("abc".equals(userName) && "111".equals(userPwd)) { request.setAttribute("aaa",userName);//使用隐藏域,不能使用重定向请求request.getRequestDispatcher("suc.jsp").forward(request, response);}
在jsp页面中获取账号和密码:
<% //获取java代码中的属性 String name = (String)request.getAttribute("aaa");%><form action="addBlog" method="post">//隐藏域获取jsp中的数据<input type="hidden" name="uname" value="<%=name %>" /></form>
3,Cookie会话跟踪技术;
Cookie是保存在浏览器缓存/或临时文件中的一系列文本数据
//创建Cookie
Cookie ck = new Cookie("名",值);response.addCookie(ck);
//获取Cookie
Cookie[] cks = request.getCookies();for(Cookie ck:cks){String name = ck.getName();String value = ck.getValue();}
Cookie的作用:
1.跟踪特定对象:记录浏览过的商品2.统计网页的访问次数3.简化登录过程:自动登录
Cookie特点:
1.Cookie一定是保存在浏览器中的文本2.Cookie不安全,容易泄露个人信息3。用户可以禁用浏览器的Cookie功能
Cookie分为:
临时性Cookie:保存在浏览器的缓存中,当浏览器关闭后就没有了持久性Cookie:保存在系统的临时文件夹中,达到有效期后失效如何保存持久性Cookie:只要给Cookie设置有效时间,就是一个持久性CookieCookie ck = new Cookie("名",值);ck.setMaxAge(60);
Cookie的使用技术:
关键代码实例:
// 获得提交的数据String userName = request.getParameter("userName");String userPwd = request.getParameter("userPwd");System.out.println(userName + " " + userPwd);if ("abc".equals(userName) && "111".equals(userPwd)) {response.sendRedirect("suc.jsp?n=" + userName + "&p=" + userPwd);//使用Cookie来保存数据Cookie cookie = new Cookie("user", userName+","+userPwd);//将获取的Cookie数据放在浏览器中response.addCookie(cookie);//设置时间cookie.setMaxAge(100);}
在jsp中获取Cookie保存的数据
<%String uname="",upwd=""; //获取Cookie中的键值 Cookie[] cs = request.getCookies(); if(cs!=null){ for(int i=0;i<cs.length;i++){ Cookie c =cs[i]; if(c.getName().equals("user")){ String str = c.getValue(); String[] s = str.split(","); uname = s[0]; upwd = s[1]; } } }%><form action="LoginServlet" method="post">账号:<input type="text" name="userName" value="<%=uname %>"/>密码:<input type="password" name="userPwd" value="<%=upwd %>"/><input type="submit" value="提交"/></form>
浏览器可以关闭Cookie功能
4,Seesion会话跟踪技术;
格式:
HttpSession 会话对象//获得SessionHttpSession session = request.getSession();//设置数据session.setAttribute("名",值);//获取数据Object obj= session.getAttribute("名");
Seesion传递参数的关键代码实例:
// 获得提交的数据String userName = request.getParameter("userName");String userPwd = request.getParameter("userPwd");System.out.println(userName + " " + userPwd);if ("abc".equals(userName) && "111".equals(userPwd)) {response.sendRedirect("suc.jsp?n=" + userName + "&p=" + userPwd);//将账号保存到Session对象中HttpSession session = request.getSession();session.setAttribute("bbbb",userName);}
java获取Session传递的参数;
HttpSession session = request.getSession(); String name =(String)session.getAttribute("bbbb");//输出System.out.println("用户名:"+name);
Session会话跟踪式存在于服务器的Cookie会话跟踪是存在与浏览器的
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号