1. 首页 > 笙耀百科 >

jsp是什么意思啊_java三大主流框架

JSP和java有什么区别?

首先,JAVA是一门编程语言,而JSP只是以JAVA为基础的,用于在浏览器显示的页面。就是说JSP其实也是一个JAVA类,但他同时又是一个可以符合HTML标准的页面。里面可以写JAVA代码。

jsp是什么意思啊_java三大主流框架jsp是什么意思啊_java三大主流框架


简单的说,jsp就是java语言中的一种页面。

JAVA SERVER PAGE=JSP。JSP的出现实现了网页的动态化,不再是单一的HTML静态页面。但是呢,JSP是把JAVA代码嵌套到HTML中,让服务器端跟客户端实现动态沟通。

这问题好大啊···区别就是···恩,大概是吧,后台和前台的区别。

Java是编程语言 而jsp就是为java服务的 一个前台一个后台

jsp的英文名称是什么啊?

jsp全称是java servlet page,是一种基于文本的件。

在Sun正式发布JSP(Java Server Pages)之后,这种新的Web应用开发技术很快引起了人们的关注。JSP为创建高度动态的Web应用提供了一个独特的开发环境。按照 Sun 的说法,JSP能够适应市场上包括Apache WebServer 、IIS4.0在内的85%的服务器产品。

JSP(JavaServer Pages)

由Sun Microsystems公司倡导、许多公司参与一起建立的

Java Server Page

jsp是不是javascript的简写?

不是java script page 啦,是Java Server Page啦!

JavaScript是JavaScript,JSP是JSP,是两种完全没有关系的语言!而且JavaScript跟Java也没关系,只是JavaScript的市场策略罢了,它想借Java的光!

JSP是一种网站开发技术,它可以在Servlet&JavaBean的支持下,完成功能强大的Web应用程序!

而JavaScript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言, 它的前身是Live Script

越说越复杂,人家就只问了这么简单的一个问题,说一大堆。

JSP:Java server Pages的缩写

javascript就是javascript

二者没有必然联系,只能说都是网页技术

完毕!

JSP,Java服务页.全称为Java server Pages.

JSP作为动态网页的设计语言,在传统的网页HTML中加如JAVA程序片段(scriptlet)和JSP标记(tag),构成JSP网页(*.jsp).它与Javascript完全是两个不同的东西.

JSP由SUN公司推出,基于java技术,用于创建可支持跨平台及跨Web服务器的动态网页.

Javascript是NetScape公司的产品,比JSP简单得多,主要运用于客户端,实现基于浏览器上的一些动态功能,能够在客户端动态生成HTML.

javascript只是个IE兼容的脚本,JSP是Java server Page的缩写需要WEB服务器才能运行的动态网页.(一楼那位真是高见,不知道是哪个师傅教出来的)

--------------------------------------------------------------

JAVASCRIPT可以说成是JS

JSP就是JSP

Java server Pages 简称jsp

jsp是java在web上的应用

java和javascript根本就是两种语言

应该是java script page

JSP

楼上说的都对……

jsp和js没什么关系……

J2EE,JSP,Java的区别

java包含三大分支:

1.J2SE --java standard edition--标准版本,这个是下面两个的基础!一般是位于客户端的应用;

2.J2ME--java Micro edition --一般位于嵌入式应用,例如手机游戏

3.J2EE --java Enterprise Editon --一般为服务器端程序的应用:例如JSP站点!

现在就知道J2EE是做什么的了吧

首先java它对开发基于Web的多层{即是J2EE}应用提供了功能上的支持。它包含13种核心技术规范:

(1)Java Database Connectivity (JDBC)以一种统一的方式来对各种各样的数据库进行存取

(2)Java Naming and Directory Interface (JNDI)用于名字和目录服务,它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统等

(3)Enterprise Java Beans (EJB) 提供了一个框架来开发和实施分布式商务逻辑,显著地简化了具有可伸缩性和高度复杂的企业级应用的开发

(4)JavaServer Pages (JSPs) 用以创建动态网页

(5)Java servlets提供的功能大多与JSP类似,不过实现的方式不同

(6)Remote Method Invocation (RMI) 在远程对象上调用一些方法,使用了连续序列方式在客户端和服务器端传递数据

(7)Interface Description Language (IDL)将Java和CORBA集成在一起

(8)Java Transaction Architecture (JTA)可以存取各种事务

(9)Java Transaction Service (JTS) 规定了事务管理器的实现方式

