日期:2014-05-16  浏览次数:20345 次

JSP学习笔记之session

sesssion用来区分不同的用户,每一个session就代表一个用户。在JSP中javax.servlet.http.HttpSession对象。session在实际操作中的功能就是判断用户是否登录。常用方法如下:

public void setAttribute(String name,Object  value) ---设置属性

public Object getAttribute(String name)----取得属性

public void removeAttribute(java.lang.String   name)---删除属性

public boolean isNew()---判断是否是新的session

public java.lang.String getId()---返回sessionid

public void invalidate()----让session失效

public void setValue(String name ,Object value)----设置属性

public Object getValue(String name)---取得属性

public void removeValue(java.lang.String  name)---删除属性

 

 

session主要的操作方法

|--取得session id  对于每个服务器来说,每一个上网者是靠session  id进行区分的,此session id是在第一次连接到服务器的时候是由服务器给分配的,用户不能手动设置

取得session  id的方法:<%=session.getId()%>

|--让session  失效:注销   每次执行invalidate()方法的时候,就表示session失效

让session失效的方法:<%=session.invaliedate()%>

|--session的主要功能用于在用户的登录上,在所有系统中,session对象中使用最多的操作就是设置和取得属性。

登录验证实例:

---login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>session在登录中的使用范例</title>
  </head>
  
  <body>
	<form action ="login.jsp" method="post">
      	<p>用户名:
	      <label>
	      <input name="username" type="text" id="username" size="15">
	      </label>
		</p>
		
        <p>密  码:
          <label>
          <input name="password" type="password" id="password" size="15">
          </label>
      	</p>

        <p>
          <label>
          <input type="submit" name="Submit" value="提交">
          <input type="reset" name="reset" value="重置">
          </label>
        </p>
	</form>
	<% 
		String name = request.getParameter("username");
		String pass = request.getParameter("password");
		if(!(("".equals(name)||name==null)&&("".equals(pass)||pass==null))){
			if("admin".equals(name)&&"123".equals(pass)){
				session.setAttribute("name",name);
				response.sendRedirect("welcome.jsp");
			}else{
	%>
				<h3>错误的用户名和密码</h3>
	<%
			}
		}
	%>
  </body>
</html>


----welcome.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>session在登录中的使用范例</title>
  </head>
  
  <body>
	<%
		if(session.getAttribute("name")!=null){
	%>
		<h1>欢迎登录<%=session.getAttribute("name") %></h1>
		<h3><a href="logout.jsp">退出登录</a></h3>
	<%		
		}else{
	%>
		<h3><a href="login.jsp">请先登录</a></h3>
	<%
		}
	%>
  </body>
</html>