ASP.net与JavaEE语法、内置对象的对比-阿里云开发者社区

开发者社区> XOSG> 正文

ASP.net与JavaEE语法、内置对象的对比

简介:
+关注继续查看

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周时间,这并不奇怪。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4488 0
ASP.NET Core 新核心对象WebHost(一)
以本系列文章向Fish 前辈的那篇我心中的ASP.NET 核心对象致敬。(虽然不知道前辈现在在干什么)。一晃就6年过去了,那首 郝云 的《回到那一天》怎么唱来着? 时光一晃,你就三十了。 而我们都变成了老了的程序员
744 0
.NET[C#]中实现实体对象深拷贝(克隆/复制)的几种方法
.NET[C#]中实现实体对象深拷贝(克隆/复制)的几种方法,总有一种适合你。 方式一 使用二进制流 using System; using System.IO; using System.Runtime.
2933 0
+关注
XOSG
半路出家的MEAN全栈工程师; 从运维转型开发的佛系程序员
503
文章
18
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载