(10)JavaMail 用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类

(11)JavaBeans Activation Framework(JAF) JavaMmail利用JAF来处理MIME-编码的邮件附件,MIME的字节流可以被转换成JAVA对象,或者转换自JAVA对象

(12)Java Messaging Service (JMS) 是用于和面向消息的中间件相互通信的应用程序接口(API)(13)Extensible Markup Language (XML)XML是一种可以用来定义其它标记语言的语言

所以你说的JSP是Java在web上面[一般来说java的web应用成为J2EE]的应用的一个分支而已!

现在你也就知道JSP了哈!

在说JavaScript,

这个是嵌入在网页(一般为html,ASP,JSP等网页)的一种脚本语言,用于数据的验证,支持页面的值的传递等问题的处理;

JavaScript跟java一点关系都没有

java是程序设计语言(与C/C++/C#同类)

JavaScript是网页中的脚本语言(与vbscript等脚本语言同类)

1. JavaScript用于编写嵌入在网页文档中的程序,它由浏览器负责解释和执行,可以在网页上产生动态的显示效果和实现与用户交互的功能,譬如,让一串文字跟着鼠标移动,让一个图标在网页漂浮移动,验证用户输入的信用卡号的格式正确与否,等等特效网页功能。

2. Java则是一种基础性的语言,学习jsp,j2ee都要有java的基础。无论你是想成为诗人,还是小说家,还是散文家,甚至就是当记者,你都要学习语文吧,Java就相当于语文、Jsp、J2ee则相当于小说、散文等。学好了语文,你能否就会有一份好的职业呢?不见得吧,但至少机会要多多了,语文学得越好,就更容易成为小说家,或是记者等等了。要想成为记者、散文家等等,没有语文是怎么都不行的。

3. jsp用于让www服务器产生出内容可以变化的网页文档和对用户提交的表单数据进行处理,例如,显示留言内容,留言内容总是在增加的,所以,传递给用户浏览器的网页文件内容是需要改变的,这就是jsp来实现的。将用户留言插入到数据库中,也是jsp来实现的。

4. j2ee用于开发大型的商业系统,例如,你在各个银行之间的取款,存款,银行之间要互通有无,执行存取款的记录操作,还要进行安全性检查,不能谁都可以来查帐,还要考虑网络断线等问题。使用j2ee,你就不用编写这些底层的细节程序代码了,而将精力集中到应用的业务流程设计上。(转)

java包含三大分支:

1.J2SE --java standard edition--标准版本,这个是下面两个的基础!一般是位于客户端的应用;

2.J2ME--java Micro edition --一般位于嵌入式应用,例如手机游戏

3.J2EE --java Enterprise Editon --一般为服务器端程序的应用:例如JSP站点! Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程

Java 是一门 OOP 语言

J2EE 是一套企业级技术规范,包含:JMS Servlet JSP EJB JPA 等,这些规范可以使用 Java 来实现,例如 Hibernate 就是实现了 JPA 规范

JAVA基本语言,JSP利用JAVA语言来做网页的,J2EE是JAVA的扩展,主要用来开发企业WEB运用

java分javaSE javaWeb javaEE javaMe,se是基础部分,最基础的语法,必须要掌握的非常非常好。你说的jsp是Web部分 jsp本身就是一个servlet,可以生成web页面。javaEE是java企业级后台开发应用,里面涉及到利用框架,快速开发解决实际问题。javaMe 主要指android开发移动端相应的程序。

java是一门开发语言而,j2ee是java企业版也就是Java的一个版本,jsp是j2ee下面的一门技术

java通俗的说是一个统称了, 他包括了javase(j2se) javaee(j2ee) javame(j2me) 我听说安卓开发也会计入到java的使用范畴

javase是java的基础,涵盖基本语法结构,IO,集合等, 反正看成是java的基石就对了

javaee是企业开发的规范, 里面是一大堆的接口,但是自己也不实现这一套规范,他需要各大企业或者组织去实现,比如tomcat,jboss等, 然后开发者在javaee的规范下开发web程序,部署到web容器(tomcat等)中,就可以运行了

javaee里面最基本的就是Servlet, 他接收请求,返回响应, 对网页开发的应用来说, 需要在Servlet里面拼接Html代码,然后使用PrintWriter进行输出

Servlet的开发难度太高也不友好,后来就出现了MVC概念, 让Servlet作为控制层复杂业务中转,JSP就去做前台的显示层, 和ASP异曲同工, 因为JSP开发也可以像HTML开发一样,所见即所得,可视化开发, 并且可以把html直接转换成jsp, 大大提高开发效率

最后说下关系, j2ee需要用到javase才能运行, Servlet是j2ee里面的一个组成部分,负责处理请求转发, JSP其实就是Servlet, 只是比Servlet的开发难度低一点,对开发者更加友好

.jsp是什么格式呀 ?

华夏博大是在深圳学习的更可在深圳工作,深圳的IT产业是非常的发达的,所以就业的话不难。他们Java的教学质量真的很高如果你符合条件的话还可以先就业后付款,最好自己去看一下会很满意的

java的web应用在服务器端的显示层代码,编译到客户端时只包含html的内容

是java的一种文件格式。可以显示网页也可以写java代码

jsp是使用java进行web开发生成的一种文件格式。

JSP,全称Java Server Pages,是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。

jsp,javaSpring都是什么,如何用啊

jsp是在页面 写入到 java代码中的脚本。

jsp相当于 html 中的 代码。

javaSpring。 其实是 spring。 spring是java中的一个框架。

JSP是什么啊?

JSP是由Sun Microsystems公司主导创建的一种动态网页技术标准。

JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。

JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。

作用:

JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。

标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。

全程应该是java servlet page,就是基于服务器端的java语言的动态网页(字面意思,先这么理解吧)。

jsp与servlet的区别?

1.Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。

Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

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

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。

JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

3.JSP和Servlet相同点:

JSP可以被看作一个特殊的Servlet,它只不过是对Servlet的扩展,只要是JSP能够完成的工作,使用Servlet都可以完成,例如生成动态的页面;

由于JSP页面最终要被转换成Servlet来运行,因此处理请求实际上是编译后的Servlet。

4.JSP和Servlet的擅长方便不同:

Servlet的实现方式是在java代码中嵌入HTML代码,编写和修改HTML非常不方便,所以适合做流程控制和业务逻辑的处理;

JSP实现的方式是在HTML中嵌入java代码,比较适合页面的显示。

5.JSP和Servlet内置对象不同:

Servlet中没有内置对象,JSP中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。

Servlet与Jsp的区别

* Servlet中没有内置对象,原来Jsp中的内置对象都是必须通过HttpServletRequest对象,或由

HttpServletResponse对象生成。

* 对于静态的HTML标签,Servlet都必须使用页面输出流诼行输出。

总之,Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,至于Jsp中的

Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service

方法用于生成对客户端的响应。

-Servlet的开发

Servlet通常称为服务器端小程序,用于处理和响应客户端的请求。

Servlet是个特殊的Java类,这个Java类必须继承HttpServlet。每个Servlet可以响应客户端的请求。

Servlet提供了不同的方法用于响应客户端请求。

* doGet : 用于响应客户端的get请求

* doPost : 用于响应客户端的post请求

* doPut : 用于响应客户端的put请求

* doDelete: 用于响应客户端的delete请求

* service(HttpServletRequest request, [可以响应客户端所有类型的请求]

HttpServletResponse response)

throws ServletException,java.io.IOException

其他方法

* init(Servletconfig config) : 创建Servlet实例时,调用的初始化方法。

* destory() : 销毁Servlet实例时,自动调用的资源回收方法。

-Servlet的配置

编译好的Servlet源文件并不能响应用户请求,还必须将其编译成class文件。将编译后的.class

文件放在WEB-INF/classes路径下,如果Servlet有包,则还应该将class文件放在对应的包路径下。

为了让Servlet能响应用户请求,还必须将Servlet配置在Web应用中。配置Servlet时,需要修改

web.xml文件。

配置Servlet需要配置两个部分:

* 配置Servlet的名字:对应web.xml中的元素

* 配置Servlet的URL :对应web.xml中的元素

-Servlet的生命周期

Servlet在容器中运行,其实例的创建以及销毁等都不是由程序员决定的,而是由容器进行控制的。

Servlet的创建有两个选择:

*客户端请求对应的Servlet时,创建Servlet实例:大部分的Servlet都是这种Servlet

*Web应用启动时,立刻创建Servlet实例:即load-on-startup Servlet

Servlet的生命周期:

Begin

---> 创建实例完成

---> 初始化[init]

---> 响应客户端请求[doGet,doPost,service]

---> 被销毁[destroy] --->

End

-使用Servlet作为控制器

使用Servlet作为表现层的工作量太大,所有的HTML标签都需要使用页面输出流生成。

因此使用Servlet作为表现层有如下三个劣势:

* 开发效率低,所有的HTML标签都需使用页面输出流完成

* 不利于团队协作,美工人员无法参与Servlet界面的开发

* 程序可维护性差,即使修改一个按钮的标题,读需要重新编辑Java代码,并重新编译

使用Servlet的MVC的架构实现:

Jsp页面--> Servlet程序 --> Servlet根据条件转发新的Jsp页面

-load-on-startup Servlet

Servlet实例化的时机还有在Web应用启动时,即load-on-startup Servlet

应用启动时就启动的Servlet,通常是用于某些后台服务的Servlet,或者拦截很多请求的Servlet;

这种Servlet通常作为基础的Servlet使用,提供重要的后台服务。

web.xml中的配置:

元素中增加元素

1

-访问Servlet的配置参数

配置Servlet时,还可以增加附加的配置参数,通过使用配置参数,可以实现更好的解除耦合,

避免将所有的参数以硬编码方式写在程序中。

访问Servlet配置参数要通过ServletConfig类的实例完成,ServletConfig提供如下方法:

java.lang.String getInitParameter(java.lang.String name) [获取初始化参数]

SP---Java Server Pages

拥有servlet的特性与优点(本身就是一个servlet)

直接在HTML中内嵌JSP代码

只有当客户端第一次请求JSP时,才需要将其转换、编译Servlet代码

优点:

优良的性能 优于CGI,PHP,ASP

平台无关性 操作系统无关,Web服务器无关

可扩展性 tag的扩展机制,简化页面开发

servlet是在web服务器上的java程序,它提供服务,由它来传递给你html的格式。

Servlet是服务器小小的JAVA应用程序

用来完成B/S架构下,客户端请求的响应处理

平台独立,性能优良,能以线程方式运行

Servlet API为Servlet提供了统一的编程接口

Servlet一般在容器中运行(必须部署在Servlet容器,才能响应客户端的请求 对外提供服务,要对外统一接口,由容器来调用)

jsp在被第1次访问的时候 会别转义编译成类servlet 也可以说jsp就是一个servlet

2者的区别: jsp是html中内嵌java代码;servlet把html代码和JAVA代码分离开;

jsp侧重与显示;servlet侧重与控制逻辑

一. Servlet是什么?

客户机/服务器计算的发展。Java提供了一整套客户机/服务器解决方案,在这个方案中,程序可以自动地下载到客户端并执行,这就是applet。但是它仅仅是问题的一半。问题的另一半就是Servlet。

servlet可以被认为是服务器端的applet。servlet被Web服务器加载和执行,就如同applet被浏览器加载和执行一样。servlet从客户端(通过Web服务器)接收请求,执行某种作业,然后返回结果。使用servlet的基本流程如下:

·客户端通过HTTP提出请求.

·Web服务器接收该请求并将其发给servlet。如果这个servlet尚未被加载,Web服务器将把它加载到Java虚拟机并且执行它。

·servlet将接收该HTTP请求并执行某种处理。

·servlet将向Web服务器返回应答。

·Web服务器将从servlet收到的应答发送给客户端。

由于servlet是在服务器上执行,通常与applet相关的安全性的问题并不需实现。要注意的是Web浏览器并不直接和servlet通信,servlet是由Web服务器加载和执行的。

而servlet是用Java编写的,所以它们一开始就是平台无关的。这样,Java编写一次就可以在任何平台运行(write once,run anywhere)的承诺就同样可以在服务器上实现了。servlet还有一些CGI脚本所不具备的独特优点: (本人对CGI并不是十分了解,所以这些特点不能完全的体会到,这也是摘自论坛的贴子,请见谅)

servlet是持久的。servlet只需Web服务器加载一次,而且可以在不同请求之间保持服务(例如一次数据库连接)。与之相反,CGI脚本是短暂的、瞬态的。每一次对CGI脚本的请求,都会使Web服务器加载并执行该脚本。一旦这个CGI脚本运行结束,它就会被从内存中清除,然后将结果返回到客户端。CGI脚本的每一次使用,都会造成程序初始化过程(例如连接数据库)的重复执行。

servlet是与平台无关的。如前所述,servlet是用Java编写的,它自然也继承了Java的平台无关性。

servlet是可扩展的。由于servlet是用Java编写的,它就具备了Java所能带来的所有优点。Java是健壮的、面向对象的编程语言,它很容易扩展以适应你的需求。servlet自然也具备了这些特征。

servlet是安全的。从外界调用一个servlet的惟一方法就是通过Web服务器。这提供了高水平的安全性保障,尤其是在你的Web服务器有防火墙保护的时候。

setvlet可以在多种多样的客户机上使用。由于servlet是用Java编写的,所以你可以很方便地在HTML中使用它们,就像你使用applet一样。

那么,Servlet是怎样执行的?怎样来写一个Servlet,它的基本架构是怎么样的?

这些问题,将在后面部分给予介绍。

二.JSP与Servlet

现在已经对Servlet有了大概的了解,现在我们就来说说JSP和Servlet的关系。

JSP是一种脚本语言,包装了Java Servlet系统的界面,简化了Java和Servlet的使用难度,同时通过扩展JSP标签(TAG)提供了网页动态执行的能力。尽管如此,JSP仍没有超出Java和Servlet的范围,不仅JSP页面上可以直接写Java代码,而且JSP是先被译成Servlet之后才实际运行的。JSP在服务器上执行,并将执行结果输出到客户端浏览器,我们可以说基本上与浏览器无关。它是与JavaScript不同的,JavaScript是在客户端的脚本语言,在客户端执行,与服务器无关。 那么JSP是什么?就是Servlet.

JSP与Servlet之间的主要差异在于,JSP提供了一套简单的标签,和HTML融合的比较好,可以使不了解Servlet的人可以做出动态网页来。对于Java语言不熟悉的人(比如像我),会觉得JSP开发比较方便。JSP修改后可以立即看到结果,不需要手工编译,JSP引擎会来做这些工作;而Servelt缺需要编译,重新启动Servlet引擎等一系列动作。但是在JSP中,HTML与程序代码混杂在一起,而Servlet却不是这样。也许大家比较混乱了,那么Servlet又是什么?下面我们对JSP的运行来做一个简单的介绍,告诉大家怎样来执行一个JSP文件:

当Web服务器(或Servlet引擎,应用服务器)支持JSP引擎时,JSP引擎会照着JSP的语法,将JSP文件转换成Servlet代码源文件,接着Servlet会被编译成Java可执行字节码(bytecode),并以一般的Servlet方式载入执行

JSP语法简单,可以方便的嵌入HTML之中,很容易加入动态的部分,方便的输出HTML。在Servlet中输出HTML缺需要调用特定的方法,对于引号之类的字符也要做特殊的处理,加在复杂的HTML页面中作为动态部分,比起JSP来说是比较困难的。

除去了转换和编译阶段,JSP和Servlet之间的区别实在是不大。

JSP引擎通常架构在Servlet引擎之上,本身就是一个Servlet,把JSP文件转译成Servlet源代码,再调用Java编译器,编译成Servlet。这也是JSP在第一次调用时速度比较慢的原因,在第一次编译之后,JSP与Servlet速度相同.下面我们来看看为什么他们在第一次编译后再编译的速度相同:

在整个运行过程中,JSP引擎会检查编译好的JSP(以Servlet形式存在)是否比原始的JSP文件还新,如果是,JSP引擎不会编译;如果不是,表示JSP文件比较新,就会重新执行转译与编译的过程。

为了有个深刻的了解,我们看一下JSP的运行和开发环境:

浏览器:常见的浏览器有IE和Netscape两种。

数据库:常用的数据库有Oracle,SQL Server,Informix,DB2,Sybase,Access,MySQL等。

操作系统:常见的有Windows,Linux,以及各种Unix系统。

Web服务器:常见的有IIS,Apache,Netscape Enterprise Server等。

JSP引擎:一般JSP引擎都以Servlet引擎为基础,并以Servlet的形式出现。同时,在各种免费和商业引擎的实现中,Servlet引擎和Jsp引擎通常也是一起出现,我们成为Servlet/JSP引擎,或从某种成为JSP引擎。

JSP引擎是可以提供JSP和Servlet运行支持并对其生存周期进行管理的系统级实体。

在JSP页面第一次被请求时,JSP引擎会将JSP原始文件转换成Servlet源代码,然后调用Java编译器,编译成Servlet,并在Servlet引擎中执行。当再次有请求的时候,JSP引擎会见差异编译好的JSP是否比原来的JSP原始文件要新,如果是,运行Servlet;如果不是,表示文件已经更新的了,就会从新执行转换和编译的过程。

说到这里,也基本把JSP和Servlet的关系说清楚了,从我的感觉上看用JSP就可以了,简单又方便,又可以和Bean 很好的兼容使用,功能又很强大,为什么又出现了Servlet,它又有什么用?何况它的编写又相对复杂。为了把问题说得更清楚一点,我想在这里说一下历史,顺便再讲一下为什么还要用Servlet,Servlet的好处是什么。

历史简述:(摘自某论坛有删节,改写)

简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。

后来SUN推出了类似于ASP的镶嵌型的JSP(是Servlet发展的产物),把JSP TAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修改。新型的网络语言如ASP,PHP,JSP都是镶嵌型的SCRIPT语言。

从网络三层结构的角度看,一个网络项目最少分三层:data layer,business layer, presentation layer。当然也可以更复杂。SERVLET用来写business layer是很强大的,但是对于写presentation layer就很不方便。JSP则主要是为了方便写presentation layer而设计的。当然也可以写business layer。写惯了ASP,PHP,CGI的朋友,经常会不自觉的把presentation layer和business layer混在一起。把数据库处理信息放到JSP中,其实,它应该放在business layer中。

根据SUN自己的推荐,JSP中应该仅仅存放与presentation layer有关的内容,也就是说,只放输出HTML网页的部份。而所有的数据计算,数据分析,数据库联结处理,统统是属于business layer,应该放在JAVA BEANS中。通过JSP调用JAVA BEANS,实现两层的整合。

实际上,微软推出的DNA技术,简单说,就是ASP+COM/DCOM技术。与JSP+BEANS完全类似,所有的presentation layer由ASP完成,所有的business layer由COM/DCOM完成。通过调用,实现整合。现在微软推出的.NET也是通过这个理念,所有的presentation layer由ASP.NET完成,business layer由C#或VB.NET或VC.NET来完成。

为什么要采用这些组件技术呢?因为单纯的ASP/JSP语言是非常低效率执行的,如果出现大量用户点击,纯SCRIPT语言很快就到达了他的功能上限,而组件技术就能大幅度提高功能上限,加快执行速度。

另外一方面,纯SCRIPT语言将presentation layer和business layer混在一起,造成修改不方便,并且代码不能重复利用。如果想修改一个地方,经常会牵涉到十几页CODE,采用组件技术就只改组件就可以了。

综上所述,SERVLET是一个早期的不完善的产品,写business layer很好,写presentation layer就很不好,并且两层混杂,显得十分混乱。

所以,推出JSP+BAEN,用JSP写presentation layer,用BAEN写business layer。SUN自己的意思也是将来用JSP替代SERVLET。

看了上面的叙述,大家可能对JSP与Servlet共存有了比较好的认识。可以看到JSP和Bean结合后的的实用性,强大的表现功能,易用性都是Servlet所不能及的。那么是不是Servlet就被取代了?不是!在以后的发展中,它还是有着巨大的作用的。上面只不过是将了问题的一方面,下面我们来看看Servlet本身的特点。

由于它是由java来写的,所以相关的特点我们就不说了,上文已经有了详细的介绍,我们来看看其他的:

Servlet是用于开发服务器端应用程序的一种编程模型,如果只是一个普通的java应用,可以不使用servlet来编写,但是如果想要提供基于web的服务能力,那么就必须按照这种模型来编写,而且servlet也必须允许在符合servlet规范的java web server or app server之上,否则无法运行。除非你自己实现一个web server,但是其复杂度是比较高的,特别是在企业级应用中,对系统的稳定性和健壮性都要求比较高,所以servlet的模型实际上是简化了编写稳健的服务器端的应用开发过程。Servlet 可以作为提供web服务能力的一个接入方式

现在也许可以理解了什么是Servlet什么是JSP,它们之间的关系是怎样的。

当针对一个JSP的第一个请求到来时,该页面转化为对应于JSP中的指令的JAVA类。容器负责创建对象,实际上就是一个Servlet。

jsp和servlet的区别有以下几点:

Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。

1、jsp经编译后就变成了Servlet。

2、jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。

3、Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletResponse对象以及HttpServlet对象得到。

4、而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应

单纯的JSP是嵌入在HTML中的。

Servlet是纯运行在后台的。

JSP更适合与HTML打交道,而Servlet更适合与Java打交道。他们的特点决定了他们的分工不同,在现在的Java EE(j2ee)系统中,Servlet只用于处理业务逻辑,jsp只用于显示结果。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息