综述:JSWDK、Tomcat由于运行所需的资源较少,以及自身的易用性,正受到越来越多的JSP学习者的青睐。 但在整个JSP世界中它们并不是一支独秀,支持JSP的服务器软件有很多,它们主要应用于商业领域,其中最重要的要属Allaire
Jrun、IBM Websphere以及BEA Weblogic。
一、Allaire Jrun
Allaire公司的JRun是一个具有最广阔适用性的Java引擎,用于开发及实施由Java Servlets(JSP)和JavaServer
Pages编写的服务器端Java应用。 JRun是第一个完全支持JSP 1.0
规格书的商业化产品,目前共有3个版本,全球有超过80,000名开发人员使用Jrun,以在他们已有的Web服务器上添加服务器端Java的功能。其中Web服务器包括了Microsoft
IIS、Netscape Enterprise Server,Apache等。
JSP是一种强大的服务器端技术,它是用于创建复杂Web应用的一整套快速应用开发系统。
详细产品信息
JRun是开发实施服务器端Java的先进引擎。我们可以使用Jrun来运行Java Servlets。运行Java
Servlets有两种方法,扩展自己的Web
服务器或是使用内置JRun的Web服务器。通过在整个环境中将servlets作为一个可扩展的、完整定义过的Java部件模型来使用,我们就可以更加方便、快速的开发、实施复杂的应用,维护起来也更加经济。
JRun可以使你开始开发并测试Java应用程序。它最多能接受5个并发的连接(标准版)并且:
1.包括全部Java Servlet
API 2.支持JavaServer Pages(JSP) 3.支持所有主要的Web servers和计算机平台 4.JRun
Pro能够在生产环境下承受大访问量的负载,帮助你实施应用、服务或Web站点(包括内联网)。JRun Pro
支持无限量并发式连接 5.运行多个Java虚拟机,包括多个并发的Java虚拟机(JVM)。 6.提供一个远程管理applet以及一个远程可再分布式的管理applet。 7.JRun
Pro Unlimited包括了JRun Pro的所有功能,除此以外,还可以运行无限量的、并发的JVM。
JRun 功能介绍
利用Java技术,你可以在现有的Web
server之上添加服务器端的Java功能,JRun所支持的Web服务器包括Microsoft IIS和Personal Web
Server,Netscape的Enterprise或FastTrack,Apache,
O'Reilly公司的WebSite以及StarNine公司的WebSTAR。 JRun依靠其内置的JRun Web
Server可以单独运行。使用服务器端Java,用户可以开发出复杂的商业应用系统。最重要的一点是,由于servlets的平台独立性,以及更加简单的开发、更快速的实施、更经济的维护成本,使它成为CGI(Common
Gateway Interface)或Perl scripts的极佳的替代产品。 另外,JRun 2.3可以全面实施最新Java Servlet
API。同时,JRun还可以利用Java Web Server中的许多先进功能。一些JRun2.3的重要功能列举如下:
1.全面支持Java
Servlet API version2.1 2.全面支持JavaServer Pages(JSP)1.0 draft spec 3.动态
taglets 4.提供现成模板 5.页面编辑 6.dynamic-servlet重载 7.Servlet-initialization属性 8.Servlet
串联及过滤 9.多个宿主(虚拟主机)支持 10.
tag支持 11.任务跟踪 12.安装向导 13.复杂的Swing-based管理应用 14.100%纯粹Java以及完全跨平台 15.可运行于任何Java
Virtual Machine 16.最多运行于5台Java Virtual machine(JRun
Pro) 17.可运行于无限多个Java Virtual machine(JRun Pro Unlimited) 18.远程管理(JRun
Pro)
技术优势
Java Servlets是由Java Servlet
API--Java平台的一部分,编写成的独立跨平台的服务器端程序。Java
Servlets拥有"一次编写,随处运行"的强大力量,同时具备网络传递安全性以及对服务器端应用提供了良好伸缩性。Servlets可以替代传统的由Perl,C/C++或其他语言编写的服务器端应用及扩展程序。用户将Servlet作为一个可扩展的,定义良好的跨平台环境来运用,能够更加方便的开发、快速实施服务器端复杂的应用,并节省维护成本。(可以在廉价的Windows
NT机器上部署servlets) 使用现有的成熟的服务器技术,例如Web
服务器中结合servlets,当编写复杂的应用时,就可以避免特定服务器配置中平台的局限性及复杂性。使用Servlets,开发人员就不必再顾虑服务器的内部工作方式。servlets
API内在的classes能够控制Form 数据,server
header,cookies等所有资源。 现有服务器端应用和servlets的最大区别就是性能。在服务器中运行一个独立的JVM,servlet一旦被呼叫即被载入。直到servlets改变时才会被再次载入。无须重新启动服务器或应用,一个被修改过的servlet就可以被自动加载。由于servlet永远驻留在内存中,它的加载速度极快。静态或永久信息可以通过多个激活的servlet
达到共享,并且允许多个用户之间共享信息。Servelet也是模块化的,它们即可以单独的完成一项特定任务,同时也可以结合在一起工作。
servlets彼此可以互相对话。
JRun支持的Web Server :
1.Microsoft's Internet
Information Server (IIS) and Personal Web Server (PWS) 2.Netscape's
Enterprise and FastTrack Servers 3.Apache 4.'Reilly's WebSite
Pro 5.StarNine's WebSTAR 6.Novell Netware 5
(Novonyx)
二、Websphere
WebSphere是互连网基础架构软件。它可以帮助企业实现下一代电子商务应用的开发、部署和集成,如B2B电子商务方面的应用。通过企业级事务处理,WebSphere可以从单一Web发布支持所有的商务应用。WebSphere改变了企业自身与客户、合作伙伴以及企业员工之间的关系管理方式。
有关
Websphere
的常见问题解答
问:如何使Web应用程序挑出不属于servlet或EJB的新类文件? 答:在配置Web应用程序时,指定包含servlet及其非servlet
Java 组件的应用程序类路径。类加载程序监视应用程序类路径,一旦检测到已经对加载的
servlet进行了更新,它就会重新加载该应用程序类路径中的所有Java组件。在WebSphere
3管理控制台中,可使用"拓扑(topology)"标签,访问您的Web应用程序,例如,default_app。在"高级
(advanced)"标签中指定类路径(可重新加载的类路径)。这些类应该物理地驻留在这里指定的路径中。
问:在我要调用jar文件中的一个类时,为什么发生ClassNotFound异常错误? 答:在您要调用位于jar文件中的一个类时,请确保在类路径中包括jar文件的完整路径。
问:在WebSphere中模型和克隆的概念是什么? 答:在您想要创建同WebSphere Application
Server中部署的应用程序几乎完全相同的副本时,您可创建一个称为模型的应用程序模板。如果您部署了这些应用程序副本,这些副本则称为克隆。此技巧用于服务器的工作量管理。
问:是否可以清除我的WebSphere服务器上的日志文件而无需停止应用程序服务器?
答:不可以,您不能在应用程序服务器运行期间删除或编辑日志文件。如果您这样做,则应用程序服务器将停止写入日志。AIX和Solaris平台允许您编辑或删除日志文件,而不会出现任何错误消息,然而应用程序服务器将停止使用日志文件。Windows
NT平台将给予您一条消息:此文件正在被另一个进程使用。清除日志的推荐方法是先停止应用程序服务器,然后删除或者重命名或移动日志并重新启动应用程序服务器。如果在应用程序服务器启动时日志文件不存在,它将创建这些日志文件。
问:应该在何处指定仅在服务器启动时加载一次的类? 答:当您安装此产品时,将自动设置应用程序服务器类路径。类路径的缺省设置包含所有的应用程序服务器API(AS_install_root\lib
目录中的JAR文件)。在应用程序服务器启动时,系统类加载程序将自动加载应用程序服务器类路径中的类。这些类不能重新加载。您也可以通过在应用程序服务器"常规
(general)"页上的命令行参数中指定类路径将类路径传递到应用程序服务器的JVM中。
问:因为我的DB2用户标识和口令与在WebSphere安装期间所指定的不同,所以我的WebSphere应用程序服务器无法启动。怎样才能在不重新安装WebSphere的情况下更改用户标识和口令? 答:您可以通过更改admin.config文件中的以下各行来更改WebSphere应用程序服务器中数据库的用户标识和口令:
com.ibm.ejs.sm.adminServer.dbUser=db2userid com.ibm.ejs.sm.adminServer.dbPassword=db2password
或者,您可以在数据库中创建另一个用户,使其用户标识和口令与WebSphere中的相同。
问:如何保护一个HTML页(假定安全已经配置)? 答:请执行以下步骤: 1.创建一个企业应用程序。 2.将权限分配给企业应用程序(各组分别具有何种访问权限)。 3.创建一个资源,即HTML文件的URI。 4.将资源添加到企业应用程序中。 5.为此资源指定安全映射。
问:在我要访问刚创建的JSP时为什么会出现错误? 答:请确保您已正确地指定了Web应用程序路径(您在浏览器中所键入的内容)和文件系统路径(Web应用程序查找的地方)。文件系统路径是文档根目录和Web应用程序(处于高级之下)的类路径。文档根目录控制可在何处找到HTML和JSP文件。类路径控制servlet(如果可以按类名加载servlet的话)。
问:WebSphere Connection Manager是否支持数据库存储过程? 答:支持,WebSphere Application
Server支持JDBC模型。此模型提供优化数据库访问的功能。利用数据库存储过程是其中的功能之一。WebSphere Application
Server在ConnectionManager中通过提供com.ibm.db.CallableStatement 类访问存储过程而扩展了JDBC的功能。
问:WebSphere Application
Server用来存储用户概要信息的数据库表的名称是什么? 答:此表的名称是User_Profile_Table,位于WAS数据库之中。
问:使用WebSphere Connect Manager(数据源)访问数据库并执行一个servlet时,我为什么会得到错误SQL1046N:授权
ID
无效? 答:有几种原因可能导致此错误发生: 1.用户标识未授权与数据库进行连接。 2.连接指定的用户标识未授权执行指定的功能。 3."IBM
WS AdminServer"服务"Startup - Log on as"参数被定义为"System Account"或用户没有适当权限的"This
Account"。 4.在servlet或EJB实现getConnection方法而不传递用户标识和口令时会经历此错误的结果。因为getConnection方法将使用在实现servlet或EJB例程的环境中定义的用户标识和口令。
要解决此错误:
1.指定授权的用户标识和口令以连接到数据库。 2.确保或赋予该用户标识权限以执行特定的功能。 3.如果您在将用户标识和口令传递给getConnection方法,请确保正在传递正确值,在类中定义变量,变量是通过ResourceBundle属性文件传递的,等等。 4.如果您不是在将用户标识和口令传递给getConnection方法,请确保"IBM
WS AdminServer"服务"Startup - Log on as"参数指定了一个授权用户。
问:如何控制WebSphere所使用的端口? 答:WebSphere管理服务器使用两个端口:引导程序端口和LSD端口。缺省情况下,引导程序端口为900,LSD端口为9000。如果您希望在UNIX上不以root用户的身份来运行WebSphere,则必需更改引导程序端口。如果您遇到一个与端口
9000 冲突的端口,则您必须更改LSD端口。编辑admin.config
文件并添加下面这些属性,可以控制各端口:com.ibm.ejs.sm.adminServer.lsdPort=9005(缺省值为
9000)com.ibm.ejs.sm.adminServer.bootstrapPort=9002(缺省值为 900)
问:使用WebSphere
Administration控制台时,如何避免使会话无效? 答:在会话管理器(在servlet引擎中)中,单击"时间间隔
(intervals)"标签。在"无效时间"字段中输入值"-1"。这将确保不会使会话无效。
问:WebSphere Application Server如何与Web服务器进行通信? 答:WebSphere Application
Server使用OSE (Open Servlet Engine) 与Web服务器进行通信。
问:如何更改WebSphere的类路径? 答:您可以通过WebSphere Application
Server的属性表向其类路径进行添加。要替换类路径,请单?quot;常规 (general)"标签上的"环境
(environment)"字段,以启动属性环境编辑器。在此编辑器中,更改此类路径或其他环境变量。要添加类路径,请在"命令行参数(command line
arguments)"字段中输入类路径。
问:启动WebSphere时,为什么会得到错误:端口9000正在被使用? 答:端口9000是管理服务器位置服务守候进程的缺省端口。许多系统资源(包括AIXX-windows管理器)也使用端口9000。如果您在AIX上执行./startupServer.sh命令时看到错误消息"端口9000正在被使用
- 选择另一个端口",这时管理服务器进程不能启动,因为端口9000正在被AIX X-windows
管理器使用。通过在管理服务器命令行指定-lsdPort选项更改位置服务守候进程监听的端口,或在admin.config文件(在Windows
NT上位于目录\bin中;在UNIX上位于/bin中)中设置com.ibm.ejs.sm.adminServer.lsdPort属性。
问:我想将WAS管理信息中心库存储在另一台机器上的Oracle数据库中。在将要安装WebSphere Application
Server的机器中我需要安装什么数据库软件? 答:您需要在将要安装WebSphere Application
Server的机器上安装Oracle客户端,并将Oracle客户端配置为可与远程Oracle服务器进行通信。在WebSphere安装过程中,您在本地机器上指定Oracle客户端主目录的路径(例如,x:\Oracle\Ora8i)。
问:将EJB部署到WebSphere容器中时,如何解决NoClassDefFound异常错误? 答:NoClassDefFound异常错误可表明部署工具未能找到部署或配置到WebSphere中EJB的一个或多个支持类。要解决此异常错误,请将带有jar名称的完整jar文件路径添加或附加到带有应用程序服务器命令行-classpath参数的应用程序服务器类路径中。
问:如果修改了一个servlet,是否需要重新启动WebSphere和Web服务器? 答:不需要。您只要对其进行编译,WebSphere(2.02
版本或更高版本)将能够自动加载新的类文件。
有关Websphere Studio的常见问题解答
问:是否可以使用WebSphere Studio
JavaBean向导从一个EJB中创建servlet、输出JSP和输入HTML? 答: 您应该在VisualAge for
Java环境中为EJB创建一个access bean。当创建 access bean时,请选择一个Java bean
wrapper。现在您就可以在WebSphere Studio JavaBean向导中使用该access bean来创建servlet、输出JSP和输入
HTML。如果在您的EJB开发中没有使用VisualAge for Java环境,您就必须编写一个存取EJB的客户端JavaBean,并在WebSphere
Studio中使用该JavaBean。
问:我有一个可以运行在WebSphere测试环境中的.jsp文件,该文件为什么不能在WebSphere Application
Server中运行? 答:原因是WebSphere Application Server配置为与JSP 1.0一起运行,WebSphere
Studio配置为生成0.91版本的JSP。要解决该问题,请更改在 WebSphere Studio中生成的JSP版本:右击在WebSphere
Studio中您所工作的项目在属性下面,选择高级标签。在属性列表中,选择JSP,并选择版本 1.0。
问:如何在WebSphere
Studio中创建一个定制发布阶段? 答:在工具栏中突出显示"projects",并从下拉菜单中选择"customize publishing
stage"。在此窗口中输入阶段名称,并选择"Add"。
问:当我将bean(class 或 jar)文件拖放到WebSphere Studio页面设计器中时,应该会弹出一个JSP:useBean
对话框。但每次都显示小应用程序对话框,如何显示JSP:useBean对话框? 答:在WebSphere
Studio页面设计器工具栏中选择工具,然后选择选项。在选项对话框窗口中,将"HTML element generated for a dropped Java
file"从小应用程序更改为JSP:useBean。
问:在WebSphere Studio中,如何在测试和产品服务器之间切换? 答:在WebSphere
Studio工具栏上,选择项目,然后将发布阶段突出显示。您可以选择测试服务器或产品服务器。
问:在WebSphere Studio中如何定义发布目标? 答:在WebSphere
Studio的发布视窗中,突出显示您所要定义发布目标的服务器。右击该目标并选择属性。在属性窗口中,单击"define publishing
targets"。在发布目标窗口中,可以添加、编辑或删除发布目标。
问:在WebSphere Studio中如何启动新(空)HTML页? 答:在WebSphere
Studio中要创建新(空)HTML页,单击"选择(select)","插入(insert)","文件(file)"。当插入文件对话框出现时,选择空HTML。然后选择文件名下面的"确定(OK)"。您以后还可以对已经创建的HTML文件进行更名。
问:在WebSphere Studio中,如何关闭 HTML
语法错误自动校正功能? 答:在WebSphere页面设计器工具栏上选择工具,然后选择选项。在选项窗口的常规标签上,去除"correct HTML
syntax errors automatically"选中状态。
问:如何能够在VisualAge for Java 3.0和WebSphere Studio 3.0之间进行文件交换? 答:首先必须确保VAJ和WebSphere
Studio都在运行。然后执行下列操作:在VisualAge for
Java环境中,找到workbench菜单栏,并单击:窗口(windows),选项(options)。在选项对话框中展开"visual
composition"并选择"remote access to tool API"。在此过程中,选择推按钮,启动"remote access to tool
API"。切换到WebSphere Studio workbench,选择一个项目或文件夹,该项目或文件夹将装入您从VisualAge for
Java环境中复制的文件。用鼠标右键激活项目或文件夹的上下文菜单,然后选择:"插入(insert)","文件(file)"。选择"标签
(tab)","从外部数据源(from external source)"。在供应者区域,选择VisualAge for Java。要选择用于调入的Java
文件,请按 [1] [2] 下一页 没有相关教程
|