精华内容
下载资源
问答
  • session对象

    2015-12-15 23:19:06
    session对象主要用于保存用户的各种信息,知道它的生命周期(一般是900S)超时或者被人为释放为止 可以通过session对象来判断此用户是否是合法用户 在服务器上通过session来区分每一个上网用户 session对象属于...
    
    session对象:

    session对象主要用于保存用户的各种信息,知道它的生命周期(一般是900S)超时或者被人为释放为止
    可以通过session对象来判断此用户是否是合法用户
    在服务器上通过session来区分每一个上网用户
    session对象属于javax.servlet.http.HttpSession接口的实例化对象
    session属于HTTP协议范畴之内的对象,所以只有唯一的一个http包下有此接口,没有任何继承关系
    用户只要一连接服务器则立刻分配一个session给用户
    session的主要方法:

    服务器上通过session来分别不同的用户-->sessionID:任何连接到服务器上的用户,服务器都会为之分配唯一一个不会重复的sessionID
    sessionID是由服务器同意管理的,人为不能控制
    方法:session.getId()
    sessionID的长度为32位
    判断是不是新的session
    Public boolean isNew(),判断当前的session是否是新建立的session
    session的属性设置
    设置属性setAttribute()
    取得属性getAttribute()
    删除属性removeAttribute()
    通过session能够对用户是否登陆做出验证
    ★用户注销:让用户的session失效
    若用户的session失效,则在session所保留的全部操作也会消失
    方法:Public Void invalidate()使session失效(需手工操作)
    若session长时间不被使用,也会自动失效
    得到session的创建时间
    方法:Public long getCreationTime(),此方法返回一个long类型,通过Date类可以取得一个完整的时间
    取得用户最后一次操作的时间
    方法:Public long getLastAccessedTime()
    用户在线时间=session最后一次操作时间-session创建时间
    session与Cookie区别:

    session将信息保存在服务器上而Cookie保存在客户端上
    session比Cookie更安全,session比Cookie更占资源
    开发原则:
    sessiom要尽量少使用--尽量少向session中保存信息
    session使用Cookie机制,若Cookie被禁用,则session也无法使用
    展开全文
  •  Session对象有一个十分重要的属性:Timeout,它用于设置在会话资源被释放前,会话对象所能保持非活动状态的时间(默认值为20分钟)。当Timeout属性设置的时间值耗尽后,会话资源将被释放。通过Timeout属性破坏...
  • Abandon Abandon 方法删除所有存储在 Session 对象中的对象释放这些对象的源。如果您未明确地调用 Abandon 方法,一旦会话超时,服务器将删除这些对象 。语法 Session.Abandon注释 Abandon 方法被调用时,将按...

    Abandon

        Abandon 方法删除所有存储在 Session 对象中的对象并释放这些对象的源。如果您未明确地调用 Abandon 方法,一旦会话超时,服务器将删除这些对象 。

    语法

        Session.Abandon

    注释

        Abandon 方法被调用时,将按序删除当前的 Session 对象,不过在当前页中所有脚本命令都处理完后,对象才会被真正删除。 这就是说,在调用 Abandon 时,可以在当前页上访问存储在 Session 对象中的变量,但在随后的 Web 页上不行。

        例如,在下列脚本中,第三行打印出 Mary 值。这是因为在服务器处理完脚本前没有删除 Session 对象。

            <%
            Session.Abandon
            Session("MyName") = "Mary"
            Reponse.Write(Session("MyName"))
            %>
     

        如果在随后 Web 页上访问 MyName 变量,您将发现它是空的。这是因为当包含上一个例子的页面结束处理时,MyName 同前面的 Session 对象一起被删除了。
        放弃会话并打开后面的 Web 页时,服务器会创建新的 Session 对象。您可以在新的 Session 对象中存储变量和对象。

    示例

        当服务器处理完当前页时,下面示例将释放会话状态。
            <% Session.Abandon %>

     

    Clear

     

     

    Session.Abandon 和Session.Clear有何不同
        Session.Clear()就是把Session对象中的所有项目都删除了,Session对象里面啥都没有。但是Session对象还保留
        Session.Abandon()就是把当前Session对象删除了,下一次就是新的Session了。

    主要的不同之处在于:
        当使用Session.Abandon时,会调用Session_End方法(InProc模式下)。当下一个请求到来时将激发Session_Start方法;而Session.Clear只是清除Session 中的所有数据并不会中止该Session,因此也不会调用那些方法。

    展开全文
  • Abandon 方法删除所有存储在 Session 对象中的对象释放这些对象的源。如果您未明确地调用 Abandon 方法,一旦会话超时,服务器将删除这些对象 。 语法 Session.Abandon 注释 ...

    Abandon

        Abandon 方法删除所有存储在 Session 对象中的对象并释放这些对象的源。如果您未明确地调用 Abandon 方法,一旦会话超时,服务器将删除这些对象 。

    语法

        Session.Abandon

    注释

        Abandon 方法被调用时,将按序删除当前的 Session 对象,不过在当前页中所有脚本命令都处理完后,对象才会被真正删除。 这就是说,在调用 Abandon 时,可以在当前页上访问存储在 Session 对象中的变量,但在随后的 Web 页上不行。

        例如,在下列脚本中,第三行打印出 Mary 值。这是因为在服务器处理完脚本前没有删除 Session 对象。

            <%
            Session.Abandon
            Session("MyName") = "Mary"
            Reponse.Write(Session("MyName"))
            %>
     

        如果在随后 Web 页上访问 MyName 变量,您将发现它是空的。这是因为当包含上一个例子的页面结束处理时,MyName 同前面的 Session 对象一起被删除了。
        放弃会话并打开后面的 Web 页时,服务器会创建新的 Session 对象。您可以在新的 Session 对象中存储变量和对象。

    示例

        当服务器处理完当前页时,下面示例将释放会话状态。
            <% Session.Abandon %>

    Clear

    Session.Abandon 和Session.Clear有何不同
        Session.Clear()就是把Session对象中的所有项目都删除了,Session对象里面啥都没有。但是Session对象还保留
        Session.Abandon()就是把当前Session对象删除了,下一次就是新的Session了。

    主要的不同之处在于:
        当使用Session.Abandon时,会调用Session_End方法(InProc模式下)。当下一个请求到来时将激发Session_Start方法;而Session.Clear只是清除Session 中的所有数据并不会中止该Session,因此也不会调用那些方法。

    转载于:https://www.cnblogs.com/dongzhiquan/archive/2010/04/03/1994622.html

    展开全文
  • Session对象 Application对象的作用域是全局的,...Session对象在网站超时或者自主关掉浏览器时就会自动释放和关闭。 Session对象的基本使用 与Application对象相同,它也是通过键/值对的方式来保存数据的,格...

    Session对象

    Application对象的作用域是全局的,[Application对象的使用请点击我],而Session对象用于将特定用户的信息存储在服务器的内存中,并且只针对单一网站使用者,不同的客户端无法互相访问。Session对象在网站超时或者自主关掉浏览器时就会自动释放和关闭。


    Session对象的基本使用

    Application对象相同,它也是通过键/值对的方式来保存数据的,格式:

    Session["varName"] =;
    

    其中varName为变量名,例如将TextBox控件的文本存储到Session["varName"]中:

    Session["varName"] = TextBox.Text;
    

    反之,将Session["varName"]的值存储到TextBox中:

    TextBox.Text = Session["varName"].ToString();
    

    使用Session对象保存用户的登录信息

    某个用户登录一个网站,会保存其登录信息,这些信息是其他用户不可见的,并且不可访问,所以用Session对象存储。

    1、新建一个网站,在项目中创建一个Login.aspx登录页面,添加以下控件:
    在这里插入图片描述
    或者也可以利用以下代码,添加这四个控件:

    <table>
        <tr><td>用户名:</td><td><asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>(wzq)</td></tr>
        <tr><td>密码:</td><td><asp:TextBox ID="txtPwd" runat ="server" TextMode="Password"></asp:TextBox>(wzq)</td></tr>
        <tr><td colspan="2">
            <asp:Button ID="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click" />
            <asp:Button ID="btnCancel" runat="server" Text="取消" />
            </td></tr>
    </table>
    

    2、用户双击“登录”按钮,触发btnLogin_Click事件,在该事件中记录用户名及用户登录的时间,并跳转到Welcome.aspx页面(新建一个名为WelcomeWeb窗体),代码如下:

            protected void btnLogin_Click(object sender, EventArgs e)
            {
                if (txtUserName.Text == "wzq" && txtPwd.Text == "wzq")
                {
                    Session["UserName"] = txtUserName.Text;
                    Session["LoginTime"] = DateTime.Now;
                    Response.Redirect("~/Welcome.aspx");
                }
                else
                {
                    Response.Write("<script>alert('登录失败!请返回查找原因');location='Login.aspx'</script>");
                }
            }
    

    3、在新建的Welcome.aspx页面的Page_Load方法中,显示接收的用户ID和他当时登录的时间:

            protected void Page_Load(object sender, EventArgs e)
            {
                Response.Write("欢迎用户" + Session["UserName"].ToString() + "登录本系统<br>");
                Response.Write("您登陆的时间是" + Session["LoginTime"].ToString());
            }
    

    执行程序,效果如下:

    在这里插入图片描述
    在这里插入图片描述


    后台管理系统

    设计一个登录页面,登录后在后台首页中使用Session对象判断用户登录状态:如果成功,则绑定欢迎语并显示页面内容,否则返回登录页面。

    效果展示:

    登录界面
    提示
    后台界面
    Login.aspx页面关键代码展示:

    CSS:

        <style type="text/css">
            .auto-style1{
                width:369px;
                height:137px;
            }
            .auto-style2{
                height:42px;
            }
            body{
                width:100%;
                height:100%;
                background-color:aqua;
            }
        </style>
    

    HTML:

            <div>
                <table align="center" class="auto-style1">
                    <tr style="text-align:center;">
                        <td Width="80" class="auto-style2">用户名</td>
                        <td Width="200" class ="auto-style2"><asp:TextBox ID="UserName" runat="server" Width="190"></asp:TextBox></td>
                    </tr>
                    <tr style="text-align:center;">
                        <td Width="80" class ="auto-style2">密 码</td>
                        <td Width="200"><asp:TextBox ID="UserPwd" TextMode="Password" runat="server" Width="190"></asp:TextBox></td>
                    </tr>
                    <tr style="text-align:center;"><td colspan="2">
                        <asp:Button ID="btnLogin" runat="server" Text="登录" Height="30px" Width="95px" OnClick="btnLogin_Click" /></td></tr>
                </table>
            </div>
    

    Login.aspx.cs代码展示:

           protected void btnLogin_Click(object sender, EventArgs e)
            {
                string name = this.UserName.Text.Trim();
                string pwd = this.UserPwd.Text.Trim();
                if (name == "admin" && pwd == "admin")
                {
                    Session["NickName"] = "管理员";
                    Response.Redirect("~/Welcome.aspx");
                }
                else
                {
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Login", "alert(\"用户名或密码错误,请重试\")", true);
                }
            }
    

    Welcome.aspx页面代码:

    CSS

        <style>
            body{
                margin:0px;
                padding:0px;
            }
            #myhead{
                height:40px;
                line-height:40px;
                background-color:aquamarine;
                color:#fff;
                font-size:14px;
            }
            table tr th{
                height:30px;
            }
            table tr td{
                height:25px;
                text-align:center;
            }
        </style>
    

    HTML:

            <div>
                <div id="myhead" runat="server"></div>
                <div id="mybody" runat="server">
                    <table align="center" width="100%" height="100%">
                        <tr><th>id</th><th>姓名</th><th>性别</th><th>年龄</th></tr>
                        <tr><td>1</td><td>张三</td><td></td><td>23</td></tr>
                        <tr><td>2</td><td>甲一</td><td></td><td>20</td></tr>
                        <tr><td>3</td><td>王五</td><td></td><td>21</td></tr>
                        <tr><td>4</td><td>李四</td><td></td><td>20</td></tr>
                        <tr><td>5</td><td>甲二</td><td></td><td>23</td></tr>
                        <tr><td>6</td><td>乙三</td><td></td><td>24</td></tr>
                    </table>
                </div>
            </div>
    

    Welcome.aspx.cs页面代码:

            protected void Page_Load(object sender, EventArgs e)
            {
                object obj = Session["NickName"];
                string NickName = null;
                if (obj != null && (NickName = obj.ToString()) != "")
                {
                    this.myhead.InnerHtml = "<span>&<nbsp>;&nbsp;您好" + NickName + ",欢迎登录后台系统。</span>";
                }
                else
                {
                    Response.Redirect("~/Login.aspx");
                }
            }
    

    展开全文
  • 说简单点 request对象和session对象的最大区别是生命周期 request对象的生命周期是针对一个客户端(说确切点就是一个浏览器应用程序)的一起请求 当请求完毕之后,request里边的内容也将被释放点 而...
  • 相关资料:《21天学通Java Web开发》 ...session对象 1.session对象用来表示用户的会话状况,一般用于保存用户的各种信息。2.直到生命周期超时或者被认为释放掉为止。 方法 返回值 方法说明getId() Str...
  • Session.Clear(清理Session对象中的内容)

    千次阅读 2018-12-05 22:08:06
    Abandon 方法删除所有存储在 Session 对象中的对象释放这些对象的源。如果您未明确地调用 Abandon 方法,一旦会话超时,服务器将删除这些对象 。 语法 Session.Abandon Abandon 方法被调用时,将按序删除当前...
  • ASP.NET提供了Session对象,从而允许程序员识别、存储和处理同一个浏览器对象对服务器上某个特定网络应用程序的若干次请求的上下文信息。Session对应浏览器与服务器的同一次对话,在浏览器第一请求网络应用程序的...
  • session对象用来表示用户的会话状况,一般用于保存用户的各种信息,直到生命周期超时或者被认为释放掉为止。session对象包含的方法及方法说明如下表所示: 方法 返回值 方法说明 getId() String ...
  • 客户端关闭浏览器会将本地的保存session的cookie对象内存释放掉,但是服务器端保存的session对象内存依然保存, 并没有立即释放掉,这时候你可以主动释放掉session内存,可以调用invalidate方法。 在j2ee中学习...
  • ASP.NET中的Session对象

    2008-12-31 09:50:00
    Session对象的特点1 一个Session对象只包含一个用户的状态信息,不与其他用户共享.2 会话超时或者过期,服务器即清除Session对象,释放所占用的资源.3 会话通过SessionID传递状态信息,不像Cookie那样将所有的内容...
  • (七)JSP基本语法--session对象

    千次阅读 2008-01-31 13:26:00
    session对象session对象主要用于保存用户的各种信息,知道它的生命周期(一般是900S)超时或者被人为释放为止 可以通过session对象来判断此用户是否是合法用户 在服务器上通过session来区分每一个上网用户 ...
  • Session中清除对象方法比较

    万次阅读 2016-07-03 18:36:01
    Session中清除对象方法比较 http://blog.csdn.net/dongzhiquan/article/details/5446965Session.Abandon (当前页面结束之后删除Session对象) Session.Clear(清理Session对象中的内容)Abandon Abandon 方法删除所有...
  • 2005年12月31日 22:59:00 (一).说明 用一个测试示例说明Session的使用方法, 包括以下方面: 存储对象到Session中,... 释放Session中存储变量.(二).演示图例 (三).代码 >%@ Page language="c#" AutoEventWireup="fal
  • Session对象用于保存每个用户的专用信息。它的生存期是用户持续请求时间再加上一段时间(一般是20分钟左右),时间可以在web.config文件中设置。Session中的信息保存在Web服务器的内存中,保存的数据量可大可小。当...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 422
精华内容 168
关键字:

释放session对象