什么是jsp(SUN企业级应用的首选)虚拟主机

  JSP虚拟主机是利用独特的技术手段把一台服务器上的JSP环境划分为独立的小的JSP环境,来供大家执行所需要的JSP语言,您可以把自己的JSP语言的网站上传到JSP虚拟主机上,设置好数据库的连接,您的JSP网站就可正常运行了,JSP虚拟主机其实就是在网络上提供一个JSP环境,您买了后可以把自己的网站放上去让全世界的人都能浏览到,而如果不用JSP虚拟主机,您在自己的电脑上只能您自己看到,这样就失去做网站的意义!

  JSP虚拟主机有什么好处

  JSP语言的安全性是业内无与伦比的,无论是国家行政网站还是银行网站90%都是用JSP语言来写的,与目前的ASP虚拟主机和PHP虚拟主机不同的是,当一个ASP网站被黑,可能会连累到服务器上所有ASP网站的安全,而您使用JSP虚拟主机后就不用担心这样的事情发生了。

  技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。这里提供了JSP技术的全面概述,描述了其开发背景以及这项技术的总体目标。同时,在一个简单示例中,还描述了一个基于JavaTM技术的页面的关键组成部分。

  开发基于Web的应用程序的背景

  在万维网短暂的历史中,它已经从一个大部分显示静态信息的网络演化到对股票进行交易和进行购书操作的一个基础设施。在各种各样的应用程序中,对于可能使用的基于Web的客户端,看上去没有任何限制。基于浏览器客户端的应用程序比传统的基于客户机/服务器的应用程序有几个好处。这些好处包括几乎没有限制的客户端访问和极其简化的应用程序部署和管理(要更新一个应用程序,管理人员只需要更改一个基于服务器的程序,而不是成千上万的安装在客户端的应用程序)。这样,软件工业正迅速地向建造基于浏览器客户端的多层次应用程序迈进。这些快速增长的精巧的基于Web的应用程序要求开发技术上的改进。静态HTML对于显示相对静态的内容是不错的选择;新的挑战在于创建交互的基于Web的应用程序,在这些程序中,页面的内容是基于用户的请求或者系统的状态,而不是预先定义的文字。对于这个问题的一个早期解决方案是使用CGI-BIN接口;开发人员编写与接口相关的单独的程序,以及基于Web的应用程序,后者通过Web服务器来调用前者。这个方案有着严重的扩展性问题——每个新的CGI要求在服务器上新增一个进程。如果多个用户并发地访问该程序,这些进程将消耗该Web服务器所有的可用资源,并且系统性能降低到极其低下的地步。某些Web服务器供应商已经尝试通过为他们的服务器提供“插件”和API来简化Web应用程序的开发。这些解决方案是与特定的Web服务器相关的,不能解决跨多个供应商的解决方案的问题。例如,微软的Active Server PagesTM(ASP) 技术使得在Web页面上创建动态内容更加容易,但是也只能工作在微软的IIS和Personal Web Server上。还存在其他的解决方案,但是都不能使一个普通的页面设计者能够轻易地掌握。例如,象Java Servlets这样的技术就可以使得用Java语言编写交互的应用程序的服务器端的代码变得容易。一个Java Servlets就是一个基于Java技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。开发人员能够编写出这样的Servlet,以接收来自Web浏览器的HTTP请求,动态地生成响应(可能要查询数据库来完成这项请求),然后发送包含HTML或xml(标准化越来越近了)文档的响应到浏览器。采用这种方法,整个网页必须都在Java Servlet中制作。如果开发人员或者Web管理人员想要调整页面显示,就不得不编辑并重新编译该Java Servlet,即使在逻辑上已经能够运行了。采用这种方法,生成带有动态内容的页面仍然需要应用程序的开发技巧。

  很显然,目前所需要的是一个业界范围内的创建动态内容页面的解决方案。这个方案将解决当前方案所受到的限制,即:

  能够在任何Web或应用程序服务器上运行

  将应用程序逻辑和页面显示分离

  能够快速地开发和测试

  简化开发基于Web的交互式应用程序的过程

  JavaServer Pages (JSP)技术就是被设计用来满足这样的要求的。JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。

  Web应用开发的JavaServer Pages技术方法

  将内容的生成和显示进行分离

  使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。

  强调可重用的组件

  绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

  采用标识简化页面开发

  Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。

  通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。

  JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。当与Java 2平台,企业版(J2EE)和Enterprise JavaBean技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。

  JSP页面看上去象什么?

  JSP页面看上去象标准的HTML和XML页面,并附带有JSP引擎能够处理和抽取的额外元件。通常,JSP元件创建插入最终页面的文本。使用示例是描述JSP技术的最好方法。下面的JSP页面非常简单;它打印带年、当月的天,并且根据时间使用"Good Morning"和"Good Afternoon"对您表示欢迎。

  该页面结合了普通的HTML和大量JSP元件组成。

  对时钟JavaBeans组件的调用

  对一个外部文件的包含(用于著作权信息)

  JSP表达式和脚本

  <HTML>

  <%@ page language=="java" imports=="com.wombat.JSP.*" %>

  <H1>Welcome</H1>

  <P>Today is </P>

  <jsp:useBean id=="clock" class=="calendar.jspCalendar" />

  <UL>

  <LI>Day: <%==clock.getDayOfMonth() %>

  <LI>Year: <%==clock.getYear() %>

  </UL>

  <% if (Calendar.getInstance().get(Calendar.AM_PM) ==== Calendar.AM) { %>

  Good Morning

  <% } else { %>

  Good Afternoon

  <% } %>

  <%@ include file=="copyright.html" %>

  </HTML>

  这个页面包含下面这些组件:

  一个JSP指示将信息传送到JSP引擎。在这个示例中,第一行指出从该页面即将访问的一些Java编程语言的扩展的位置。指示被设置在<%@和%>标记中。

  固定模板数据:所有JSP引擎不能识别的标识将随结果页面发送。通常,这些标识是HTML或者XML标识。在上面的例子中包括无序列表(UL)和H1标识。

  JSP动作或者标识:这些通常作为标准或定制标识被实现,并且具有XML标识的语法。在这个例子中,jsp:useBean标识实例化服务器端的Clock JavaBean。

  一个表达式:JSP引擎计算在<%==和%>标记间的所有东西。在上面的列表项中,时钟组件(Clock)的Day和Year属性值作为字符串返回,并且作为输出插入到JSP文件中。在上面的例子中,第一个列表项是日子,第二个是年份。

  小脚本是执行不为标识所支持的功能或者将所有的东西捆绑在一起的小的脚本。JSP 1.0软件的内置脚本语言是基于Java语言的。在上面示例中的小脚本确定现在是上午还是下午,并且据此来欢迎用户。

  这个例子可能小了一点,但是技术上却不是。从业务上可以将关键的处理封装在服务器端的组件中,并且Web开发人员能够使用熟悉的语法和工具很容易地访问这些信息。基于Java的小脚本提供了一种灵活的方式以执行其他功能,而不要求扩展的脚本语言。页面作为整体是可读和可理解的,这就使得查找或者预防问题以及共享工作更加容易。

  这些组件中的一部分在下面有更详细的描述。

  JSP指示

  JSP页面使用JSP指示将指令传递到JSP引擎。这其中包括:

  JSP页面指示传递页面相关的信息,例如缓冲区和线程信息或者出错处理。

  语言指示指定脚本语言,以及所有的扩展。

  包含指示(在上面例子中有显示)可以被用来在页面中包含一个外部的文档。一个好的例子是著作权文档或者公司信息文档——在一个集中地点保存该文档并且在页面中包含比在各个JSP页面中更新要容易些。当然,被包含的文件也可能是另一个JSP文件。

  标识库指示指出页面可以调用的一个客户标识库。

  JSP标识

  绝大多数JSP处理将通过与JSP相关的基于XML的标识完成。JSP 1.0中包含大量标准标识,这些标识作为核心标识包括:

  jsp:useBean 这个标识声明对一个JavaBeans组件实例的使用。如果该组件的实例不存在,JavaBeans组件将实例化和注册这个标识。

  jsp:setProperty 这个标识在组件的实例中设置一个属性的值。

  jsp:getProperty 这个标识获取一个组件的实例的属性值,将其转化为字符串,并且将它放入隐含对象"out"中。

  jsp:include

  jsp:forward

  1.1版本将包含更多的标准标识。识的好处在于它们易于在应用程序间使用和共享。基于标识的语法的真正威力来自于客户标识库的开发,使得工具供应商或其他人员能够为特定的要求创建和分派标识。

  脚本元件

  JSP页面可以在页面中包含小的脚本,称之为小脚本(scriptlets)。小脚本是一个代码片段,在请求的处理过程中被执行。小脚本可以和页面中的静态元件组合(正如上面的例子一样)起来创建动态生成的页面。脚本在<%和%>标志中被描述。在这对标志中的所有东西都会被脚本描述语言引擎执行,在我们的例子中是主机上的Java虚拟机。JSP规范支持所有常用的脚本元件,包括表达式和声明。

  JSP页面的应用模型

  JSP页面由JSP引擎执行,引擎安装在Web服务器或者使用JSP的应用服务器上。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面给客户端的响应。JSP页面通常被编译成为Java Servlet。后者是一个标准的Java扩展。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlet类,并且存储在服务器的内存中。这使得在接下来的对该页面的调用有非常快的响应。(这避免了CGI-BIN为每个HTTP请求生成一个新的进程的问题,或是服务器端引用所引起的运行时语法分析。)JSP页面可以包含在多种不同的应用体系结构或者模型中。JSP页面可以用于由不同协议、组件和格式所组成的联合体中。

  在一个简单实现中,浏览器直接调用JSP页面,JSP页面自己生成被请求的内容(可能会调用JDBC直接从数据库中获取信息)。JSP页面能够调用JDBC或者Java BlendTM组件来生成结果,并且创建标准的HTML,作为结果发送回浏览器。这个模型基本上用JSP页面(编译成为Java Servlet)代替了CGI-BIN概念。这个方法拥有下列优点:

  简单而快速地编程

  页面作者可以很容易地根据请求和资源状态生成动态内容。这个结构在许多应用上工作良好,但不能扩展到大量的基于Web的并发客户访问稀少的企业资源,因为每个客户必须建立或者共享一个到可用内容资源的连接。例如,如果JSP页面访问数据库,可能生成许多到数据库的连接,这将影响到数据库的性能。

  使用Java Servlet的一个灵活的应用

  在另一种可能的配置中,基于Web的客户机可能直接对Java Servlet进行请求,Servlet生成动态内容,将结果捆绑到一个结果对象中并且调用JSP页面。JSP页面从该对象中访问动态内容,并且将结果(例如HTML)发送回浏览器。这个方法创建了更多的可以为应用程序间共享的可重用的组件,并且可以作为更大的应用的一部分完成。但是,在处理如数据库一样的企业资源的连接时,还是存在扩展性问题。

  采用企业级JavaBean技术的可扩展处理

  JSP页面也可以作为企业级JavaBean(EJB)体系结构中的一个中间层。在这种情况下,JSP页面和后端资源通过EJB组件进行交互。EJB组件管理对后端资源的访问,从而为众多的并发使用者提供可扩展的性能。对于电子商务或者其他应用,EJB管理交易和潜在的安全性。这将简化JSP页面。这个模型将为Java 2企业版(J2EE)平台所支持。

  JSP页面与XML技术的集成

  JSP页面可以用于生成XML和HTML页面。对于简单的XML生成,开发人员可以包含XML标识和JSP页面的静态模板部分。对于动态XML生成,使用基于服务器的对象和生成XML输出的客户化标识。JSP页面与XML工具不是不兼容的。JSP规范同时也提供了一个机制以便于创建任意JSP页面的一个XML版本。通过这种方法,XML工具能够创作和操作JSP页面。通过将JSP标识和元件转换为与XML兼容的对等物,可以使用基于XML的工具来操作JSP页面。例如,脚本可以被包含在<%和%>之中,或者基于XML标志的<jsp:scriptlet>和</jsp:scriptlet>中。事实上,经过下面这样简单的几步将JSP页面转换为XML页面是可能的,这些步骤包括:

  增加一个JSP根元件

  将元件和指示转换为XML兼容的对等物

  为页面上其他的元件(通常非JSP)创建CDATA元件

  通过这个与XML兼容的方法,创建HTML页面的设计者仍然拥有一个快速创建动态Web页面的易用环境,同时,基于XML的工具和服务可以与JSP页面集成并且和JSP兼容的服务器一起工作。

  JSP技术的未来

  JSP技术被设计为一个开放的,可扩展的建立动态Web页面的标准。开发人员可以使用JSP页面来创建可移植的Web应用,在不同的Web和应用服务器上为不同的场合所运行,而不论采用什么适合本身场合和需要的创建工具。JSP规范的1.0版本是通向动态Web页面生成的一个开放的工业标准方法的第一步。1.0版本通过一个核心标识集、隐含对象以及开始创建动态Web页面所需的基本功能构成了该方法的基础。已经有几个Web服务器,应用服务器和开发工具供应商正在为他们的产品添加JSP1.0的支持,这样在业界已经拥有了最初的、立即的支持。

