现在的位置: 首页 > 综合 > 正文

resin的一些注意事项

2018年01月28日 ⁄ 综合 ⁄ 共 2095字 ⁄ 字号 评论关闭

 

win32下
 

假设已经resin安装目录 
2.0以后的版本如何安装成服务: 
一定要先有java_home环境,如果你没有安装好这个环境,安装服务时: 
cd bin 
standalone -install 
这时你到管理工具->服务中找到resin web server,查看属性中可执行文件应该
类似这样: 
C:/resin/in/standalone.exe" -service -env-classpath "c:/jdk1.3
/lib/tools.jar;c:/jdk1.3/lib/dt.jar;c:/jdk1.3/jre/lib/rt.jar;." -
java_home "c:/jdk1.3" 
如果没有classpath和java_home 
那么standalone -remove 
设置好后再standonle -install,再看,如果有这两个环境变量,OK了. 

这时你不要指望能从服务中起来,确信这个服务是自动,(不要改成手动啊) 
然后重启机器就可以了,你不要看它的状态不是已启动就去手工启动,其实已经 
启动了,只是服务这个工程做得不好.状态没有显示出来. 

linux下所有版本:
 
如何在linux下安装resin成服务: 
在linux下,resin要有三个环境变量: 
JAVA_HOME,CLASSAPTH,RESIN_HOME, 
大家知道不同的机器线程的方式不同,有的的绿色线程,有的是原生线程. 
所以BOOT时哪个环境先起也不一定.如果你的RESIN脚本启动时还没有取得上面/r
的三个环境,那就起不来了. 
所以不能依赖系统的环境,把这三个环境手工写在启动脚本中,保证先有这三个环境变量再启动脚 本: 


PATH=$PATH:/usr/local/jdk/bin:/usr/local/jre/bin 
export PATH 
JAVA_HOME=/usr/local/jdk 
export JAVA_HOME 
JRE_HOME=/usr/local/jdk/jre 
export JRE_HOME 
RESIN_HOME=/usr/local/resin 
export RESIN_HOME 
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:..........
... 
export CLASSPATH 
exec $RESIN_HOME/bin/srun.sh start 

 

resin的一些注意事项(二) 

为什么resin2.05以后不能直接引用servlet了? 
其实是你太懒,你没有认真去看resin.conf,和以前版的配置不一样, 

<web-app id='/'> 
<web-app id='examples/basic'> 
<web-app id='examples/tags'/> 
<web-app id='examples/tictactoe'/> 
<web-app id='examples/navigation'/> 
<web-app id='examples/xsl'/> 


这些虚拟域中,我们最关心的是 
<web-app id='/'>这是我们设定的<app-dir>所对应该的域. 
比如<app-dir>d:/aaaaa</app-dir> 
为什么现在在d:/aaaaa/WEB-INF/classes目录下有一个Test.class 
我们不能用http://host/servlet/Test访问了啊? 
因为默认的servlet映射没有设置啊,以前的版本默认是设置的,你只要启动就可以
访问了,现在的默认选项改了,你加上去啊: 
在<web-app id='/'>和</web-app>中的任何地方加上 
<servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/> 
启动resin,OK了.

resin的一些注意事项(三) 

如何组织servlet?

servlet放在WEB-INF/classes下,为了不和别的BEAN相混淆,放在一个单独的目
录下,或者很多时servlet如果分开?当然是用包啊: 
package slt; 
public class TestServlet extends .......... 

应该放在WEB-INF/classes/slt下,有人问我怎么找不到啊? 

http://host/servlet/slt/TestServlet 

笨死了,http://host/servlet/slt.TestServlet啊.你要访问的是以 
servlet为极好的下面的类slt.TestServlet啊,当然放在WEB-INF/classes/slt下
啊,要是能http://host/servlet/slt/TestServlet,那我 

http://host/servlet/slt/TestServlet.class不是把你这个servlet给下载了. 

不仅resin这样,别的引擎都是这样/

抱歉!评论已关闭.