一、实现按钮跳转技术
<button type="button" οnclick="javascript:location='studentinsert.jsp'">录入</button>
<button formaction="studnetlist.jsp(Java文件,后不加后缀)">返回</button>
二、jsp技术
JSP页面由HTML代码和嵌入其中的Java代码所组成
1、指令<%@ %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri=" http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ include file="nav.jsp" %>
2、脚本
<% java程序 %>
<% 输出页面内容 %>
3、动作
<jsp:forword page="index.jsp"></jsp:forward>
4、EL表达式---${ 输出的内容 }
空值判断 ${ empty s } //可结合三目运算符
取反 ${ not empty list }
展示对象信息 ${s.sname } 执行 s.getSname()
三、会话跟踪技术
1、会话session:用户从登陆到离开,访问服务器的一系列的过程,用户跟服务器的连接
打开浏览器 -> 访问一些服务器内容 -> 关闭浏览器,整个过程称之为一个会话
2、会话跟踪:在会话期间,服务器始终记住当前用户信息的技术
3、session保存会话(用户)
在服务器端保持会话跟踪的解决方案
session数据默认存储30分钟,不能存放过多数据,仅仅存用户ID
(1)保存session数据
//保存会话信息session存储用户信息
//获取session
HttpSession session = request.getSession();
//程序中设置超时时间
session.setMaxInactiveInterval(120);
//存储信息
session.setAttribute("sid", s.getSid());
(2)展示session数据
<li>欢迎:${sid }</li>
(3)获取session数据
//获取session
HttpSession session = request.getSession();
//获取数据
int sid = (int)session.getAttribute("sid");
4、session超时和销毁
//程序中设置超时时间
session.setMaxInactiveInterval(120);
<!-- 分钟为单位 -->
<session-config>
<session-timeout>10</session-timeout>
</session-config>
默认超时时间到了,session自动销毁
如果关闭浏览器,并不销毁,但是session无法再访问
session的ID是存cookie中的,cookie的默认超时时间是到浏览器关闭
手动销毁session---退出登录
//清除session
//1、清除数据,不销毁session
HttpSession session = request.getSession();
session.removeAttribute("sid");
session.removeAttribute("sname");
//2、销毁session
//session.invalidate();
//返回登录页(首页)
response.sendRedirect("index.jsp");
5、cookie--会话跟踪技术
Cookie技术是一种在客户端保持会话跟踪的解决方案,会话数据保存在客户端浏览器
//用cookie保存学生姓名
Cookie ck = new Cookie("sname", URLEncoder.encode(s.getSname(), "utf8")); //键值对
//设置cookie超时时间,默认时间到浏览器关闭
ck.setMaxAge(300);
//添加cookie到浏览器端(session--id自动存在浏览器端)
//ck不能存中文
response.addCookie(ck);
6、其他会话跟踪技术----URL重写技术
URL重写技术是实现动态网站会话跟踪的重要保障。在实际应用中,当客户端浏览器禁用Cookie后的session处理,当不能确定客户端浏览器是否支持Cookie的情况下,使用URL重写技术可以对请求的URL地址追加会话标识,从而实现用户的会话跟踪功能