jsp主机与asp主机的区别和支持分析相关推荐

  1. asp php都支持的主机,Asp虚拟主机与php主机有什么区别?Asp虚拟主机适合哪些网站?...

    购买过虚拟主机的朋友应该都知道,在我们选择主机方案时,一般主机商都会问我们选择PHP语言,还是ASP语言.那么,这两者之间到底有啥区别呢? Asp虚拟主机与php主机的区别 其实,PHP和ASP是两种 ...

  2. linux主机 asp主机 java主机 区别,计算机中支持asp的主机是什么操作系统

    计算机中支持asp的主机是什么操作系统 发布时间:2021-03-17 14:35:51 来源:亿速云 阅读:110 作者:小新 栏目:云计算 这篇文章给大家分享的是有关计算机中支持asp的主机是什么 ...

  3. Linux主机和Windows主机有什么区别?

    现在市场上大多数主机服务器都支持Windows和Linux系统,那么到底是选Linux主机和Windows主机好?两者有什么区别?下面来看下. Linux主机和Windows主机的区别: 1.易用性 ...

  4. 虚拟云服务器有哪些,虚拟云主机和服务器有什么区别

    虚拟云主机和服务器有什么区别?不管是放网站程序,还是数据库,或者是各种软件等,都需要先选择一个适合的空间去储存这些信息.现在,选择云主机和独立服务器的客户都比较多,两者有什么使用区别呢. 虚拟云主机和 ...

  5. 1gb 云服务器 和2gb的区别_(12)虚拟主机/VPS/云主机/服务器有什么区别?

    有很多刚入门的站长搞不清楚虚拟主机/VPS/云主机/服务器有什么区别?这篇文章就来以租办公室为例,形象的说一下它们的区别. 首先说明一下文章里VPS/云主机不分开说明,其实是不同的,但是对于浅显的区分 ...

  6. 私有云 虚拟服务器 区别,虚拟主机介绍 虚拟主机是不是私有云

    虚拟主机介绍 虚拟主机是不是私有云 分类:虚机资讯 编辑: 浏览量:100 2021-07-19 16:52:18 和云服务器.云空间.云计算等等一样,虚拟主机也是网络链接不可缺少的一部分.那你真的了 ...

  7. 虚拟主机和服务器有啥区别,虚拟主机和服务器的区别在哪?

    随着互联网时代的快速发展,各行各业的网站都在不断丰富我们的日常生活.企业建网站是为了给用户提供便利,同时也给自己带来利润.而建设这些网站往往需要一些工具来扩展网站空间,比如虚拟主机和服务器.我相信很多 ...

  8. 云主机是不是服务器?云主机和服务器有什么区别?

    玩独立博客的站长应该都会接触到这些名词,如虚拟主机.VPS 主机.云主机.云服务器.服务器等,有些站长不是很清楚云主机.云服务器和服务器的定义及区别,今天老古就跟大家简单说一下它们的定义及区别. 云计 ...

  9. 阿里云虚拟主机共享和独享区别对比

    阿里云独享云虚拟主机和共享虚拟主机有什么区别?共享和独享主要表现在CPU内存资源和带宽方面,独享云虚拟主机独享服务器资源,不存在资源争抢性能更稳定,共享虚拟主机是共享IP地址,多用户共享同一台服务器资 ...

  10. idc服务器租用和虚拟主机区别,云主机与虚拟主机及IDC(托管服务器)的区别

    云主机与虚拟主机及IDC(托管服务器)的区别 我们的很多客户朋友在试用我们云主机后,告诉我们,放在云主机上的网站不比放在虚拟主机上快多少,我为什么买云主机? 针对该问题,我们非常理解客户朋友的心情和直 ...

