session、cookie、隐藏域、url参数传递四种会话及跟踪方式

1.Session
HttpSession session = request.getSession();
session.setAttribute("name", "zhangsan");
session.setAttribute("pwd", "aaa");
String name = (String) session.getAttribute("name");

2.cookie:

? 设置 Cookie(默认只对当前浏览器有效)
Cookie c1 = new Cookie(“name”,”value”);
c1.setMaxAge(60);//如果要Cookie长留在本机,设置cookie最大保存时间
response.addCookie(c1);
Cookie是通过服务器端设置到客户端上去的——response
如果要在服务器端取得cookie?request.getCookie()

//创建Cookie
Cookie cookie = new Cookie("name", "zhangsan");
//设置Cookie的超时时间
cookie.setMaxAge(24 * 60 * 60 *60);
//把Cookie发送到客户端
response.addCookie(cookie);

//得到客户端发送的Cookie
Cookie [] cookies = request.getCookies();
for(int i=0; i Cookie temp = cookies[i];
String key = temp.getName();
String value = temp.getValue();
}

3.隐藏表单域

隐藏域:
将内容隐藏起来,使用户不能修改,之后随表单一起提交到服务器上显示
地址重写:
通过地址重写,可以将内容传递到服务器端——服务器端只认HTTP协议,而不管接受的内容是以何种形式传送过来的
如果要传递多个参数呢?
*.jsp?name=darkness&password=111



request.getParameter("name");

4.Url重写
问号传参
LoginServlet?username=zhangsan&pwd=123
String name = request.getParameter("username");
String pwd =request.getPareameter("pwd");
内部跳转:
LoginServlet
request.getRequestDispatcher("index.jsp").forward(request, resposne);
外部跳转:
response.sendRedirect("index.jsp");
内部跳转是一次请求和一次响应
外部跳转是两次请求和两次响应

ServletContext:Servlet上下文对象
它是一个公共区域,可以被所有的客户端共享
setAttribute():向公共区域里放入数据
getAttribute():从公共区域里取数据


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sbshi007/archive/2009/12/17/5024178.aspx

你可能感兴趣的:(web,JSP,浏览器,Servlet,.net,Blog)