ASP,ASP.net,JSP语法、内置对象对比
1 各自的HelloWord版本
1.1 ASP
<%
Response.Write("hello asp")
%>
文件名为test.asp。
1.2 ASP.net
<%@ page Language="C#" %>
<%
Response.Write("hello asp.net");
%>
文件名为test.aspx。
需要注意的是由于ASP.net支持多种语言开发,而默认的语言是VB.net,这里使用的是C#语言,所以必须对其进行明确控制。否则编译时会按照VB.net进行,从而报错!
1.3 JSP
<%
out.println("hello jsp");
%>
文件名为 test.jsp
1.4 分析
asp,aspx,jsp都采用了相同的嵌入语法<%代码%>,都内置了用于输出文本的对象,ASP-Response,ASP.net-Response, JSP-out。
对于语言来讲,VBScript不区分大小写,而C#和Java都区分;
对于命名习惯,VBScript和C#的类、属性、方法首字母都大写,而Java除了类其它的统统都习惯以小写字母开头。
2 基本语法
2.1 嵌入表达式
(1)ASP
<%= %>
(2)ASP.net
<%= %>
(3)JSP
<%= %>
可见,三者完全相同。
2.2 嵌入声明
(1)ASP
<script Language="VBScript" runat="server>
sub f
Response.Write("hello asp from script")
end sub
</script>
(2)ASP.net
<script Language="C#" runat="server">
void f()
{
Response.Write("asp.net from script");
}
</script>
(3)JSP
<%!
public void f()
{
out.println("jsp ");
}
%>
可见,ASP和ASP.net使用的语法相同,而JSP不一样。
2.4 嵌入程序片段
(1)ASP
<%程序片段%>
(2)ASP.net
<%程序片段%>
(3)JSP
<%程序片段%>
可见三者的语法完全一样。
3 内置对象
3.1 ASP
(1)Request对象
代表了客户端发送到服务器端的信息。携带了如用户端浏览器信息、请求字符串、表单数据、cookies等。
(2)Response对象
代表了服务器端返回到客户端的相关内容与操作,可以通过它设置返回内容,返回cookie设置,是否缓存等。
(3)Application对象
代表了整个应用,是应用范围内的变量。多个页面共享它,所以会涉及到并发访问的问题,所以提供了Lock和Unlock方法进行同步处理。
(4)Session对象
代表了一个会话,会话有一个唯一的ID标识,客户端一般通过cookie或者请求字符串来提供会话的标识。
(5)Server对象
代表了服务器端的环境,提供了注册组件、映射路径等基本操作。
(6)ObjectContext对象
用于控制ASP的事务处理,编程时很少直接用到。
3.2 ASP.net
(1)Request对象
作用与ASP中的Request相同。
(2)Response对象
作用与ASP中的Request相同。
(3)Application对象
作用与ASP中的Application相同。
(4)Session对象
作用与ASP中的Session相同。
(5)Server对象
作用与ASP中的Session相同。
(6)Page对象
代表当前的页面,或者编译后的类。
3.3 JSP
(1)request对象
作用与ASP,ASP.net中的Request相同,JSP里是小写。
(2)response对象
作用与ASP,ASP.net中的Response类似,JSP里是小写。
(3)application对象
作用与ASP,ASP.net中的Application相同,JSP里是小写。
(4)session对象
作用与ASP,ASP.net中的Session相同,JSP里是小写。
(5)out对象
实现向客户端的输出,作用类似ASP,ASP.net中的Response.Write()。
(6)page对象
代表当前页面,或者编译后的Servlet。
4 数据库访问使用的对象
4.1 ASP
ASP采用了ADO技术访问数据库。
(1)Connection类
代表了一个数据库管理系统的连接。
Set conn = Server.CreateObject("ADODB.Connection")
(2)Command类
对连接好的数据库执行命令。
(3)RecordSet类
记录集。
Set rs = Server.CreateObject("ADODB.Recordset")
(4)Field类
(5)Parameter类
(6)Property类
(7)Error类
4.2 ASP.net
ASP.net采用ADO.net技术访问数据库。
(1)SqlConnection
与ASP中的Connection一样。
(2)SqlCommand
与ASP中的Command一样。
(3)DataSet
与ASP中的RecordSet类似。
4.3 JSP
JSP采用了JDBC技术来访问数据库。
(1)Connection类
负责数据库的 连接。
(2)Statemaent类
类似于ASP中的Command,负责SQL语句的执行。
(3)ResultSet
结果集,类似于ASP的RecordSet,以及ASP.net的DataSet。
5 结论
通过分析比较可以看出ASP,ASP.net,JSP有着非常多的共同点,都是对Http以及SQL数据库处理的规范化与流程化,其设计思路完全一致,只是技术实现存在细节差异。
尽管各自的开发环境、编码规范等等也存在不小的差异,但是由于其设计理念和处理流程极其类似,所以一个项目一开始往往只有一个版本,一旦后来发展的
比较好,就会陆续推出其他平台的版本,比如discuz最早就是PHP开发的,后来有了ASP.net的版本。同样一个程序员如果真正掌握了任何一种平
台,其开发经验90%都可以用到其他平台上,很多程序员在ASP.net和JSP之间转换只需要2周时间,这并不奇怪。
ASP,ASP.net,JSP语法、内置对象对比的更多相关文章
- JSP的执行原理、JSP的内置对象、四大作用域解析、MVC模式理解>从零开始学JAVA系列
目录 JSP的执行原理.JSP的内置对象.四大作用域解析.MVC模式理解 JSP的执行原理 这里拿一个小例子来解析JSP是如何被访问到的 首先将该项目部署到tomcat,并且通过tomcat启动 通过 ...
- JSP的内置对象以及作用域。
最近在面试,一些基础的问题总是会被问到,虽然是基础,但是有些东西在工作中用的少,所以就有些记不清了,在面试的时候更因为紧张很容易造成原先知道的知识也会突然忘了的情况发生.所以在重新组织一下jsp的内置 ...
- JSP的内置对象(上)
1.JSP内置对象的概念:JSP的内置对象时Web容器所创建的一组对象,不使用new关键字就可以使用的内置对象 2.JSP九大内置对象内置对象:out ,request ,response ,sess ...
- JSP&EL 内置对象
JSP&EL 内置对象 转载▼ 具体的JSP和El中的内置对象见下表,由于我写在了excel中,也不知道怎么把excel发出来,就截了图. 相关问题: Q1: JSP:EL中 pageCo ...
- struts访问jsp api内置对象的集中方式
1 default-action-ref元素改元素用来配置默认的action,如果struts找不到对应的action,就会调用这个默认的action 2 dmi处理方式是通过请求action中的一个 ...
- 什么是jsp?jsp的内置对象有哪些?
这里是修真院前端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析前端知识/技能,本篇分享的是: [什么是jsp? ...
- JSP的内置对象 request和response
文章目录 1.request对象 2.response响应对象 3.out输出对象 4.session会话对象 5.application应用对象 概述 在使用JSP内置对象的时候.不需要先定义这些对 ...
- 菜鸟日记之JSP二 内置对象的理解
·最近学习JSP了,对编程和网络又有了一些理解.无论是现实中人与人的交流,还是网络世界的接触,都是在相互表达自己的意思让别人知道,并理解对方的信息.然后我们知道的事情不断的变多,会又交杂出新的内容,不 ...
- jsp的内置对象
JSP内置对象即无需声明就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP对象有request,response,session,out和application等,笔者在本文章中将简单介绍 ...
随机推荐
- 任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。
任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和. 当n=7共14种拆分方法: 7=1+1+1+1+1+1+1 7=1+1+1+1+1+2 7=1+1+1+1+3 7=1+1+1+2+2 ...
- BZOJ5020 [THUWC 2017]在美妙的数学王国中畅游LCT
题意很明显是要用LCT来维护森林 难点在于如何处理函数之间的关系 我们可以根据题目给的提示关于泰勒展开的式子 将三种函数变成泰勒展开的形式 因为$x∈[0,1]$ 所以我们可以将三个函数在$x_0=0 ...
- 详解没有dSYM文件 如何解析iOS崩溃日志
Xcode支持崩溃日志自动符号化,前提是本地有当时Build/Archive生成的dSYM文件,iOS崩溃日志符号化后,可以帮助开发者更好的定位问题,但如果dSYM文件丢失或拿到的崩溃日志不是标准的c ...
- Ubuntu Java7 SDK环境变量配置(转)
1.去甲骨文官网下载java7 sdk http://www.oracle.com/technetwork/java/javase/downloads/index.html 这里笔者下载了最新的jav ...
- SGU 104. Little shop of flowers (DP)
104. Little shop of flowers time limit per test: 0.25 sec. memory limit per test: 4096 KB PROBLEM Yo ...
- Go 导入当前项目下的包
其实和其他语言很类似 import ( "../controllers" //这里就是导入上一级目录中的controllers "./models&quo ...
- Golang Vendor 包机制 及 注意事项
现在的 Go 版本是 1.8,早在 1.5 时期,就有了 Vendor 包机制,详情可查看博文:“理解 Go 1.5 vendor”. 遇到的问题 个人在使用 Glide 管理 Vendor 包时(附 ...
- Memory access Tracing/Profiling
https://mahmoudhatem.wordpress.com/2017/03/22/workaround-for-linux-perf-probes-issue-for-oracle-trac ...
- oracle HA 高可用性具体解释(之二,深入解析TAF,以及HA框架)
oracle HA 高可用性具体解释(之中的一个,client.server端服务具体解释):http://write.blog.csdn.net/postedit 我们已经看到TAF是的Oracle ...
- WordPress主题开发:网站搜索
调用方法一:手动输入html <form role="search" method="get" id="searchform" act ...