1)JS是在客户端执行的,需要浏览器支持Javascript。JSP是在服务器端执行的,需要服务器上部署支持Servlet的服务器程序。JS代码是能够直接从服务器上download得到,对外是可见的,jsp(和翻译后的servlet)代码是对外不可见的。

  2)JS与JavaScript相比:虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。JSP在HTML中用<%%>里面实现。JS在html中用<Script></Script>实现。

一、

JavaScript 是 Web 的编程语言。所有现代的 HTML 页面都使用 JavaScript。JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

HTML 中的脚本必须位于 <script> 与 </script> 标签之间。脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中。

JS实例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body> <h1>我的第一个 Web 页面</h1>
<p id="demo">我的第一个段落。</p>
<script>
document.getElementById("demo").innerHTML="段落已修改。";
</script> </body>
</html>

二、

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计。

JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。

JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。

JSP文件后缀名为 *.jsp 。JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows 上。

Jsp实例:

<%@ page contentType="text/html;charset=UTF-8" %>
<html> <%
session.setAttribute("Login", "");
%> <body>
<h2>你已经退出登录</h2>
</body> </html>

  

三、 

ASP(Active Server Pages 动态服务器页面)是一种生成动态交互性网页的强有力工具。

工作原理:

  ASP中的脚本程序是在服务器端运行的(而不是在客户端运行),传送到浏览器上的web页是在web服务器上生成的。因此,客户端浏览器并没有处理这些脚本,web服务器已经完成了这些脚本的处理,并将标准的HTML页面传输到浏览器。ASP解释器读取并执行所有在<%和%>标签之间的脚本代码,并生成内容。由于只有脚本的执行结果返回到浏览器,因此,用户看不到正在浏览的网页的脚本命令,而只能看到脚本的执行结果。

ASP实例:

<!DOCTYPE html>
<html>
<body>
<%
response.write("<h2>You can use HTML tags to format the text!</h2>")
%> <%
response.write("<p style='color:#0000ff'>This text is styled with the style attribute!</p>")
%>
</body>
</html>

  

  

ps:

1、jsp的魅力无疑是java的跨平台性。它诞生于面向对象编程的环境下
2、提到迅速的商务部署,当然是windows环境的asp技高一筹了,微软的东西傻瓜性够好、资源丰富(asp程序员工资低由此可见一斑)。开发周期绝对少于java的jsp

3、php作为一门语言(好像asp开发的主流语言vbscript和jsp开发的java),它是绝对免费的,也由于此,它不够健壮(这一点的另一方面就是它的速度某种程度上比较快)。它具有比较好的平台无关性,但并不是绝对的。从php开始支持windows环境的com组件可以看出它的某些无奈。php目前已经支持面向对象编程。比较小的商务应用采用php+mysql还是很有竞争力的

另外,asp有微软支持,目前很流行
php一直很受关注,其程序性能强大,LAMP(Linux+Apache+Mysql+Php)被称为黄金组合
jsp好像不如前两者流行,但也有很多用户,其技术基于java,前途好像也不错
Asp.net是微软.Net套件的一个部分,应该是趋势

