resin.txt

来自「Resin的安装和配置 Resin 可以在 http://www.caucho」· 文本 代码 · 共 328 行 · 第 1/2 页

TXT
328
字号
一、Java Web服务器选择简介
在实际进行java Web项目实施的时候,我们可以采用的商业java Web服务器有Ibm 
WebSphere,Bea Web Logic
。这两种服务器功能齐全而强大,支持所有的java 服务容器标准,适合成品商业java 
Web应用的发布。但是
这两种服务器是商业服务器,价格昂贵,而且对系统资源要求极高。特别是Websphere 
配置复杂,如果不配合
采用ibm Websphere Studio Application非常不适合开发。而且他们不同的版本对servl
et.jar等javax组件和
jdk的要求不同。如Websphere 3.5所要求的servlet.jar 支持的是旧版本的javax.servl
et.http.HttpSession
操作,不支持session.setAttribute() session.getAttribute()。
在开发或者学习过程中,有许多免费的轻型的Java Web服务器可以供我们选用,如Tomca
t,Resin,Orion等等。
他们使用都很方便,占用资源也很少,适合开发中不断的调试;还可以和Jbuilder这样
的集成开发工具集成使
用。根据实际开发中的情况来看,Jakata Tomcat 和Sun Java结合的最好,和其他应用 

服务器配合使用可支持
完整的j2ee标准,应用也很广泛。但是从Java 普遍存在的编码问题来看,还是Resin 解
决的最好。还有从使
用的角度讲,个人认为Resin比Tomcat方便,而且Resin也可以结合Jbuilder6等ide使用
。Resin强调使用Xml技
术,从Resin自己的HomePage使用xtp就可以看出来。
二、Resin的安装和配置
Resin 可以在 http://www.caucho.com/download/index.xtp免费下载和使用。使用Res
in开发或者学习是免
费的,但是如果把Resin作为收费产品发布是需要付费的。目前的版本是2.10。
下载Resin 时选择Archive Versions 中的 windows.zip的普通安装包resin-2.1.0.zip
把该zip包解压到任何目录下面,如d:resin。以下介绍都假设Resin安装在d:resin下
。进入d:resinbin,
键入httpd,可以在命令行控制台下运行Resin服务器。此时弹出一个有start 和stop两
个Radio按纽和一close
按纽的对话框。在这里可以看到Resin的运行信息。这些信息同时Resin可以在d:resin
log目录下面的
stdout.log 日志文件中察看到。如:
Resin 2.0.4 (built Thu Nov 15 17:56:24 PST 2001) 
Copyright(c) 1998-2001 Caucho Technology. All rights reserved.
Starting Resin on Wed, 23 Jan 2002 14:41:47 +0800 (CST)
http listening to *:80
srun listening to haitaiserver:6802
点选stop,可以停止当前的Resin服务器进程;再点选start,又可以开启新的Resin服务
器进程。关闭该对话
框,则回到Command 控制台的盘符提示状态下。如果在nt4或者win2k环境下,需要把Res
in当成服务,只需要
在Command控制台的该目录下,键入 httpd ?install,就可以在管理工具的服务下面看
到新增了一条Resin 
Web Server的自动的服务。以后只要进入nt 4或者win2k,就可以启动Resin服务。该服
务也可以像其他服务一
样设置成手动或者禁用状态。注意有的时候在安装完服务后,启动Resin,并不能看到自
己写的Resin例程可以
被解析,浏览器显示服务器找不到错误。只要重新启动win2k或者nt,就能解决该问题。
下面简要介绍一下Resin服务器的配置。Resin服务器和大多数Java Web服务器一样,通
过一个Xml文件配置。
进入d:resinconf目录,打开resin.conf,这是一个xml格式的文本。
这里面有很多标记,先查找到:<http-server>。在<http-server></http-server>标记 


