综述JSWDKTomcat由于运行所需的资源较少以及自身的易用性正受到越来越多的JSP学习者的青睐
但在整个JSP世界中它们并不是一支独秀支持JSP的服务器软件有很多它们主要应用于商业领域其中最重要的要属Allaire JrunIBM Websphere以及BEA Weblogic
一Allaire Jrun
Allaire公司的JRun是一个具有最广阔适用性的Java引擎用于开发及实施由Java Servlets(JSP)和JavaServer Pages编写的服务器端Java应用
JRun是第一个完全支持JSP 规格书的商业化产品目前共有个版本全球有超过名开发人员使用Jrun以在他们已有的Web服务器上添加服务器端Java的功能其中Web服务器包括了Microsoft IISNetscape Enterprise ServerApache等 JSP是一种强大的服务器端技术它是用于创建复杂Web应用的一整套快速应用开发系统
详细产品信息
JRun是开发实施服务器端Java的先进引擎我们可以使用Jrun来运行Java Servlets运行Java Servlets有两种方法扩展自己的Web 服务器或是使用内置JRun的Web服务器通过在整个环境中将servlets作为一个可扩展的完整定义过的Java部件模型来使用我们就可以更加方便快速的开发实施复杂的应用维护起来也更加经济
JRun可以使你开始开发并测试Java应用程序它最多能接受个并发的连接(标准版)并且
.包括全部Java Servlet API
.支持JavaServer Pages(JSP)
.支持所有主要的Web servers和计算机平台
.JRun Pro能够在生产环境下承受大访问量的负载帮助你实施应用服务或Web站点(包括内联网)JRun Pro 支持无限量并发式连接
.运行多个Java虚拟机包括多个并发的Java虚拟机(JVM)
.提供一个远程管理applet以及一个远程可再分布式的管理applet
.JRun Pro Unlimited包括了JRun Pro的所有功能除此以外还可以运行无限量的并发的JVM
JRun 功能介绍
利用Java技术你可以在现有的Web server之上添加服务器端的Java功能JRun所支持的Web服务器包括Microsoft IIS和Personal Web ServerNetscape的Enterprise或FastTrackApache OReilly公司的WebSite以及StarNine公司的WebSTAR
JRun依靠其内置的JRun Web Server可以单独运行使用服务器端Java用户可以开发出复杂的商业应用系统最重要的一点是由于servlets的平台独立性以及更加简单的开发更快速的实施更经济的维护成本使它成为CGI(Common Gateway Interface)或Perl scripts的极佳的替代产品
另外JRun 可以全面实施最新Java Servlet API同时JRun还可以利用Java Web Server中的许多先进功能一些JRun的重要功能列举如下
.全面支持Java Servlet API version
.全面支持JavaServer Pages(JSP) draft spec
.动态 taglets
.提供现成模板
.页面编辑
.dynamicservlet重载
.Servletinitialization属性
.Servlet 串联及过滤
.多个宿主(虚拟主机)支持
. tag支持
.任务跟蹤
.安装向导
.复杂的Swingbased管理应用
.%纯粹Java以及完全跨平台
.可运行于任何Java Virtual Machine
.最多运行于台Java Virtual machine(JRun Pro)
.可运行于无限多个Java Virtual machine(JRun Pro Unlimited)
.远程管理(JRun Pro)
技术优势
Java Servlets是由Java Servlet APIJava平台的一部分编写成的独立跨平台的服务器端程序Java Servlets拥有"一次编写随处运行"的强大力量同时具备网络传递安全性以及对服务器端应用提供了良好伸缩性Servlets可以替代传统的由PerlC/C++或其他语言编写的服务器端应用及扩展程序用户将Servlet作为一个可扩展的定义良好的跨平台环境来运用能够更加方便的开发快速实施服务器端复杂的应用并节省维护成本(可以在廉价的Windows NT机器上部署servlets)
使用现有的成熟的服务器技术例如Web 服务器中结合servlets当编写复杂的应用时就可以避免特定服务器配置中平台的局限性及复杂性使用Servlets开发人员就不必再顾虑服务器的内部工作方式servlets API内在的classes能够控制Form 数据server headercookies等所有资源
现有服务器端应用和servlets的最大区别就是性能在服务器中运行一个独立的JVMservlet一旦被呼叫即被载入直到servlets改变时才会被再次载入无须重新启动服务器或应用一个被修改过的servlet就可以被自动加载由于servlet永远驻留在内存中它的加载速度极快静态或永久信息可以通过多个激活的servlet 达到共享并且允许多个用户之间共享信息Servelet也是模块化的它们即可以单独的完成一项特定任务同时也可以结合在一起工作 servlets彼此可以互相对话
JRun支持的Web Server
.Microsofts Internet Information Server (IIS) and Personal Web Server (PWS)
.Netscapes Enterprise and FastTrack Servers
.Apache
.Reillys WebSite Pro
.StarNines WebSTAR
.Novell Netware (Novonyx)
二Websphere
WebSphere是互连网基础架构软件它可以帮助企业实现下一代电子商务应用的开发部署和集成如BB电子商务方面的应用通过企业级事务处理WebSphere可以从单一Web发布支持所有的商务应用WebSphere改变了企业自身与客户合作伙伴以及企业员工之间的关系管理方式
有关 Websphere 的常见问题解答
问如何使Web应用程序挑出不属于servlet或EJB的新类文件?
答在配置Web应用程序时指定包含servlet及其非servlet Java 组件的应用程序类路径类加载程序监视应用程序类路径一旦检测到已经对加载的 servlet进行了更新它就会重新加载该应用程序类路径中的所有Java组件在WebSphere 管理控制台中可使用"拓扑(topology)"标签访问您的Web应用程序例如default_app在"高级 (advanced)"标签中指定类路径(可重新加载的类路径)这些类应该物理地驻留在这里指定的路径中
问在我要调用jar文件中的一个类时为什么发生ClassNotFound异常错误?
答在您要调用位于jar文件中的一个类时请确保在类路径中包括jar文件的完整路径
问在WebSphere中模型和克隆的概念是什么?
答在您想要创建同WebSphere Application Server中部署的应用程序几乎完全相同的副本时您可创建一个称为模型的应用程序模板如果您部署了这些应用程序副本这些副本则称为克隆此技巧用于服务器的工作量管理
问是否可以清除我的WebSphere服务器上的日志文件而无需停止应用程序服务器?
答不可以您不能在应用程序服务器运行期间删除或编辑日志文件如果您这样做则应用程序服务器将停止写入日志AIX和Solaris平台允许您编辑或删除日志文件而不会出现任何错误消息然而应用程序服务器将停止使用日志文件Windows NT平台将给予您一条消息此文件正在被另一个进程使用清除日志的推荐方法是先停止应用程序服务器然后删除或者重命名或移动日志并重新启动应用程序服务器如果在应用程序服务器启动时日志文件不存在它将创建这些日志文件
问应该在何处指定仅在服务器启动时加载一次的类?
答当您安装此产品时将自动设置应用程序服务器类路径类路径的缺省设置包含所有的应用程序服务器API(AS_install_rootlib 目录中的JAR文件)在应用程序服务器启动时系统类加载程序将自动加载应用程序服务器类路径中的类这些类不能重新加载您也可以通过在应用程序服务器"常规 (general)"页上的命令行参数中指定类路径将类路径传递到应用程序服务器的JVM中
问因为我的DB用户标识和口令与在WebSphere安装期间所指定的不同所以我的WebSphere应用程序服务器无法启动怎样才能在不重新安装WebSphere的情况下更改用户标识和口令?
答您可以通过更改adminconfig文件中的以下各行来更改WebSphere应用程序服务器中数据库的用户标识和口令
comibmejssmadminServerdbUser=dbuserid
comibmejssmadminServerdbPassword=dbpassword
或者您可以在数据库中创建另一个用户使其用户标识和口令与WebSphere中的相同
问如何保护一个HTML页(假定安全已经配置)?
答请执行以下步骤
.创建一个企业应用程序
.将权限分配给企业应用程序(各组分别具有何种访问权限)
.创建一个资源即HTML文件的URI
.将资源添加到企业应用程序中
.为此资源指定安全映射
问在我要访问刚创建的JSP时为什么会出现错误?
答请确保您已正确地指定了Web应用程序路径(您在浏览器中所键入的内容)和文件系统路径(Web应用程序查找的地方)文件系统路径是文档根目录和Web应用程序(处于高级之下)的类路径文档根目录控制可在何处找到HTML和JSP文件类路径控制servlet(如果可以按类名加载servlet的话)
问WebSphere Connection Manager是否支持数据库存储过程?
答支持WebSphere Application Server支持JDBC模型此模型提供优化数据库访问的功能利用数据库存储过程是其中的功能之一WebSphere Application Server在ConnectionManager中通过提供comibmdbCallableStatement 类访问存储过程而扩展了JDBC的功能
问WebSphere Application Server用来存储用户概要信息的数据库表的名称是什么?
答此表的名称是User_Profile_Table位于WAS数据库之中
问使用WebSphere Connect Manager(数据源)访问数据库并执行一个servlet时我为什么会得到错误SQLN授权 ID 无效?
答有几种原因可能导致此错误发生
.用户标识未授权与数据库进行连接
.连接指定的用户标识未授权执行指定的功能
."IBM WS AdminServer"服务"Startup Log on as"参数被定义为"System Account"或用户没有适当权限的"This Account"
.在servlet或EJB实现getConnection方法而不传递用户标识和口令时会经历此错误的结果因为getConnection方法将使用在实现servlet或EJB例程的环境中定义的用户标识和口令
要解决此错误
.指定授权的用户标识和口令以连接到数据库
.确保或赋予该用户标识权限以执行特定的功能
.如果您在将用户标识和口令传递给getConnection方法请确保正在传递正确值在类中定义变量变量是通过ResourceBundle属性文件传递的等等
.如果您不是在将用户标识和口令传递给getConnection方法请确保"IBM WS AdminServer"服务"Startup Log on as"参数指定了一个授权用户
问如何控制WebSphere所使用的端口?
答WebSphere管理服务器使用两个端口引导程序端口和LSD端口缺省情况下引导程序端口为LSD端口为如果您希望在UNIX上不以root用户的身份来运行WebSphere则必需更改引导程序端口如果您遇到一个与端口 沖突的端口则您必须更改LSD端口编辑adminconfig 文件并添加下面这些属性可以控制各端口comibmejssmadminServerlsdPort=(缺省值为 )comibmejssmadminServerbootstrapPort=(缺省值为 )
问使用WebSphere Administration控制台时如何避免使会话无效?
答在会话管理器(在servlet引擎中)中单击"时间间隔 (intervals)"标签在"无效时间"字段中输入值""这将确保不会使会话无效
问WebSphere Application Server如何与Web服务器进行通信?
答WebSphere Application Server使用OSE (Open Servlet Engine) 与Web服务器进行通信
问如何更改WebSphere的类路径?
答您可以通过WebSphere Application Server的属性表向其类路径进行添加要替换类路径请单?quot;常规 (general)"标签上的"环境 (environment)"字段以启动属性环境编辑器在此编辑器中更改此类路径或其他环境变量要添加类路径请在"命令行参数(command line arguments)"字段中输入类路径
问启动WebSphere时为什么会得到错误端口正在被使用?
答端口是管理服务器位置服务守候进程的缺省端口许多系统资源(包括AIXXwindows管理器)也使用端口如果您在AIX上执行/startupServersh命令时看到错误消息"端口正在被使用 选择另一个端口"这时管理服务器进程不能启动因为端口正在被AIX Xwindows 管理器使用通过在管理服务器命令行指定lsdPort选项更改位置服务守候进程监听的端口或在adminconfig文件(在Windows NT上位于目录bin中在UNIX上位于/bin中)中设置comibmejssmadminServerlsdPort属性
问我想将WAS管理信息中心库存储在另一台机器上的Oracle数据库中在将要安装WebSphere Application Server的机器中我需要安装什么数据库软件?
答您需要在将要安装WebSphere Application Server的机器上安装Oracle客户端并将Oracle客户端配置为可与远程Oracle服务器进行通信在WebSphere安装过程中您在本地机器上指定Oracle客户端主目录的路径(例如x:OracleOrai)
问将EJB部署到WebSphere容器中时如何解决NoClassDefFound异常错误?
答NoClassDefFound异常错误可表明部署工具未能找到部署或配置到WebSphere中EJB的一个或多个支持类要解决此异常错误请将带有jar名称的完整jar文件路径添加或附加到带有应用程序服务器命令行classpath参数的应用程序服务器类路径中
问如果修改了一个servlet是否需要重新启动WebSphere和Web服务器?
答不需要您只要对其进行编译WebSphere( 版本或更高版本)将能够自动加载新的类文件
有关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 一起运行WebSphere Studio配置为生成版本的JSP要解决该问题请更改在 WebSphere Studio中生成的JSP版本右击在WebSphere Studio中您所工作的项目在属性下面选择高级标签在属性列表中选择JSP并选择版本
问如何在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 和WebSphere Studio 之间进行文件交换?
答首先必须确保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 文件请按浏览按钮
问在WebSphere Studio中可使用哪种小组开发支持?
答当一个开发小组进行Web项目开发时每个小组成员都可以在他或她的机器上安装一套WebSphere Studio小组能够在网上使用共享库来维护该项目组件WebSphere Studio的workbench维护每个组件的检出/检入状态并显示每个组件状态小组也可以使用常用测试Web站点和产品发布Web站点在发布视窗中进行维护
问当要将Java文件从WebSphere Studio中调出到VisualAge中为什么出现错误发送到Visualage for Java过程中出现的问题调入错误(编译错误检测)?
答该问题是由于要调入项目的关闭版本引起的要创建项目的"open edition"请执行下列操作在VisualAge中选择项目在下拉列表中右击并选?quot;manage"选择"create open edition"
问VisualAge for Java remote access to tool API的端口号存储在哪里?
答端口号存储在ivjtoolstooldatacomibmivjtoolserver 目录中的toolPortproperties文件中当服务器每次启动或关闭时工具服务器更新该文件
问哪种类型的操作可以在WebSphere Studio 和VisualAge for Java 工作区之间进行文件传输?
答下列操作就可在WebSphere Studio 和VisualAge for Java 工作区之间进行文件传输
Add from VAJ(从VAJ中添加)
Update from VAJ(从VAJ中更新)
Send to VAJ(发送到VAJ)
Editing in VAJ(在VAJ中编辑)
Consuming beans created in VAJ(使用在VAJ中创建的beans)
问WebSphere Studio如何确定VisualAge for Java安装的位置?
答在WebSphere Studio从VisualAge for Java安装后的系统注册表中检索到CurrentVersion子键后其版本号用于查找VAJ安装目录系统注册表子键"directory"(在 HKEY_LOCAL_MACHINE software IBM VisualAge for Java install 中)包含VAJ安装目录信息
问VisualAge for Java remote access to tool API能够支持WebSphere Studio的什么功能?
答如果WebSphere Studio 检测到VisualAge for Java软件产品已安装它将安装一些servlet到服务器上WebSphere Studio利用HTTP连接这些servlet来控制WebSphere Studio和VisualAge for Java软件产品之间的文件传输
问我们在局域网中的两台不同的机器中安装了WebSphere Studio 为什么不能在一台机器上打开从另一台机器上创建的项目文件?信息显示某些文件已丢失无效或被破坏
答如果您要访问一个在局域网中的机器上的项目不要选择项目所在的映射驱动器或绝对路径(如x:WebSphereStudioprojectsprojectname)而通过网络邻居选择网络路径(如machinenamewebspherestudioprojectsprojectname)这样您就能够从局域网中的另一台机器上打开项目文件(wao)
问在WebSphere Studio 中可以在不检出状态下打开项目的任意文件吗?
答可以文件将以只读方式打开
问在Websphere Studio中如何将所有项目文件设置为可发布文件?
答突出显示项目文件夹选择编辑然后设置为可发布
问使用WebSphere Studio SQL向导在插入标签中创建一个插入语句在值列中键入参数名当我运行SQL时为什么不显示参数请求?
答您需要使用参数按钮弹?quot;create a new parameter"面板必须指定参数名才能在SQL语句中正确显示
问如何将JSP中向导生成的字段与内容供应者提供的JSP结合起来?
答JavaServer Pages(JSP) 可以在WebSphere Studio页面设计器中编辑在页面设计器中您可以在两个JSP之间进行选择复制并粘贴字段可以在常规模式或HTML源代码模式下进行
有关Websphere Performance Pack的常见问题解答
问什么是IBM WebSphere performance pack高速缓存管理器?
答IBM WebSphere performance pack高速缓存管理器是一个能够提供效能价格合算的代理服务器适用于中小型设备装置它使用IBM Web Traffic Express技术为HTTP请求提供透明代理并可在Windows NT和Linux环境中应用
问运行eNetwork调度程序来实现负载均衡时如果运行该程序的机器出现故障将会出现什么问题?
答如果您正在进行负载均衡并且运行eNetwork调度程序的机器出现故障那么您的Web站点可能无法访问IBM eNetwork调度程序具有高可用性特点即可为另一台机器配置备份调度程序以防止因运行主调度程序的机器出现故障而造成无法访问的情况
三BEA WebLogic
要学习好一套系统首先要了解它的结构现在我们简单介绍WebLogic 的一些结构和特点
WebLogic的大部分配置是在weblogicproperties里完成的只要仔细的研究这个文件就可以清楚得知关于WebLogic的一些结构和特点下面就对weblogicproperties文件里的一些配置项作一些说明
weblogic
这就是WebLogic的WEB服务器的根目录即是目录/weblogic/myserver/public_html/
weblogicpasswordsystem=sdfjkdshfds
这是设置管理员密码
weblogicsystemlistenPort=
这是设置 WebLogic 的WEB服务器端口
weblogic
设置Servlet存放的路径
关于Servlet
出于安全的目的在WebLogic下运行的WebLogic必须在weblogicproperties里登记后才能运行例如上文的提到Servlet http://localhost:/helloWorld它在weblogicproperties里的登记项是
weblogic
实际上这个Servlet的实际路径是
/weblogic/myserver/servletclasses/examples/servlets/HelloWorldServletclass
对照一下weblogicproperties里的登记项和HelloWorldServletclass文件的路径应该不难找出其登记Servlet的规律吧
在weblogicproperties里有一下几个Servlet的登记项
weblogic
weblogic
weblogic
weblogic
weblogic
weblogic
weblogic
这就是管理员管理WebLogic用的Servlet通过URL访问http://localhost: /AdminMain在弹出的身份验证对话框中输入system和在 weblogicpasswordsystem= 设置的密码就可以进入WebLogic的Web管理界面进行管理