动态网页技术
所谓“动态”,并不是指那几个放在网页上的GIF图片,动态网页技术有以下几个特点。
1,"交互性"即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大事所趋.
2,"自动更新"即无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量.
3,"因时因人而变",即当不同的时间,不同的人访问同一网址时会产生不同的页面。
除了早期的CGI外,目前主流的动态网页技术有JSP,ASP,PHP等
1.1. 1CGI
在早期,动态网页技术主要采用CGI技术,即Common Gateway Interface(公用网关接口)。在早期,你可以使用不同的程序编写合适的CGI程序,如Visual Basic,Delphi或C/C++等。虽然CGI技术成熟而且功能强大,但由于编程困难,效率低下,修改复杂等缺陷,所以有逐渐被新技术取代的趋势。
可以使用不同的程序编写合适的CGI程序,如Visual Basic、Delphi或C/C++等,您将已经写好的程序放在WEB服务器的计算机上运行,再将其运行结果通过WEB服务器传输到客户端的浏览器上。我们通过CGI建立WEB页面与脚本程序之间的联系,并且可以利用脚本程序来处理访问者输入的信息并据此作出响应。事实上,这样的编制方式比较困难而且效率低下,因为你每一次修改程序都必须重新将CGI程序编译成可执行文件。
最常用于编写CGI技术的语言是Perl(Practical Extraction and Report Language,文字分析报告语言),它具有强大的字符串处理能力,特别适合用于分割处理客户端Form提交的数据串;用它来编写的程序后缀为.pl。
1.1. 2ASP
ASP更精确的说是一个中间件,这个中间件将Web上的请求转入到一个解释器中,在这个解释器中将所有的ASP的Script进行分析,再进行执行,而这时可以在这个中间件中去创建一个新的COM对象,对这个对象中的属性和方法进行操作和调用,同时再通过这些COM组件再完成更多的工作。所以说,ASP强大的不在于它的VBScript, 而在于它后台的COM组件,这些组件来无限的扩充了ASP的能力。
强势:
1简单易学。Basic有谁不会?很少会有人举手,所以有人在说这个开发基础是最广的。而且MS有一向做的非常好的联机手册,本地化语言的帮助,同时非常快的出现教学书籍,这样会大大方便开发人员的学习和对技术的深入研究。
2、安装使用方便。装好一个Windows 2000,只要你安装了IIS哪么ASP就可以使用了,从没有什么需要你花心思去配置的。
3、开发工具强大而多样。这个我不用说了,可以说的就是我以前使用VB中的Web Class开发出的Web应用一点不差,当时让许多人大吃一惊,VB也能做ASP上的应用!!!其实这正说明了ASP开发工具的多样化,同时它们的功能也很强,这一点已经被许多程序员所津津乐道。易用、简单、人性化,这本就是微软的强项哟。
4、效率高。在低的访问量下,ASP能体现出一定的效率,这时它对机器的要求并不高。
弱势:
1Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性(Win2K已经不再支持Alpha了)都会因为与NT的捆绑而显现出来。
2、ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失。
3、由于ASP还是一种Script语言,所以除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编译的时间考验,同时我们还不知其背后的组件会是一个什么样的状况。
4、无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的。
5、还无法完全实现一些企业级的功能:完全的集群、负载均衡。
1.1.3 PHP
PHP(Hypertext Preprocessor)是一种HTML内嵌式的语言(类似于IIS上的ASP)。而PHP独特的语法混合了C、Java、Perl以及PHP式的新语法。它可以比CGI或者Perl更快速的执行动态网页。
PHP能够支持诸多数据库,如MS SQL Server, MySql,Sybase,Oracle等。
它与HTML语言具有非常好的兼容性,使用者可以直接在脚本代码中加入HTML标签,或者在HTML标签中加入脚本代码从而更好地实现页面控制。PHP提供了标准的数据库接口,数据库连接方便,兼容性强;扩展性强;可以进行面向对象编程。
1 PHP的强势
1.一种能快速学习、跨平台、有良好数据库交互能力的开发语言。ASP比不上它的就是这种跨平台能力了,而正是它的这种能力让Unix/Linux有了一种与ASP媲美的开发语言。语法简单、书写容易、现在市面上也有了大量的书,同时Internet上也有大量的代码可以共享,对于一个初学者想学些“高深的Unix”下的开发来说是一个决好的入手点。
2.与Apache及其它扩展库结合紧密。php与Apache可以以静态编绎的方式结合起来,而与其它的扩展库也可以用这样的方式结合(除外的就是Windows平台了)。这样的方式的最大的好处就是最大化的利用了cpu时和内存,同时极为有效的利用了apache的高性能的吞吐能力。同时外部的扩展也是静态连编,从而达到了最快的运行速度。由于与数据库的接口也使用了这样的方式,所以使用的是本地化的调用,这也让数据库发挥了最佳效能。
3.良好的安全性。由于php本身的代码开放所以它的代码在许多工程师手中进行了检测,同时它与apache编绎在一起的方式也可以让它具有灵活的安全设定。所以到现在为止,php具有了公认的安全性能。
弱势:
1. 据库支持的极大变化。由于php的所有的扩展接口都是独立团队开发完成的,同时在开发时为了形成相应数据的个性化操作,所以php虽然支持许多数据库,可是针对每种数据库的开发语言都完全不同。这样形成针对一种数据库的工发工作,在数据库进行升级后需要开发人员进行几乎全部的代码更改工作。而为了让应用支持更多种的数据库,就需要开发人员将同样的数据库操作使用不同的代码写出n种代码库出来,让程序员的工作量大大增大。
2. 安装复杂。由于php的每一种扩充模块并不是完全由php本身来完成,需要许多外部的应用库,如图形需要gd库、LDAP需要LDAP库.……这样在安装完成相应的应用后,再联编进php中来。这也就是我以前在代码联盟新闻组中对网友所说的一定要在FreeBSD/Linux/Unix下运行php的原因。只有在这些环境下才能方便的编绎对应的扩展库。这些都是一般开发人员在使用php前所先要面对的问题,正是这样的问题让许多开发人员转而使用其它的开发语言,必竟Unix没有那么多的用户。
3. 缺少企业级的支持。没有组件的支持,哪么所有的扩充就只能依靠php开发组所给出的接口,事实上这样的接口还不够多。同时难以将集群、应用服务器这样的特性加入到系统中去。而一个大型的站点或是一个企业级的应用一定需要这样的支持的。注:在php的4.0版本以后加入了对servlet/javabean的支持,也许这样的支持会在以后的版本中更加增强,也许这样的支持会是php以后的企业级支持的起点。
4. 缺少正规的商业支持。这也是自由软件一向的缺点,我想在国内php的开发人员正在快速增加,相信在不久的将来,这样的支持能多起来。
5. 无法实现商品化应用的开发。由于php没有任何编绎性的开发工作,所有的开发都是基于脚本技术来完成的。所以所有的源代码都无法编译,所以做完成的应用只能是自己或是内部使用,无法实现商品化。
1.1.4 JSP
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向Internet的所有特点。
1. SP技术的强势
(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是现而易见的。
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
2. JSP技术的弱势
(1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。

JS、JSP、ASP、CGI的更多相关文章

  1. Java第三阶段学习(十四、JSP动态页面、EL表达式、JSTL标签库)

    一.JSP技术 1.jsp脚本和注释 jap脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部,比如写在doget.dopost 内的代码 2) ...

  2. 一、 JSP概述 二、JSP的语法结构 三、JSP内置对象

    一.JSP概述###<1>概念 java服务器页面 可以编写动态页面 其内部是以HTML标签为主,可以在HTML标签嵌套java代码 jsp文件以.jsp为后缀 jsp本质上就是一个Ser ...

  3. Shiro第五篇【授权过滤、注解、JSP标签方式、与ehcache整合】

    授权过滤器测试 我们的授权过滤器使用的是permissionsAuthorizationFilter来进行拦截.我们可以在application-shiro中配置filter规则 <!--商品查 ...

  4. CGI、ASP、PHP、JSP、 ASP.NET网站开发语言比较

    一.主流网站开发语言的简介及优缺点. 现在主流的网站开发语言主要包括cgi.asp.php.asp.net.jsp等. HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持. (一)  ...

  5. PHP、JSP、.NET各自的真正优势是什么

    PHP的优势在于, 跨平台, 极易部署, 易维护, 为Web而生, 开源社区强大, 文档丰富.至于说3足鼎立, 谈不上, 全球前100万的sites中, 70%是PHP. JSP和Asp..net 也 ...

  6. Tomcat负载均衡、调优核心应用进阶学习笔记(二):Tomcat前世今生、安装、配置文件详细说明、tomcat应用程序部署、webapp 体系结构、tomcat运行方式

    文章目录 Tomcat前世今生 安装 配置文件详细说明 tomcat应用程序部署 webapp 体系结构 tomcat运行方式 Tomcat前世今生 java体系: 1 java程序设计语言 2 ja ...

  7. 转!!常用的4种动态网页技术—CGI、ASP、JSP、PHP

    1.CGI   CGI(Common Gateway Interface,公用网关接口)是较早用来建立动态网页的技术.当客户端向Web服务器上指定的CGI程序发出请求时,Web服务器会启动一个新的进程 ...

  8. ASP、JSP、PHP 三种技术比较

    目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor). 简 介 : A ...

  9. javascript、JSP、JS有什么区别和联系

    js是javascript的缩写.以下是JSP与JS的区别和联系: 名字:JS:JavaScriptJSP:Java Server Pages 执行过程:JSP先翻译,翻译成Servlet执行如: t ...

