利用servlet创建session,并设置权限

转载 2007年09月25日 13:26:00

Session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每一访问者都会单独获得一个Session。在Web应用程序中,当一个用户访问该应用时,Session类型的变量可以供这个用户在该Web应用的所有页面中共享数据;如果另一个用户也同时访问该Web应用,他也拥有自己的Session变量,但两个用户之间无法通过Session变量共享信息。

1。创建一个JAVA类,名称User.java,放在user包下

package user;

public class User ...{
    
private String username;
    
private String login;
    
public String getLogin() ...{
        
return login;
    }

    
public void setLogin(String login) ...{
        
this.login = login;
    }

    
public String getuserName() ...{
        
return username;
    }

    
public void setuserName(String name) ...{
        
this.username = name;
    }

}

2。创建一个servlet,名称:SessionId,放在test包下,主要功能:创建一个session,并且显示sessionid,在session中存入user信息。

package test;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import user.User;

public class SessionId extends HttpServlet ...{

    
/** *//**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     * 
     * 
@param request the request send by the client to the server
     * 
@param response the response send by the server to the client
     * 
@throws ServletException if an error occurred
     * 
@throws IOException if an error occurred
     
*/

    
public void doGet(HttpServletRequest request, HttpServletResponse response)
            
throws ServletException, IOException ...{
        
        
//String sessionId = request.getRequestedSessionId();
        HttpSession session = request.getSession();
        String sessionId 
= session.getId();
        User user 
= new User();
        user.setuserName(
"tom");
        user.setLogin(
"true");
        session.setAttribute(
"user", user);
        

        response.setContentType(
"text/html");
        PrintWriter out 
= response.getWriter();
        out
                .println(
"<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">");
        out.println(
"<HTML>");
        out.println(
"  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
        
        out.println(
"  <BODY>");
        out.print(
"    This is ");
        out.print(
this.getClass());
        out.println(
", using the GET method");
        out.println(
"<br>");
        out.println(sessionId);
        out.println(
"<br>");
        out.println(
"<a href = "" + response.encodeURL("DeleteAll"+ "" target = _blank> new page </a>");
        out.println(
"<br>");
        out.println(
"  </BODY>");
        out.println(
"</HTML>");
        out.flush();
        out.close();
        System.out.println(
"*************************" + user.getuserName());
    }


    
/** *//**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     * 
     * 
@param request the request send by the client to the server
     * 
@param response the response send by the server to the client
     * 
@throws ServletException if an error occurred
     * 
@throws IOException if an error occurred
     
*/

    
public void doPost(HttpServletRequest request, HttpServletResponse response)
            
throws ServletException, IOException ...{

        
this.doGet(request, response);
    }


}

主要代码:
  HttpSession session = request.getSession();
  String sessionId = session.getId();
  User user = new User();
  user.setuserName("tom");
  user.setLogin("true");
  session.setAttribute("user", user);

3。创建一个servlet,名称DeleteAll,在test包下,主要功能:设置权限

package test;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.xml.registry.JAXRException;
import user.User;

public class DeleteAll extends HttpServlet ...{

    
/** *//**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     * 
     * 
@param request the request send by the client to the server
     * 
@param response the response send by the server to the client
     * 
@throws ServletException if an error occurred
     * 
@throws IOException if an error occurred
     * 
@throws JAXRException 
     
*/

    
public void doGet(HttpServletRequest request, HttpServletResponse response)
            
throws ServletException, IOException ...{
        
        HttpSession httpSession 
= request.getSession();
        String sessionid 
= httpSession.getId();
        
        User user 
= (User) httpSession.getAttribute("user");
        System.out.println(
"---------------------" + user.getuserName());

        response.setContentType(
"text/html");
        PrintWriter out 
= response.getWriter();
        out
                .println(
"<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">");
        out.println(
"<HTML>");
        out.println(
"  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
        out.println(
"  <BODY>");
        out.print(
"    This is ");
        out.print(
this.getClass());
        out.println(
", using the GET method");
        out.println(
"<br>");
        
if (user == null...{
            out.println(
"sorry,u must login again.");
        }
else...{
            out.println(user.getuserName() 
+ " u can delete all");
        }

        out.println(
", <br>"+  sessionid +  " <br>");
        out.println(
"  </BODY>");
        out.println(
"</HTML>");
        out.flush();
        out.close();
    }


    
/** *//**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     * 
     * 
@param request the request send by the client to the server
     * 
@param response the response send by the server to the client
     * 
@throws ServletException if an error occurred
     * 
@throws IOException if an error occurred
     
*/

    
public void doPost(HttpServletRequest request, HttpServletResponse response)
            
throws ServletException, IOException ...{

        
this.doGet(request, response);
    }


}

主要代码:
User user = (User) httpSession.getAttribute("user");

if (user == null) {
   out.println("sorry,u must login again.");
  }else{
   out.println(user.getuserName() + " u can delete all");
  }

5。浏览器中运行,如果从SessionId中转入DeleteAll中,则会显示:

tom u can delete all ,

如果直接打开DeleteAll,则会显示:

sorry,u must login again。 

Servlet--Session创建时间

Servlet--Session创建时间 一、Session创建过程 A、第一个调用request.getSeesion()   1、IE浏览器第一次向web项目发送一个请求。(这里项目...

J2EE (二) Servlet设置Session Cookies

背景 任何一个解决方案的提出都不是突然出现,都是为了解决某一个产生的问题而出现的解决方案,Session也可以理解为一种解决方案,它是由于Http协议本身缺陷才创建了Session ,Http...

servlet中的session不一定会被创建

servlet中的session不一定会被创建

利用CI钩子实现权限认证 session

钩子(hook)作用是:在目标控制器方法调用之前拦截到请求,也是在执行了构造方法后,调用控制器之前执行的程序 一直没找到CI的权限认证扩展,以前好像找到过一个老外的扩展,不过不怎么好用,现在记不...

利用过滤器来实现session超时,和权限管理

我们经常会碰到这样的情况,当我们有事情离开了一会,等再回来继续我们在网页中的操作时,会出现session超时的错误,然后跟上一堆的错误,让用户感觉很不爽,像这种情况如果能在一个错误页面给个Sessio...

[Win32] 服务程序开发(3)Session 0隔离(下)创建SYSTEM权限可交互进程

本博文由CSDN博主zuishikonghuan所作,版权归zuishikonghuan所有,转载请注明出处:http://blog.csdn.net/zuishikonghuan/article/d...

jsp和servlet之中的session详细介绍

  • 2013年04月26日 12:13
  • 76KB
  • 下载

Servlet——Session(2)之简单应用

本文介绍了使用Session技术的三个简单例子,防止用户非法登录到某个页面,验证输入的验证码是否正确,以及简易的购物车。...
  • ggGavin
  • ggGavin
  • 2016年05月11日 15:20
  • 5021
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用servlet创建session,并设置权限
举报原因:
原因补充:

(最多只允许输入30个字)