http://gceclub.sun.com.cn/staticcontent/html/webservices/web_services_tutorial/3/3.3.htm
Java Web Services Developer Pack包括Tomcat Web 服务器管理工具,后文简称管理工具。管理工具 Web应用程序可用于操作Tomcat的运行。例如,可以添加和(或)配置上下文、主机、成员域和连接器,或者为容器管理安全性设置用户和角色。
为启动admintool,执行下列步骤。
1. 按照启动Tomcat中的说明启动Tomcat。
2. 启动Web浏览器。
3. 在Web浏览器内,指向下列URL:
http://localhost:8080/admin
<user name="adeveloper" password="secret"
roles="admin, manager" />
该命令调用了admin Web应用程序。在使用该应用程序前必须添加用户名/密码组合并将其与角色名admin关联。访问这个工具所需的的初始用户名和密码必须在Java WSDP安装期间设置。如果忘记了用户名和密码,可以用任意的文本编辑器参阅<JWSDP_HOME>/conf/tomcat-users.xml。该文件包含各个用户的元素<user>,该元素可能如下所示:<user name="adeveloper" password="secret"
roles="admin, manager" />
4. 使用分配了admin角色的用户名和密码组合登录到admintool。该用户名和密码必须与build.properties文件中的用户名和密码匹配。
5. 结束时,通过选择上窗格中的Logout来退出管理工具。
本节介绍了如何利用管理工具设置角色、组和用户。比如关于利用管理工具创建、删除、和(或)配置的信息:
· Tomcat服务器。
· 运行在Tomcat服务器上的服务,以及嵌套在这些服务里的各种元素,例如主机、上下文、成员域、连接器、日志记录器以及过滤阀。
· 各种资源例如数据源、环境条目,以及用户数据库。
理解角色、组以及用户
Tomcat服务器验证服务包括下列组件:
· 角色——用于设置具体的资源访问权限的抽象名。角色可比作能开锁的钥匙。许多人可能都配有同样的钥匙,而锁不会考虑你是谁,只要有正确的钥匙就行了。
· 用户——经过验证(关于验证前面章节已讨论过)的个人(或者应用程序)身份。一个用户可以有一系列与他身份相关联的角色,这样他就可以访问所有被保护的资源。
· 组——按照像工种或客户资料这样的普通特性分类的一组验证用户。组还与一组角色关联,并且属于该组的用户继承了所有分配给该组的角色。
· 成员域——角色、用户和组的完整数据库,用于识别Web应用程序的合法用户。
我们将在管理角色和用户一节中详细讨论了这些概念,关于管理工具的更多信息也可以找到。
利用管理工具添加角色
为设置容器管理安全的全新角色,遵循下列说明。管理工具中的添加、删除和改变写在tocamt-users.xml文件中。
1. 向下滚动管理工具的左窗格到User and Group Administration(用户和组管理)节点。
2. 选择Role Administration(角色管理)。
3. 从Roles List(角色列表)中选择Create New Role(创建新角色)。
4. 输入角色名和描述,例如Customer
或User
。
5. 选择Save(保存)。
利用管理工具添加用户
要想为容器管理安全设置新用户,遵循下列说明。管理工具中的添加、删除和改变写在tocamt-users.xml文件中。
1. 向下滚动管理工具的左窗格到User and Group Administration(用户和组管理)节点。
2. 选择User Administration(用户管理)。
3. 从Users List(用户列表)中选择Create New User(创建新用户)。
4. 输入用户名和密码,并为新用户选择一个角色。如果为新用户选择admin角色,该用户将能访问管理工具.
5. 选择Save(保存)。
修改应用程序
由于Java Web Services Developer Pack用于实验目的,它支持重复开发。只要改动了应用程序,就必须重新部署和加载该应用程序。在build.xml文件中定义的任务使得将这些改动部署到ConverterBean和JSP页面变得更简单。
在build.xml文件里,我们设置了一个在运行Tomcat服务器上安装应用程序的目标,和一个在运行Tomcat服务器内重载该应
用程序的目标。这些任务是用Tomcat服务器管理程序工具完成的,该工具是一个manager Web应用程序。可以使用在Java WSDP安装期间设置的用户名/密码组合,因为它能使管理程序的角色名与它关联。如果忘记了在安装期间设置的用户名/密码组合,可以利用任何文本编辑器查阅<JWSDP_HOME>/conf/tomcat/-user.xml。
修改类文件
为了修改Java组件内的类文件,更改源代码,重编译它,然后重新部署应用程序。使用Tomcat manager Web应用程序时,不需要停止并重新启动Tomcat以便重新部署这个更改过的应用程序。例如,假定你想改变ConverterBean组件的yenRate属性中的汇率:
1. 在源目录中编辑ConverterBean.java。
2. 通过输入ant build重新编译ConverterBean.java。
3. 通过输入ant reload重新部署ConverterBean.java。
4. 在Web浏览器中重新加载JSP页面。
修改Web客户端
为了修改JSP页面,更改源代码并重新部署应用程序。使用Tomcat manager Web应用程序时,不需要停止并重新启动Tomcat以便重新部署更改过的Web客户端程序。例如,假定你想修改字体或者在JSP页面中添加另外的描述文本。为了修改Web客户端程序:
1. 在源目录中编辑index.jsp。
2. 通过输入ant reload重新加载Web应用程序。
3. 在Web浏览器里重新加载JSP页面。
常见问题及其解决方案
使用下列指南来解决创建、编译、安装、部署和运行示例应用程序时遇到的问题。
启动Tomcat时的错误
"Out of Environment Space"错误
症状:在基于Microsoft Windows 9x/ME操作系统上,运行启动和关闭批处理文件时候出现“out of environment Space“错误。
解决方案:在Microsoft Windows 资源管理器中,右键单击startup.bat和shutdown.bat文件。选择“属性”,接着选择“内存”选项卡。 将“初始环境”域中的值增加到4096。选择“应用”。
选中“应用”后,在用来启动和停止容器的目录内将生成快捷方式。
"Unable to Locate the Server localhost:8080"错误
症状:试图在浏览器里加载Web应用程序时出现的"unable to locate server"错误。
解决方案:Tomcat的完全加载要花费一些时间,所以在继续疑难解决前首先要保证给Tomcat至少5分钟的加载时间。为了检验Tomcat是否正在运行,将浏览器指向http://localhost:8080。在Tomcat索引屏幕出现时,便可以继续了。如果索引屏幕没有立即加载,等几分钟然后再重试。如果Tomact还没有加载,就像下面描述的那样,点击日志文件以获取更多的疑难解答信息。
Tomcat启动时将初始化自身,然后加载<JWSDP_HOME>/webapps中的所有Web应用程序。当通过调用startup.sh运行Tomcat时,服务器消息被登入到<JWSDP_HOME>/logs/launcher.server.log中。加载Web应用程序的过程可在<JWSDP_HOME>/logs/jwsdp_log.<date>.txt文件中看到。
编译错误
Ant 不能定位生成文件
症状:在输入ant build时,出现如下消息:
Buildfile: build.xml does not exist!
解决方案:从<JWSDP_HOME>/docs/tutorial/sxample/gs/目录启动Ant,或者从创建应用程序的目录。如果希望从当前目录启
动Ant,那么必须在命令行指定生成文件。例如,输入如下命令:
<JWSDP_HOME
>/docs/tutorial/examples/gs/build.xml
编译器不能解析符号
症状:输入ant build时,编译器会报告许多错误,包括:
Compile failed, messages should have been provided
解决方案:确定所使用的Ant版本是与该Java WSDP版本一起发布的。确保这一要求的最好方法是使用Ant文件的完整PATH来构建应用程序,<JWSDP_HOME>/jakarta-ant-1.5.1/bin/ant build。其他版本可能不包括示例应用程序生成文件所期望的所有功能。
“连接拒绝“错误
症状:在终端提示窗口中输入ant install时,收到下列消息:
<JWSDP_HOME>
/docs/tutorial/examples/gs/build.xml:82:
java.net.ConnectException: Connection refused
解决方案:Tomcat没有完全启动。等待几分钟,然后尝试再次安装应用程序。关于Tomcat启动疑难解答的更多信息,参阅无效的本地服务器localhost:8080 。
试图运行安装任务时,系统出现中止
症状:输入ant install时,系统出现了中止。
解决方案:Tomcat启动脚本在后台启动了Tomcat,然后立即将用户返回命令提示行。尽管返回了命令行,但启动脚本可能还没有完全启动Tomcat。如果这个安装任务没有立即运行,等待几分钟后重试安装任务。为了检验Tomact是否在运行,将浏览器指向http://localhost:8080。若出现Tomcat索引屏幕,就可以继续。如果这个闪屏没有立即加载,等待几分钟后重试。如果Tomcat一直没有加载,检查日志文件以获得更多疑难解答信息:
Tomcat启动时先初始化自己,然后加载<JWSDP_HOME>/webapps中的所有Web应用程序。通过调用startup.sh运行Tomcat时,服务器消息已经登入<JWSDP_HOME>/logs/launcher.server.log。加载Web应用程序的过程可在<JWSDP_HOME>/logs/jwsdp_log.<date>.txt文件中看到。
部署错误
Server returned HTTP response code: 401 for URL ...
症状:输入ant install时,出现如下消息:
/home/you/gs/build.xml:44:
java.io.IOException: Server returned HTTP response code: 401
for URL: http://localhost:8080/manager/install?path= ...
解决方案:确定build.properties文件中的用户名和密码与具有tomcat-users.xml文件里manager角色的用户名和密码相匹配。
不能运行客户端应用程序
症状:浏览器报告找不到该页面(HTTP404)。
解决方案:启动脚本在后台启动任务,然后立即将用户返回命令行提示窗口。尽管已经返回命令行,但启动脚本可能还没有
完全启动Tomcat。如果Web客户端没有立即运行,等待几分钟再重试加载Web客户端。
找不到localhost机器
症状:浏览器报告找不到该页面(HTTP404)。
解决方案:有时候,若位于代理服务器和防火墙的后面将不能访问localhost机器。为了解决这个问题,更改代理设置以便不再通过代理访问localhost。
为了在Netscape Navigator 浏览器中实现这一目的,选择Edit -> Preferences -> Advanced -> Proxies ,然后选择 No Proxy for: localhost
。 在 Internet Explorer中,选择 Tools -> Internet Options -> Connections -> LAN Settings。
应用程序没有部署
症状:浏览器报告找不到该页面(HTTP404)。
解决方案:部署应用程序。想了解更多的细节,参阅部署应用程序一节。
"Build Failed: Application Already Exists at Path" 错误
症状:在终端提示窗口输入ant install时,收到如下消息:
[install] FAIL - Application already exists at path /GSApp
<JWSDP_HOME
>/docs/tutorial/examples/gs/build.xml:82: FAIL -
Application already exists at path /GSApp
该应用程序已经安装。如果由于应用程序的安装而对它作出了改动,利用ant
reload
更新Tomcat中的应用程序。
HTTP 500: No Context Error
症状:在试图运行部署应用程序时候收到一个No Context Error错误。
解决方案:这个错误意味Tomcat被加载,但是它不知道应用程序。如果还没有通过运行ant remove、ant build、ant install和ant reload部署应用程序,现在做吧。
解决方案:如果Tomacat正在加载,但是还没有加载所有已存在的上下文,将收到该错误。不断点击浏览器中的重载或者刷新按钮,直到应用程序被加载或者收到另一种错误消息。
更多信息
· Tomcat 管理工具。阅读Tomcat管理工具以获得利用admintool,无需停止并重新启动Tomcat来配置它的行为的更多信息。
· Tomcat 配置参考。想了解更多关于能用来配置Tomacat行为的元素的信息,阅读<JWSDP_HOME>/docs/tomcat/config/index.html中的Tomcat配置参考。
· 类加载器入门。该文档讨论了应用开发者和部署者应该把类和资源文件放在哪里,以便让Web应用能找到它们。该文档位于<JWSDP_HOME>/docs/tomcat/class-loader-howto.html中。
· JNDI 资源入门。该文档讨论了JNDI资源配置、Tomcat标准资源工厂、JDBC数据源,和定制资源工厂。该文档位于 <JWSDP_HOME>/docs/tomcat/jndi-resources-howto.html中。
· Manager Application入门。该文档描述了如何利用Manager Application,无需关闭和重新启动Tomcat,来部署新的Web应用程序,解除部署现有的应用程序,或者重载现有的应用程序。该文档位于<JWSDP_HOME>/docs/tomcat/manager-howto.html中。
· 代理支持入门。该文档讨论了如何在代理服务器(或者配置来行使代理服务器功能的Web服务器)后面运行。特别地,该文档讨论了如何管理来自Web应用的调用返回值。其中该Web应用请求服务器名和请求将被发往的端口号。该文档位于<JWSDP_HOME>/docs/tomcat/proxy-howto.html中。
· 成员域配置入门。该文档讨论了如何通过连接到用户名、密码、和用户角色的现有数据库,配置Tomcat以支持容器管理安全。该文档位于<JWSDP_HOME>/docs/tomcat/realm-howto.html
· 安全管理程序入门。该文档讨论了运行Tomcat以保护服务器免受未经验证的serlvets、JSP、JSP bean、和标签库侵扰时,Security Manager的用法。该文档位于<JWSDP_HOME>/docs/tomcat/security-manager-howto.html中。
SSL 配置入门。该文档讨论了如何在Tomcat上安装和配置SSL支持。安装和配置SSL支持中讨论了如何利用Java WSDP在Tomcat上安装和配置SSL支持。<JWSDP_HOME>/docs/tomcat/ssl-howto.html 中的Tomcat文档也讨论了这个主题,然而,本教程中的信息对于这个与Java WSDP一起发布的Tomcat版本来说是最新的。