推荐给好友 上一篇 | 下一篇

Resin 3.0.x 经验总结


声明
  • 声明: 1、任何网站转载本站点内容时需注明来自JAVA-CN.COM,否则我们有权将根据《互联网著作权行政保护办法》追究其相应法律责任; 2、JAVA中文站社区刊登此文只为传递信息,并不表示赞同或者反对.
JAVA中文站社区门户!M j$vZBf

这两天正好项目刚刚完成,所以就好好的研究了下Resin。我用的Resin版本是3.0.19,中间遇到一些常见的问题,但是网上大多数的资料都是1.x或2.x的,在3.x中是不能使用的,所以查到解决的办法不是件容易的事情,现在整理出来与大家分享:

/X C,H%vp]tc'}y JAVA中文站社区门户S!G x j)J+\u8Y

1. 怎样关闭目录浏览方式?JAVA中文站社区门户g*s8~:S5k_Xl9`$Wfg*]
查了些资料,大多数都是说可以 将directory-servlet设置为 “none” 来禁止目录浏览,但是这种方式只是针对于Resin2.x,在3.x中已经不使用directory-servlet了。后来看了下官方的文档资料,原来关闭目录浏览的方法很简单,只需要将resin.conf中

%F)PO%?GR j&t
  1. <servlet servlet-name="directory" 
  2.               servlet-class="com.caucho.servlets.DirectoryServlet"/>
JAVA中文站社区门户0r L_](\1v2a~

修改为JAVA中文站社区门户F'{H2`,rN [4K a

  1. <servlet servlet-name="directory" 
  2.               servlet-class="com.caucho.servlets.DirectoryServlet"> 
  3.           <init enable="false"/> 
  4.       </servlet>
JAVA中文站社区门户5}/A.w\;v){

或者直接注释掉这一段代码就可以了。JAVA中文站社区门户mY0a@\-Y@j2u

+|w(~)wO1L3P9Q"d6i [2. 设置Servlet为默认首页
S;\0qi#["J vipm在web.xml中这样设置

]$Cf:f7{ @8Sam[

*B9?$j#?;C qVd `ym<servlet-mapping>
,p Bg0M)M<servlet-name>MainPageServlet</servlet-name>
k$`6y5Vb@H<url-pattern>/index</url-pattern>
1J*a `heV3G s3|#Y</servlet-mapping>

*h;\cw~ C JAVA中文站社区门户;Cj uE%h9fk

<welcome-file-list>
v&g2]U3K2v)ycd<welcome-file>index</welcome-file>
7F2Y E ~G6ej</welcome-file-list>

P,n9{d3`3K

L@'V4ul@如果这样的话在Tomcat中可以实现的,但是在Resin中会提示404。后来查了下资料,发现在Resin中默认的首页文件必须真实存在才可以的(”Point is that welcome file MUST exist on the server.”),所以除了上述的设置之外还需要在网站跟目录下面创建一个同名的空文件就可以了。

|jSj,JbD

i P,i0my3. 安装Resin为WinNT服务
9T.B/n@Ev使用以下命令安装Resin为NT服务:JAVA中文站社区门户z xjaH,A a8K

  1. httpd.exe -install

s2rs'v8S卸载服务使用下面的命令:JAVA中文站社区门户{ IRW_(Y0b#w

  1. httpd.exe -remove
JAVA中文站社区门户"h Ho!p|0dj;T-{O E@

这里需要说明的是:如果Apache和Resin组合的话,删除Resin的NT服务之前首先需要停止Apache,否则无法删除。JAVA中文站社区门户 {2Ehkh|'v G

2lY(aA\7f(^4. 出现OutOfMemoryException的解决方法
5OrqX(dT+{ qD出现OOM异常大多数是因为分配给Resin的内存过小造成的,这个时候可以使用以下命令增大Resin的内存:

;jY'V.KZV\(G
  1. unix> bin/httpd.sh -Xmn100M -Xms500M -Xmx500M
  2. win> httpd.exe -Xmn100M -Xms500M -Xmx500M
  3. install win service> httpd.exe -Xmn100M -Xms500M -Xmx500M -install
JAVA中文站社区门户7wU6E;x]lnO#T'n

这样就可以设置Resin使用的内存了JAVA中文站社区门户/Q AD+gh%d.yF

JAVA中文站社区门户dY!a$BhrhD q

5. Resin和Apache组合JAVA中文站社区门户D8W_P0H4~Ja
我感觉Resin和Apache组合是最简单的,设置比Tomcat简单方便的多。总结一下可以使用如下步骤:JAVA中文站社区门户s4Iv9qP2Dyj7M
1) 分别安装Apache和ResinJAVA中文站社区门户 HQ z uK
2) 在Apache中的httpd.conf中添加模块,代码如下:

.R;T1e,M!x^
  1. LoadModule caucho_module "yourResinHome/win32/apache-2.0/mod_caucho.dll"
JAVA中文站社区门户;l&T-QPbI w

3) 如果是同一IP的多个站点,可以将JAVA中文站社区门户*hnQ+{gW(Dl
ResinConfigServer localhost 6802JAVA中文站社区门户}dz.@&[qU}+gx
放到VirtualHost代码中,下面是一个例子:JAVA中文站社区门户1AfR c$SF"G

  1. <virtualhost *:80>
  2. ServerName www.3721.com
  3. DocumentRoot "C:\website\www"
  4. ResinConfigServer localhost 6802
  5. </virtualhost>
JAVA中文站社区门户 w$PZ.Y4`7B]

当然如果想让虚拟站点正确运行的话,还需要在Resin的resin.conf文件中添加站点,具体可以参考Resin手册;如果不是同IP的虚拟站点,只要将 ResinConfigServer localhost 6802 放到任意一个地方就可以了JAVA中文站社区门户 t%l-y1jzA-H

,?4k {B5ud }{最后分别重启一下Resin和Apache就可以了,是不是很简单?

*[ N.R!J.[ j^ JAVA中文站社区门户b/Vleo:g

参考资料:JAVA中文站社区门户p^F[ _r*`C:A
Resin 3.0 官方文档JAVA中文站社区门户2C F*u lY)Y

JAVA中文站社区门户;y:f-p"^2M1cq,M

/RESIN/ welcome-files & servletJAVA中文站社区门户6zW/rUOf
http://groups.google.com/group/fido7.ru.java/browse_thread/thread/986b22abad39551c/8cd4cbffabd64fe1?lnk=st&q=resin+servlet+welcome-file&rnum=2#8cd4cbffabd64fe1JAVA中文站社区门户` Puj q.y:dQ

原文出处: http://www.javatang.com/archives/2006/08/21/010658.html
:_p-SF.k作者: Jet Mah
;NE?~#Q+Q(A"W声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!


TAG: Resin resin 经验总结
 

评分:0

我来说两句

seccode