A. jsp是什么干什么的
JSP是由Sun Microsystems公司主导创建的一种动态网页技术标准。
通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
当有人请求JSP时,服务器内部会经历一次动态资源(JSP)到静态资源(HTML)的转化,服务器会自动帮我们把JSP中的HTML片段和数据拼接成静态资源响应给浏览器。也就是说JSP运行在服务器端,但最终发给客户端的都已经是转换好的HTML静态页面(在响应体里)。服务器并没有把JSP文件发给浏览器。
(1)webjsp最终被运行的是扩展阅读:
能以模板化的方式简单、高效地添加动态网页内容。可利用JavaBean和标签库技术复用常用的功能代码。
标签库不仅带有通用的内置标签(JSTL),而且支持可扩展功能的自定义标签。有良好的工具支持。继承了Java语言的相对易用性。
B. JSP 页面的执行过程包括哪些步骤
JSP执行过程,
1. 用户请求JSP页面(HTTP请求)
2. web server中的servlet容器发现URL中有JSP后缀, 就调用JSP容器来处理
3. 如果此页面是第一次被请求, JSP容器要定位JSP页面文件并解释它,
解释的过程包括: 将JSP源文件处理成servlet代码(java), 以及编译java文件生成servlet的call文件.
说明: JSP解释器生成的servlet类是实现了java.servlet.jsp.HttpJspPate接口的类(由JSP容器提供)的一个子类, 这个servlet类叫做页面实现类(JSP页面实例);
4. JSP容器运行页JSP页面实例, 此时servlet(即JSP页面实例)就会出来HTTP请求, 生成对于的HTTP响应并传回给客户端. 如果此页面不是第一次被请求, 则跳过3, 直接跳到4.
5. 结束
C. JSP页面是怎么被执行的
关于JSP页面的执行,有以下几个步骤:
创建jsp页面,将jsp页面部署在tomcat/webapps目录下或者tomcat/webapps子目录下,并且启动服务器;
当客户在第一次请求JSP页面时JSP Engine(JSP引擎)将JSP网页转译为Servlet,生成的文件保存在tomcat/work/Catalina/localhost下;
JSPC(jspc编译器)对转译生成的Servlet编译成Servlet.class,文件和Servlet在同一个文件夹下;
由服务器访问Servlet.class并且将对应内容响应给客户
D. JSP页面是在web服务器上运行吗
是的,JSP页面显示转译成servlet,然后再编译成字节码文件(*.class),最后在java虚拟机上运行,而转译靠的是web服务器.
第一次访问JSP是比较慢的,就是因为jsp页面先要转译成servlet,再编译成class文件,最后虚拟机运行,而 第二次访问同一jsp页面就比较快了,省略了转译和编译的过程,上一次编译好的class文件直接在虚拟机上运行就可以了.
E. 请问JSP是什么JSP与ASP有什么区别
总的来讲,JavaSever PagesTM(JSP)和 微软的Active Sever Pages(ASP)在技术方面有许多相似之处。两者都是为基于WEB应用实现动态交互网页制作提供的技术环境支持。同等程度上来讲,两者都能够为程序开发人员提供实现应用程序的编制与自带组件设计网页从逻辑上分离的技术。而且两者都能够替代CGI使网站建设与发展变的较为简单与快捷。
尽管JavaSever Pages 技术和微软的Active Sever Pages在许多方面都有相似的,但仍然存在很多不同之处,其中最本质上的区别在于:两者是来源于不同的技术规范组织,其实现的基础:WEB服务器平台要求不相同。
一、 JSP 技术:开放的技术
JSP和ASP技术明显的不同点:开发人员在对两者各自软件体系设计的深入了解的方式不同。JSP技术基于平台和服务器的互相独立,输入支持来自广泛的,专门的,各种工具包,服务器的组件和数据库产品开发商所提供。相比之下,ASP技术主要依赖微软的技术支持。
1、 平台和服务器的独立性
JSP技术依附于一次写入,之后,可以运行在任何具有符合JavaTM语法结构的环境。取而代之过去依附于单一平台或开发商,JSP技术能够运行在任何WEB服务器上并且支持来自多家开发商提供的各种各样工具包。
由于ASP是基于Activex控件技术提供客户端和服务器端的开发组件,因此ASP技术基本上是局限于微软的操作系统平台之上。ASP主要工作环境是微软的IIS应用程序结构,又因Activex对象具有平台特性,所以ASP技术不能很容易地实现在跨平台的WEB服务器的工作。尽管ASP技术通过第三方提供的产品能够得到组件和服务实现跨平台的应用程序,但是Activex对象必须事先放置于所选择的平台中。
2、 开放的开发过程,开放的原代码
SUN应用JAVA社团性过程开发JSP技术。自从1995年,SUN已经用这种开放过程方法同国际JAVA组织合作开发和修改了JAVA技术与规范。针对JSP的产品,SUN授权了工具提供商(如Macromedia),结盟公司(如Apache,Netscape),最终用户,协作商及其他。最近,SUN将最新版本的JSP和JavaTM Servlet(JSP 1.1,JAVA SERVLET 2.2)的原代码发放给Apache,以求JSP与Apache紧密的相互发展。Apache,SUN和许多其他的公司及个人公开成立一个健壮的咨询机构以便任何公司和个人都能免费取得信息。(详见:http://jakarta.apache.org)
JSP应用程序界面(API)毫无疑问已经取得成功,并将随JAVA组织不断开放扩大继续完善。相反,ASP技术仅依靠微软本身的推动,其发展是建立在独占的,封闭的开发过程基础之上。
ASP技术 JSP技术
WEB服务器 微软的IIS或个人WEB服务器 任何WEB服务器包括Apache,Netscape,和IIS
操作系统平台 微软的视窗系统 绝大多数的流行平台,包括solaris操作系统,微软的视窗系统,MAC OS,Linux,及其他UNIX系列平台产品
跨平台访问 需要第三方ASP的引入产品 支持WEB信息机构环境中不同系列的计算机群即保证用户在当前软硬件及人力资源上的投资完全兼容,JSP技术提供灵活,开放选择:可以使用各种各样的工具提供商提供的工具,高度体现工业化标准输入与配置
3、从开发人员的角度来看:ASP和JSP技术都能使开发者实现通过点击网页中的组件制作交互式的,动态的内容和应用程序的WEB站点。ASP仅支持组件对象模型COM,而JSP技术提供的组件都是基于JavabeansTM技术或JSP标签库。由此可以看出两者虽有相同之处,但其区别是很明显的。
1) JSP标签可扩充性
尽管ASP和JSP都使用标签与脚本技术来制作动态WEB网页,JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖。由于定制标签技术,使网页制作者降低了制作网页和向多个网页扩充关键功能的复杂程度。
2) JSP跨平台的可重用性
JSP的开发人员在开发过程中一直关注可重用性。JSP组件(企业JavabeansTM,Javabeans,或定制的JSP标签)都是跨平台可重用的。企业Javabeans组件可以访问传统的数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。JSP技术的标签可扩充功能为开发人员提供简便的,与XML兼容的接口即共享网页的打包功能使其完全的工业标准化。
这种基于组件的模式很有效提高应用程序的开发效率,因为这种模式能够使开发人员利用快捷的子组件快速创建模板应用程序,然后再整合一些附加功能以后便可使用。象这样有效的方法在JSP中无处不在,并可将其打包成一个Javabean或一个工业标准化的Javabean组件。
二、 JAVA的优越性
JSP技术是用JAVA语言作为脚本语言的,而ASP网页使用微软的VBScrip或Jscrip。JAVA是成熟的,强大的,易扩充的编程语言,远优于基于BASIC的脚本语言。如:JAVA的可执行性优于VBScript或Jscript语言。因为它们利用JAVA技术并且都被编译为JAVA Servlets,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。
JAVA使开发人员的工作在其他方面也变的一样容易,简单。例如,当ASP应用程序在WINDOWS NT系统被怀疑可能会崩溃时,JAVA能有效的防止系统的崩溃。JAVA语言通过提供防止内存的泄漏的方法,在内存管理方面也能大显身手。加之,JSP为应用提供了健壮的意外事件处理机制。
1、 易于维护性
基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。
脚本语言都能很好服务于小的应用程序,但不能适应大型的,复杂的应用程序。因为,JAVA是结构化的,它比较容易创建和维护庞大的,组件化的应用程序。
JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现。
企业级的Javabeans结构整合了企业逻辑,例如数据库的访问,安全,事务完整性,及独立性即独立于应用程序。
因为JSP技术是一种开放的,跨平台的结构,因此,WEB服务器,平台,及其他的组件能很容易升级或切换,且不会影响JSP基本的应用程序。这一特点使JSP能够适用现实世界的各种WEB应用程序不断的变化和发展。
ASP技术 JSP技术
可重用,跨平台组件 没有JAVABEANS 企业级JAVABEANS,定制JSP标签
安全:防范系统崩溃 没有 有
内存泄露保护 没有 有
脚本语言 VBSCRIPT,JSCRIPT JAVA
定制标签 没有 有
2、企业产品的多样性
JAVA2平台即企业版(J2EE)是适用于多企业应用程序的JAVA结构,作为J2EE的部分,JSP网页可访问所有J2EE的组件,包括Javabeans,企业级Javabeans及JAVA Servlets。JSP网页都能完全编译成为Servlets,所以它们都享有灵活性的特点和为服务器端JAVA应用程序。J2EE平台内容不仅包括管理复杂的企业应用程序而且包括事务管理技术和Pooling资源管理技术。
JSP网页可以访问标准的J2EE服务,包括:
? JAVA名称和目录界面API
? JDBCTM API(与关联的数据库通讯)
? JavaMailTM(支持基于JAVA邮件和消息应用程序的类)
? JAVATM 消息服务
通过J2EE,JSP网页能够用许多方式同企业系统交互访问。J2EE支持两种CORBA规范的技术:JAVA IDL和RMI-IIOP。在企业级JAVABEANS技术支持下,JSP网页通过运用高级的,对象映射的方式访问数据库。
最终,因为JSP技术是基于JAVA的开放性过程的产品,因此它能够广泛支持不同提供商提供的工具,WEB服务器和应用程序的服务,这样能够使用户选择最佳的开发方法,选择最适应他们的应用程序开发的工具包,同时,有效地保护用户在代码和人员培训上的投资。
ASP技术 JSP技术
兼容传统的数据库 可以(COM) 可以(用JDBC API)
集成数据源的能力 能工作在任何符合ODBC规范的数据库 能工作在任何符合ODBC规范的数据库,而且能访问符合JDBC技术规范数据库
组件 COM组件 JAVABEANS,企业级JAVABEANS或扩展的JSP标签
扩展工具支持 有 有
---全文结束---
F. jsp文件最终被执行的是什么文件
java,可以看服务器,服务器将他编译成servlet了,可以给po主看一下
G. jsp的执行过程是怎样的
JSP的执行过程
JSP的执行过程主要可以分为以下几点:
客户端发出请求。
Web容器将JSP转译成Servlet源代码。
Web容器将产生的源代码进行编译。
Web容器加载编译后的代码并执行。
把执行结果响应至客户端。
过程介绍
客户端发出请求,请求为JSP,web容器就会找出相应的servlet进行处理。
将servlet转成字节码文件。
将字节码文件加载到web容器里。
这时会在web容器里建立实例。
进行初始化。
通过service接受请求。
然后web容器会自动产生两个对象servlet和service最后进行销毁。
(7)webjsp最终被运行的是扩展阅读:
JSP的运行原理
WEB容器(Servlet引擎)接收到以。jsp为扩展名的URL的访问请求时,它将把该访问请求交给JSP引擎去处理。Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和执行JSP页面。
每个JSP页面在第一次被访问时,JSP引擎将它翻译成一个Servlet源程序,接着再把这个Servlet源程序编译成Servlet的class类文件,然后再由WEB容器(Servlet引擎)像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序。
Tomcat 5.x把为JSP页面创建的Servlet源文件和class类文件放置在“<TOMCAT_HOME>workCatalina<主机名><应用程序名>”目录中,
Tomcat将JSP页面翻译成的Servlet的包名为org.apache.jsp.<JSP页面在WEB应用程序内的目录名>。
JSP规范也没有明确要求JSP中的脚本程序代码必须采用Java语言,JSP中的脚本程序代码可以采用Java语言之外的其他脚本语言来编写,但是,JSP页面最终必须转换成Java Servlet程序。
可以在WEB应用程序正式发布之前,将其中的所有JSP页面预先编译成Servlet程序。
H. javascript中的jsp会直接运行
jsp是先执行的在服务器端;而javascript要到浏览器解释html时才会执行。
先由web服务器执行jsp文件,在此过程中javascript只被当成是普通文本,不会执行的。当web服务器将生成的html文件返回给客户端浏览器时,才会由浏览器执行javascript.
这两者交互,就用jsp控制生成javascript代码。
要注意其顺序的问题。
I. jsp在Web服务器上的运行过程是什么
以jsp为例吧。
用户向web服务器以HTTP请求的形式请求资源。HTTP请求中有几个重要的参数,一个是请求方法GET还是POST还是其它,请求的URL是Sample.jsp。
服务器得到这些请求后对参数进行分析,如/Sample.jsp的URL请求,这个请求一般会映射一个jsp页面或servlet,服务器会把浏览器的HTTP请求打包提供给index.jsp来运行(注意,jsp最终会被编译为可运行的类文件,它的任务是说明向浏览器发送什么数据)
jsp或servlet运行的结果就是向浏览器回送一次HTTP回应,这个回应也包括一些参数和最后的正文,正文的内容就是html语言了。浏览器对html进行解释,html正文里还有一些资源如如<img src="..." />,浏览器会再一次对服务器进行请求,不过对于图片这些静态内容,服务器是会直接返回的(不会经过jsp或servlet的)
一次完整的动态web交互就完成了 :HTTP请求-》服务器处理-》HTTP回应
如果觉得这个是那么回事就给点分撒,呵呵
J. JSP:JSP的运行过程是怎样的,树上说先转换成Servlet再变.class..不明白这个过程
jsp是文本文档,他不可以直接运行。它需要通过应用服务器,如websphere、tomcat之类的应用服务器编译成class类才能执行。如我们访问a.jsp,tomcat会把a.jsp生成a_jsp.java并编译成a_jsp.class类,如果编译失败,即会报500错误,如果编译成功,则运行a_jsp.class类,a_jsp.class类的作用就是输出a.jsp上的动态html代码