对中的配置和resin的
Java Web 服务器有关。找到<app-dir>,在<app-dir></app-dir>标记对中的表示resin
的根,相当于Apache的
htdocs 或者 IIS 的wwwroot。Resin自带http服务器,但是也可以不使用它,采用Apach
e 或者 IIS做http服
务器。这个在下面段落中会提到。
再查找<http port="8080"/>标记,它可以这样配置<http host="localhost" 
port="80"/>。host参数指定的
是服务器,port指定的是http端口,默认是localhost和8080。还有<srun 
host="localhost" port="6802"/>
标记。这个是jsp和java Servlet的引擎配置。一般默认就可以了,除非6802端口已经被
别的程序占用了。然
后,配置jdk。这个需要在classpath中设置。右键点击我的电脑,在系统特性的高级标
签中,点击环境变量,
在系统变量中新建一个环境变量,变量名为classpath,值为jdk所在的目录;再新建另
外一个环境变量,变量
名为path,值为javac.exe和java.exe所在的目录(在jdk所在的目录下面的bin目录下)
。一般这样子配置以
后,Resin就可以使用了。在d:resindoc中(假设你的<appdir></appdir>对中的名称
是doc,也就是根是 
d:/resin/doc,而且你的<http host="localhost" port="80"/>如左配置),随便写一
个jsp文件,如可以写
个test.jsp文件,内容为<%=1+2+3%>。然后,在浏览器中,键入http://localhost/test
.jsp。如果你可以看
到浏览器显示6,则表示Resin服务器已经可以正常运行了。注意,修改配置后,一般重
新启动resin才能看到
变化。
三、Resin使用简介
使用Resin开发Java Web项目时,需要建立自己的WebApp。这里不介绍Resin Cmp/Ejb的
开发和使用,只介绍用
Resin开发普通的jspjava servlet项目。在这里还要谈到resin.conf的配置。Resin中
的应用可以有2种方式
发布:一是在Resin的目录下发布;二是打包成War发布。
1、在Resin的目录下发布
在resin.conf中查找<web-app>标签,该标签表示一个web应用。
标签中,id属性表示该应用的Web路径。如<web-app id="/test">,表示该应用在Web上
访问的时候应该用
http://hostname/test/来访问。app-dir属性表示该应用的实际路径。如
<app-dir>d:resindoctest</app-dir>表示该应用在d:resindoctest目录下面。默 

认值为根下面的和id
同名的目录。Resin可以配置3种error-page:404错误也就是文件找不到错误页;Except
ion违例页;不能连接
java引擎页。他们分别可以这样子设置。
404文件找不到页
<web-app id="/app1">
<error-page error-code="404" location="/file_not_found.jsp"/>
</web-app>
Exception 违例页
<web-app id="/foo">
<error-page exception-type="java.lang.NullPointerException"
location="/nullpointer.jsp"/>
</web-app>
不能连接到srun Servlet引擎错误页
该页设置和应用无关,属于服务器的设置。
<http-server>
<error-page exception-type="connection"
location="/missing_file.html"/>
</http-server>
classpath的设置
参见下面的语句:
<classpath id="WEB-INF/classes" source="WEB-INF/src" compile="true"/>
id参数的值表示classpath中编译后的class的存放路径;source参数的值表示classpath
中java源代码的存放
路径;compile中的值可能是true或者false,表示是否由Resin的srun自动编译java源代
码。Classpath的设置
一般和javaBean或者Servlet的使用有关。id的值表示javaBean的编译好的包存放的根, 

source的值表示
javaBean的java源代码存放的根。Servlet相同。
Servlet的设置
参见下面的语句:
<servlet-mapping url-pattern="*.xtp" servlet-name="xtp"/>
<servlet-mapping url-pattern="*.jsp" servlet-name="jsp"/>
<servlet-mapping url-pattern="/servlet/*" servlet-name="invoker"/>
一般就是指定那些需要通过srun的解析。比如在这里,把*.jsp改成*.jss,其他不变,
那么只要在访问时遇到
*.jss的文件就和原来遇到*.jsp一样处理。通过这个可以指定解析的引擎,如以下的配
置:
<servlet-mapping url-pattern="*.xtp" 
servlet-name="com.caucho.jsp.XtpServlet"/>
在Servlet中,也可以指定servlet。如
<servlet servlet-name="hello" servlet-class="test.HelloWorld"/>
<servlet-mapping url-pattern="/hello.html" servlet-name="hello"/>
在servlet-mapping中有个重要的参数case-sensitive 如果在windows上,最好配置成fa
lse,忽略大小写,从
而和windows的约定一致。
Session的配置
参见如下的配置语句:
<session-config>
<session-max>4096</session-max> 
<session-timeout>30</session-timeout>
<enable-cookies>true</enable-cookies>
<enable-url-rewriting>true</enable-url-rewriting>
<file-store>WEB-INF/sessions</file-store>
</session-config>
session-max :最大 session数量
session-timeout :session过期时间,以分钟为单位。
是否允许cookie :指session是否采用cookies。如果采用cookies,浏览器必须支持ses
sion才能使用,发布
时建议改成false。enable-url-rewriting和enable-cookies一般配合使用。如果enable
-cookies是false,
enable-url-rewriting应该设成true比较合适。
file-store :该配置指示服务器是否把session作为文件存放在服务器上。如果把该项
注释掉,则在你的

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?