最新文章

  1. AI时代,企业如何利用机器学习技术驱动业务发展?
  2. Python pip工具初步学习
  3. 多线程利器-队列(queue)
  4. mybatis多对一处理两种处理方式
  5. Android studio 混淆打包 proguard-rules.pro 与 bulid.gradle 配置总结
  6. centos7 关闭防火墙和selinux
  7. JVM——jinfo命令使用及GC日志分析
  8. 深度学习图像超分辨率最新综述:从模型到应用
  9. 02头文件的冲突导致,清除缓冲区失败之cin.ignore() 问题
  10. Codevs 3269 混合背包(二进制优化)
  11. Idea编译提示Java找不到符号解决方式
  12. 快速定位到上次编辑位置
  13. 使用Git Bash的scp复制文件到Linux
  14. 使用太乐地图下载器下载cesium适用瓦片
  15. ubuntu下安装(二)印象笔记(中国版而不是国际版)
  16. 如何去除ul小圆点的html,html里面ul那个点怎么消
  17. 盘一盘 这些深度学习框架够你用一年
  18. 数值计算方法【误差和有效数字】(1/7)
  19. Android仿简历生成图片功能,Android 根据View生成图片简易参考
  20. Android绘图之LinearGradient线性渐变(9)

热门文章

  1. Make the Team(匈牙利算法)
  2. MeshBaker插件 使用套路
  3. Ubuntu无法切换中文输入法的解决方法
  4. 洛谷 P2466 Sue的小球 解题报告
  5. Microsoft store 提示检查网络(Error :0x80072EFD),总有一种方法适合你!
  6. html电话号码隐藏样式,打电话不显示号码怎么设置(教你打电话隐藏号码)
  7. python打印星号三角形图案
  8. YUV播放器支持10bit视频
  9. 从再生龙(clonezilla)镜像直接提取文件
  10. dto转化 vo_VO(DTO)与PO(DAO)之间的转换