1、 首先,会话跟踪一般存在于四种方式:网页与网页;网页与 servlet;servlet 与 servlet;servlet 与网页。资源的跳转一般分为以下几种:超链接:等于请求,但是并不等于请求,带参数。【点击】获取【String sname=request.getParament(“name“)】表单 form:与超链接相识。【】(以上两种方法需要用户操作才能实现)重定向:不带参数的跳转。【response.sendRedirect(“servlet2“)】转发:把请求、资源 1 的信息移到资源 2 当中。【RequestDispatcher dispatcher=request.getRe
2、questDispatcher(“servlet2“);dispatcher.forward(request,response);】在页面当中的另外一种写法:【】(以上两种方法无须用户操作,就可自动实现)会话方式:request:只能使用“转发“来跳转。【request.setAttribute(“BN“,“book“);】获取【String a=(String) request.getAttribute(“BN“);】session:能用上述四种跳转方式。只能在一个界面中使用,如果打开另外一个页面就无法使用。【HttpSession session=request.getSession();
3、 session.setAttribute(“BN“,“book“);】获取【HttpSession session=request.getSession(); String a=(String) session.getAttribute(“BN“);】ServletContext:上下文会话。与 session 相识,作用范围大,能在整个工程当中有作用。【ServletContext context=this.getServletContext(); context.setAttribute(“BN“,“book“);】获取【ServletContext context=this.getSe
4、rvletContext(); String a=(String) context.getAttribute(“BN“);】pagerContext::一般比较少用。%无论哪两种资源之间的跳转都,可以用上述的四种方法%另外补充一点:会话还有一种方法叫 cookie创建:Cookie ck=new Cookie(“BN“,“book“);添加:reponse.addCookie(ck);设定生命期:cookie.setMaxAge(30*24*60) /如果超过生命期都不访问 cookie,cookie 就会消失。 获取:Cookie cks=request.getCookie() /因为电脑里面的cookie 有很多,所以要用数组获取。for(int i=0;icks.length;i+)ck=cksi;if(ck.getName().equals(“BN“)out.println(ck.getValue();break;