JSP运行机制
客户端发出请求某个jsp
应用程序服务器查找某个jsp
将jsp翻译成.java的Servlet源文件
将Servlet源文件 编译成.class的类文件
运行输出结果
ASP.NET运行机制
客户端发出请求某个.aspx
应用程序服务器查找某个.aspx
查找对应的.aspx.cs
将两个文件合并翻译成一个.cs类---继承自System.Web.UI,Page类
编译成 微软中间语言
运行输出结果
相关问题:
为什么第一次运行比第二次要慢
第二次运行 使用上一次实例化的对象
指令
<%@ Page Language="C#" AutoEventWireup="true|false" CodeFile="类文件名称" Inherits="类名" %>
系统对象
Page
Page.IsPostBack
是否是回传页面
Page.PreviousPage
Page.PreviousPage.FindControl("控件名");
Request
Request[""]
效率低
Request.QueryString
对get方式传递的参数(URL或表单get方式)
Request.Form[""]
对post 方式传递的参数
因等价于 this.表单元素方式 所以很少用
Request.Params[""]
Request.ServerVariable[""]
HTTP_USER_AGENT
HTTP_ACCEPT_LANGUAGE
Response
Response.Write()
仅仅用于测试
End()
?后面有内容 是否会报错 。是否需要刷新输出缓冲区
Redirect()
Response.Cookies[""]
Session
Session["key"]
常用的属性和方法
SessionId
Timeout
IsNewSession
Clear()
Abandon()
Cookie
HttpCookie session=new HttpCookie("key",valueObj);
Response.Cookies.Add(session);
Resonse.Cookies["key"]
Application
Application[""]
锁定
Application.Lock()
Application.UnLock()
Lock(锁定的对象){...}
Server
Transfer
<==>forward
Execute
<==>include
MapPath
与Page.MapPath方法的区别
HtmlEncode
HtmlDecode
UrlEncode
UrlDecode
可应用于留言中包含编解码问题
可应用于 Url的中文问题
总结:
Scope["key"]--scope可以是Page|Request|Session|Application 及Respnose.Cookies["key"]
除Cookie是从Response中获取外,其他对象都是直接获得
如果key 不存在,Scope["key"]返回空字符串 ""而非null
状态保持的方式
Session
Cookie
Application
URL
使用原则:Page-->Request-->Session-->Application 能用前者不用后者
ASP.NET 页面提交的方式
提交给本页
跨页提交
可以进行跨页提交的元素:PostBackUrl
Button
LinkButton
ImageButton
也就是各种按钮
如何判断是跨页提交
Page.IsCrossPagePostBack
Page.PreviousPage.IsCrossPagePostBack
注意: 注意是谁进行的跨页提交
其他问题
获得当前时间:DateTime.Now
轻量级IIS 不能保存Cookie信息
ASP.NET 将 通过Page_Load 及事件处理机制 将JavaEE中的 页面加载前的ServerLet 显示页面 及处理页面3 部分 整合在了 .aspx+.aspx.cs中
应用实例