简单的cookie实例

首先新建一个简单的login.htm前端页面,利用nvelocity引擎模板。

<body>
<form action="Login.ashx" method ="post">

    <table>
        <tr><td>用户名:</td><td><input type ="text" name="UserName" value="$Model.UserName"</td></tr>
        <tr><td>密码</td><td><input type="password" name="Password" value="$Model.Password"/></td></tr>
        <tr><td></td><td><input type="submit" name="Login" value="登录" /></td></tr>
    </table>
</form>

</body>
public class CommonHelper
    {
        /// <summary>
        /// 用data填充模板渲染生成html返回
        /// </summary>
        /// <param name="templateName"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public static string RenderHtml(string templateName, object data)
        {

            //模版引擎代码
            VelocityEngine vltEngine = new VelocityEngine();//实例化一个velocity模版引擎
            vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file");
            vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, System.Web.Hosting.HostingEnvironment.MapPath("~/templates"));//模板文件所在的文件夹
            vltEngine.Init();

            VelocityContext vltContext = new VelocityContext();
            vltContext.Put("Model",data);//设置参数,在模板中可以通过$data来引用
            //把person对象作为传入p

            Template vltTemplate = vltEngine.GetTemplate(templateName);
            System.IO.StringWriter vltWriter = new System.IO.StringWriter();
            vltTemplate.Merge(vltContext, vltWriter);

            string html = vltWriter.GetStringBuilder().ToString();//得到html这个模板
            return html;
        }
    }

再建立一个login.ashx的一般处理程序。

  public class Login : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/html";
           string login=context.Request ["Login"];
        //取出这个对象,并且盘算是否为空           if (string .IsNullOrEmpty (login ))
           {
          //取出cookie中的值               HttpCookie cookie2=context.Request .Cookies["Password"];
               HttpCookie cookie=context.Request .Cookies ["UserName"];
               string username;
               if (cookie ==null )
               {
                   username = "";
               }
               else
               {
                   username = cookie.Value;
               }
               string password;
               if (cookie2==null )
               {
                   password = "";
               }
               else
               {
                   password = cookie2.Value;
               }
               var data = new { UserName=username,Password=password  };
               context.Response.Write(CommonHelper .RenderHtml ("Login.htm",data));

           }
           else
           {
               string username=context .Request ["UserName"];
          //新建cookie               HttpCookie cookie = new HttpCookie("UserName",username);
           //设定过期的时限               cookie.Expires = DateTime.Now.AddDays(7);
               context.Response.SetCookie(cookie);
               //密码的
               string password = context.Request["Password"];
               //新建一个cookie实例
               HttpCookie cookie2 = new HttpCookie("Password", password);
               //设定周期
               cookie2.Expires = DateTime.Now.AddDays(5);
               //创建响应cookie
               context.Response.SetCookie(cookie2);
               context.Response.Write("登陆成功");

           }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}
时间: 2024-10-09 01:42:16

简单的cookie实例的相关文章

javascript删除所有cookie实例代码

javascript删除所有cookie实例代码:一般情况下都是删除指定的cookie,当然也可以一次性删除所有的cookie,下面就是一段能够实现此功能的代码.代码如下: function clearCookie(){ var keys=document.cookie.match(/[^ =;]+(?=\=)/g); if(keys){ for(var i=keys.length;i--;){ document.cookie=keys[i]+'=0;expires='+new Date(0).

Python---BeautifulSoup 简单的爬虫实例

对python自动化比较熟的同学,很多都懂一些爬虫方法,有些还研究的很深,下面呢我介 绍一个简单的爬虫实例,供大家参考.当然里面有很多需求是可以再学习的,下载进度的显 示.下载完成的提示等等. 一.首先我们要研究爬虫网站的架构,我这里已ring.itools.cn为例,我需要爬的是铃声. 大家可以自己去分析,这个网站的架构比较简单就不讲了. 我们最终要获取的是下面两个信息: 二.我们写下面的脚本来获取 上面的脚本呢,获取到songname和playaddr都是一组数据,即都是列表,我们需要把 他

简单工程模式实例

前言 这几天做了一个应用程序,给项目添加的一个功能.一直想用什么模式来写,基本代码都写完了,还是没有用到模式,前天晚上睡觉中突然觉得就是简单工厂模式,于是代码已经浮现出来.昨天去了公司开始写. 过程 这是简单工厂类图:(图是从网上自己弄的) <大话设计模式>中,这个简单工厂模式,那个基接口是一个类,不是接口.我在写的时候也是写的是类.但是发现很多不可能实现.因为发现很多类,都有各自的字段属性,都不一样.所以没法用这个类,最后还是用了接口,感觉还是接口厉害,多态实现.工厂类跟基类接口的关系是依赖

【CentOS】一个简单的Expect实例详解

Expect是基于Tcl的相对简单的一个免费的基本变成工具语言,用于实现自动和交互式任务程序进行通信,无须人工干预. 一.Expect的安装检查与Linux系统的实验环境 1.Expect的安装 [[email protected]]# rpm -qa expect expect-5.43.0-8.el5 expect-5.43.0-8.el5 #如果未安装expect,可以通过yum进行安装 [[email protected]]# yum install expect -y 2.Linux的

CookieContainer.Add只能加入20个Cookie实例的解决方法

解决方法: https://msdn.microsoft.com/zh-cn/library/system.net.cookiecontainer.aspx 说明: CookieContainer 有三项属性用于管理容器的内容容量:Capacity.MaxCookieSize 和 PerDomainCapacity. 这些值的默认设置分别为 300.4096 和 20. 当一个 Cookie 被添加到容器中时,这些属性将用于确定是否应丢弃已包含在 CookieContainer 中的 Cooki

ul、li列表简单实用代码实例

ul.li列表简单实用代码实例: 利用ul和li可以实现列表效果,下面就是一个简单的演示. 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/" /> <title>蚂蚁部落</title> &

Js读写cookie实例

统计访问次数 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>New Page 5</title> <meta name="GENERATOR" content="Microsoft FrontPage 3.0"> <s

Cookie学习笔记二:Cookie实例

今天说说刚刚学到的两个Cookie的最经典应用:自动登录和购物车设置 一:自动登录 需要两个页面:login.jsp与index.jsp,login.jsp用来输出登录信息,index.jsp处理登录信息:如果有Cookie,则自动登录,否则创建输入信息的对象的Cookie,下次登录可以直接登录,但是我们在这里给Cookie设置一个最大保存时间30s,即登录30s后会自动退回到登陆页面,具体代码如下: login.jsp: <%@ page language="java" con

Swift简单新闻APP实例

1.利用swift开发一个简单的新闻APP 主要利用IOS的UITableViewController,和UIwebView,再加上HTTP请求返回json数据并解析 2.APP演示 主界面 点击新闻进入详情 下拉列表刷新 3.APPDelegate.swif // // AppDelegate.swift // UITableViewControllerDemo // // Created by 赵超 on 14-6-24. // Copyright (c) 2014年 赵超. All rig