ASP,ASP.net,JSP语法、内置对象对比

时间:2023-02-06 23:05:47

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语法、内置对象对比的更多相关文章

  1. JSP的执行原理、JSP的内置对象、四大作用域解析、MVC模式理解&gt&semi;从零开始学JAVA系列

    目录 JSP的执行原理.JSP的内置对象.四大作用域解析.MVC模式理解 JSP的执行原理 这里拿一个小例子来解析JSP是如何被访问到的 首先将该项目部署到tomcat,并且通过tomcat启动 通过 ...

  2. JSP的内置对象以及作用域。

    最近在面试,一些基础的问题总是会被问到,虽然是基础,但是有些东西在工作中用的少,所以就有些记不清了,在面试的时候更因为紧张很容易造成原先知道的知识也会突然忘了的情况发生.所以在重新组织一下jsp的内置 ...

  3. JSP的内置对象(上)

    1.JSP内置对象的概念:JSP的内置对象时Web容器所创建的一组对象,不使用new关键字就可以使用的内置对象 2.JSP九大内置对象内置对象:out ,request ,response ,sess ...

  4. JSP&amp&semi;EL 内置对象

    JSP&EL 内置对象 转载▼   具体的JSP和El中的内置对象见下表,由于我写在了excel中,也不知道怎么把excel发出来,就截了图. 相关问题: Q1: JSP:EL中 pageCo ...

  5. struts访问jsp api内置对象的集中方式

    1 default-action-ref元素改元素用来配置默认的action,如果struts找不到对应的action,就会调用这个默认的action 2 dmi处理方式是通过请求action中的一个 ...

  6. 菜鸟日记之JSP二 内置对象的理解

    ·最近学习JSP了,对编程和网络又有了一些理解.无论是现实中人与人的交流,还是网络世界的接触,都是在相互表达自己的意思让别人知道,并理解对方的信息.然后我们知道的事情不断的变多,会又交杂出新的内容,不 ...

  7. jsp的内置对象

    JSP内置对象即无需声明就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP对象有request,response,session,out和application等,笔者在本文章中将简单介绍 ...

  8. JSP &lpar;tomcat 内置对象&rpar;

    1.内置对象:    request: 方法:getParameter("txtName"):获取和页面上的name属性对象的value值       返回String       ...

  9. JSP的内置对象application、session、request、page的作用域

    1.application内置对象的类型名称为ServletContext. 2.session内置对象的类型名称为HttpSession. 3.application作用域:对应整个应用上下文. a ...

随机推荐

  1. 关于js作用域链,以及闭包中的坑

    eg:链式作用域,想在外部读取blogName的值得方法 <script>var authorName="山边小溪";function doSomething(){   ...

  2. Git命令收集【不断更新中】

    git stash 可以用来保存暂时不想提交但又被修改过的文件. git stash pop 用来取出被保存在stash栈中的修改过的所有文件. git stash show 查询哪些文件被存放在了s ...

  3. CSS3&plus;HTML5特效7 - 特殊的 Loading 效果

    效果如下     实现原理: 利用CSS3的@keyframes规则创建动画效果: 使用CSS3的animation效果完成滚动切换. 代码说明: 样式表中@-webkit-keyframes及@ke ...

  4. Fluent Nhibernate code frist简单配置

    Fluent Nhibernate code frist简单配置   前言 在以前的项目开发过程中使用nhibernate做完orm映射工具需要编写大量的xml映射文件,项目过程中往往会因为一个字段等 ...

  5. 从Java虚拟机的内存区域、垃圾收集器及内存分配原则谈Java的内存回收机制

    一.引言: 在Java中我们只需要轻轻地new一下,就可以为实例化一个类,并分配对应的内存空间,而后似乎我们也可以不用去管它,Java自带垃圾回收器,到了对象死亡的时候垃圾回收器就会将死亡对象的内存回 ...

  6. Qt日常备注&lpar;函数&sol;接口实现&rpar;

    1.判断QString是否为纯数字 2.查找自身最长重复子字符串 3.树形列表复选框操作 4.更改文件权限 5.判断系统64位 6.文件生成md5值 7.版本号比较(字符串比较) //-----实现- ...

  7. cadence单一原理图库的设计

  8. Centos7 开放80&comma;3306端口解决办法

    所有扯iptables的文章都是扯淡!!! centos 7 默认防火墙由firewalld来管理!关iptables屁事! 以开放80端口为例,执行以下命令: 开放80端口:firewall-cmd ...

  9. Java之父及Java诞生

    来自为知笔记(Wiz)

  10. elk搭建实战

    1 安装elasticsearch 1.1安装elasticsearch 相关中文文档:https://es.xiaoleilu.com 下载:从https://www.elastic.co/down ...