随机推荐

  1. shell脚本小集锦

    1) 如何向脚本传递参数 ? ./script argument 例子: 显示文件名称脚本 ./show.sh file1.txt cat show.sh #!/bin/bash 2) 如何在脚本中使 ...

  2. android闪退日志收集

    写一个工具类,然后直接引用,简单粗暴. package com.socialsecurity.main.exception; import java.io.File; import java.io.F ...

  3. go语言中container容器数据结构heap、list、ring

    heap堆的使用: package main import ( "container/heap" "fmt" ) type IntHeap []int //我们 ...

  4. Three.js粒子特效,shader渲染初探(一篇非常详细的介绍)

    Three.js粒子特效,shader渲染初探 转载来源:https://juejin.im/post/5b0ace63f265da0db479270a 这大概是个序 关于Three.js,网上有不多 ...

  5. 对于读txt文件一点总结

    txt 内容 中间有比如如空格,制表符(tab)在txt为空格符(Spaces).回车符.换行符,有空字符串等情况,在读取过滤中要充分考虑到 1:打开文件 var sr=new StreamReade ...

  6. C# 一段通用的写log 日志的好程序

    public void Write(string text) { FileStream fs = new FileStream(Application.StartupPath+"/log.t ...

  7. 12.Mysql存储过程和函数

    12.存储过程和函数12.1 什么是存储过程和函数存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程和函数简化应用开发人员的工作,减少数据在数据库和应用服务器之间的传输, ...

  8. Oracle_高级功能(8) 事务和锁

    Oracle数据库事务1. 事务定义在数据库中事务是工作的逻辑单元,一个事务是由一个或多个完成一组的相关行为的SQL语句组成,通过事务机制确保这一组SQL语句所作的操作要么都成功执行,完成整个工作单元 ...

  9. 5J - 复习时间

    为了能过个好年,xhd开始复习了,于是每天晚上背着书往教室跑.xhd复习有个习惯,在复习完一门课后,他总是挑一门更简单的课进行复习,而他复习这门课的效率为两门课的难度差的平方,而复习第一门课的效率为1 ...

  10. sql server 查询不为空的字段

    经常用,经常忘 select * from table where content is not null and datalength(content)<>0