ASP.NET网站制作之判别扫瞄器是不是承受Cookies
捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。 一种断定扫瞄器是不是承受Cookie的办法是先编写一个Cookie,然后再实验读取这个Cookie。假如不克不及读取这个Cookie,则能够以为该扫瞄器不承受Cookie。我编写了一个复杂的示例来讲明怎样测试Cookie是不是被承受。该示例包括两个页面。在第一个页面中,我编写了一个Cookie,然后把扫瞄重视新定向到第二个页面。第二个页面实验读取这个Cookie,转而将扫瞄重视新定向到第一个页面,并向URL增加一个带有测试了局的查询字符串变量。
第一个页面的代码以下:
protectedSystem.Web.UI.WebControls.LabellabelAcceptsCookies;
privatevoidPage_Load(objectsender,System.EventArgse)
{
if(!IsPostBack)
{
WriteCookie();
}
}
privatevoidWriteCookie()
{
if(Request.QueryString["AcceptsCookies"]==null)
{
Response.Cookies["TestCookie"].Value="ok";
Response.Cookies["TestCookie"].Expires=DateTime.Now.AddMinutes(1);
Response.Redirect("CookieRead.aspx?redirect="+Server.UrlEncode(Request.Url.ToString()));
}
else
{
labelAcceptsCookies.Text="承受Cookie="+Request.QueryString["AcceptsCookies"];
}
}
第一个页面测试是不是有复书,假如没有,就搜刮包括测试了局的查询字符串变量(AcceptsCookies)。假如没有找到查询字符串变量,则暗示测试还没有完成,代码就写出一个名为“TestCookie”的Cookie。写出Cookie以后,示例挪用Response.Redirect来切换到测试页面(TestForCookies.aspx)。附加到测试页面的URL的是名为redirect的查询字符串变量,该变量中包括了以后页面的URL,如许就可以在实行测试后把重定向到该页面。
测试页面能够完整由代码构成,不必要包括控件。以下就是利用的代码:
privatevoidPage_Load(objectsender,System.EventArgse)
{
ReadCookie();
}
privatevoidReadCookie()
{
Stringredirect=Request.QueryString["redirect"];
StringacceptsCookies;
//是不是承受Cookie?
if(Request.Cookies["TestCookie"]==null)
//没有Cookie,因而不必要承受
acceptsCookies="0";
else
{
acceptsCookies="1";
//删除测试Cookie
Response.Cookies["TestCookie"].Expires=DateTime.Now.AddDays(-1);
}
Response.Redirect(redirect+"?AcceptsCookies="+acceptsCookies,true);
}
你所列的那些其实差不多都可以称为应用服务器(servlet应该说是一种语言更合适)java是开放的,相同的工具就会有很多公司在做,加上java已经发展了很多年了,因此这些工具就很多了。他们很多都是类似的。 比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。 平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。 asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦! 比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。 大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。 是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。 通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
页:
[1]