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等,笔者在本文章中将简单介绍 ...
随机推荐
- android listview 优化
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha android convertview作用 ======= 1,convertView复 ...
- java基础记录(一):开发环境的配置
一.JDK的安装与环境变量配置 1.jdk下载与安装. jdk1.8.0_192下载地址 下载完成后,双击运行安装文件.可以选择你要安装的位置或者直接下一步,等待安装完成,最后关闭. 2.配置环境变量 ...
- 【BZOJ-2888】资源运输 LCT + 启发式合并
2888: 资源运输 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 63 Solved: 33[Submit][Status][Discuss] D ...
- [Java]Get与Post,客户端跳转与服务器端跳转
http://www.thinksaas.cn/group/topic/133101/ 虽然说get 与post 问题很老套了,但是作为web 开发人员来说对于这个的理解确实很有必要,其实说到get ...
- Codeforces Round #373 (Div. 2) E. Sasha and Array 线段树维护矩阵
E. Sasha and Array 题目连接: http://codeforces.com/contest/719/problem/E Description Sasha has an array ...
- Linux命令中,$、#、@、0、1、2、*、?的作用
$# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以 ...
- AtomicReference,AtomicStampedReference与AtomicMarkableReference的区别
AtomicReference 通过volatile和Unsafe提供的CAS函数实现原子操作. 自旋+CAS的无锁操作保证共享变量的线程安全 value是volatile类型,这保证了:当某线程修改 ...
- STM32 通用定时器相关寄存器
TIMx_CR1(控制寄存器1) 9-8位:CKD[1:0]时钟分频因子,定义在定时器时钟(CK_INT)频率与数字滤波器(ETR,TIx)使用的采样频率之间的分频比例. 定义:00(tDTS = t ...
- go中的接口
对于golang的接口,纠结两天了,今天有种茅塞顿开的感觉,有必要写点东西了. 纠结接口,说白了就是搞不透接口,方法,结构体几者之间的关系以及具体的用途.可以简单的从三者的定义说起,接口说白了就是一个 ...
- stm32 优先级说明
抢占优先级和响应优先级.事实上是一个中断所包括的两个优先级,当中前者是对抢占优先级的级别划分,后者是同样抢占优先级的优先级别的划分. 比方: 中断A抢占优先级比B高,那么A的中断能够在B里面触发,忽略 ...