出自:灰狐动力
怎样用servletrunner来运行Servlet
一旦你写好你的 servlet, 可以运行在很多web服务器上, 或者在 servletrunner里.
属性
属性是一对key-value, 用作配置, 创建, 和servlet的初始化. 如, servlet.phone.code=PhoneServlet 的key 是 servlet.phone.code,他的value 是 PhoneServlet.
一个servlet有两个属性. 一个是servlet.name.code, 他的值是servlet的类名. 另一个是servlet.name.initargs, 他的值是保存获取servlet的初始化参数
用 code 属性
servlet.name.code 属性用它类的名命名你的servlet. 如果你的servlet使用初始化参数,这个属性就必须的. 它允许服务器联合servlet 对象和他的初始化参数项,他们两有同样的名字name. 即使你的servlet没有使用初始化参数,也推荐使用这个属性,以便客户端能用它自己的名字达到servlet.
Initargs 属性的语法
servlet.name.initArgs 属性的值是保存初始化参数的值. 相应的一个参数的语法是:parameterName=parameterValue. 举例一个 phone servlet参数象下面:
servlet.phone.initArgs=phonelist=servlets/phonelist
如果有多个初始化参数, 他们用,号间隔开,如:
servlet.dbdemo.initArgs=username=fill_in_the_user,passWord=fill_in_the_password,owner=fill_in_the_name
属性文件
存在一个文件中的属性一般地叫"servlet.properties", 尽管但servletrunner运行时你可以规定另一个名字,这个文件应当保存所有将要运行的servlet的属性. 它应当是 plain text; you 可以在编辑器中创编它. 这里举个例子:
servlet.phone.code=PhoneServlet
servlet.phone.initArgs=phonelist=servlets/phonelist
servlet.bboard.code=BBoardServlet
servlet.dbdemo.code=OrderEntryServlet
servlet.dbdemo.initArgs=username=fill_in_the_user,password=fill_in_the_password,owner=fill_in_the_name
用Servlet Runner
如果你要在web服务器上运行你的servlet, 请看相应服务器的说明书. 这里只解释怎样在一个随产品而带的servletrunner驱动程式环境中运行servlet.
这个servletrunner是个小的驱动工具, 它是多线程的, 这样它可以运行多个servlet. 但它在服务器启动时不自动启动的. 因为小,所以只有很小的资源开销.
这个servletrunner 在 <JDK>/bin 目录中. 用-help 调用它会有下列信息出现。:
% ./bin/servletrunner -help
Usage: servletrunner [options]
Options:
-p port the port number to listen on
-b backlog the listen backlog
-m max maximum number of connection handlers
-t timeout connection timeout in milliseconds
-d dir servlet Directory
-r root document root directory
-s filename servlet property file name
-v verbose output
%
为了看见这些选项的缺省值,你可以用-v 开关调用它. 这将会启动runner. 在你得到信息后就会停止。
% ./bin/servletrunner -v
Server settings:
port = 8080
backlog = 50
max handlers = 100
timeout = 5000
servlet dir = .
document dir = .
servlet propfile = .:servlet.properties
一旦 servletrunner执行, 你能运行通过在你的浏览器中直接调用他们,举例如下面:
http://machine-name:port/servlet/servlet-name
这里servlet-name 对应与您已经给你的servlet取名的名字. 如, 为了运行Phone Servlet, 他的属性servlet.phone.code=PhoneServlet, 你将用下面URL. (假设servletrunner运行在一个及其叫localhost, 在端口 8080, 这个 phone servlet驻留在servlet目录:
http://localhost:8080/servlet/phone
另一个例子, survey servlet, 作为提交表单的运行结果. 相应的servletURL是:
http://demo:8080/servlet/survey进入讨论组讨论。
(出处:http://www.knowsky.com)