resin学习

http://www.caucho.com/ 从这里可以下载,据说Caucho Resin提供了最快的jsp/servlets运行平台。它支持Servlet,XSL Filtering6并且具备XSLT和XPath1.0引擎

 1. <http host='localhost' port='80'/>
   host参数指定的是服务器,port指定的是http端口,默认是localhost和8080。
2. <srun host='localhost' port='6802'/> 这个是jsp和java Servlet的引擎配置。
3. 使用Resin开发Java Web项目时,需要建立自己的WebApp。
4. Resin中的应用可以有2种方式发布:
       一是在Resin的目录下发布;
       二是打包成War发布。
5. 在resin.conf中查找<web-app>标签,该标签表示一个web应用
     标签中,id属性表示该应用的Web路径。如<web-app id='/test'>,表示该应用在Web上访问的时候应该用http://hostname/test/来访问。app-dir属性表示该应用的实际路径。如<app-dir>d:/resin/doc/test</app-dir>表示该应用在d:/resin/doc/test目录下面。默认值为根下面的和id同名的目录。Resin可以配置3种error-page:404错误也就是文件找不到错误页;Exception违例页;不能连接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 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相同。
6.  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上,最好配置成false,忽略大小写,从而和windows的约定一致。
7.  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,浏览器必须支持session才能使用,发布时建议改成false。enable-url-rewriting和enable-cookies一般配合使用。如果enable-cookies是false,
  enable-url-rewriting应该设成true比较合适。
  file-store :该配置指示服务器是否把session作为文件存放在服务器上。如果把该项注释掉,则在你的web-app目录下的WEB-Inf/sessions目录不保存序列化后的session对象。Session还有jdbc-store配置,对应着把session通过jdbc永久保存在数据库中。其实也就是会话变量的序列化后的保存和重新载入的物理实现。

安装Resin 及测试运行JSP
————————————————————————————————

Apache只是一个Web服务器,没法运行JSP的,所以我们还需要安装Resin与Apache结合,Resin可是号称最快的JSP解释器哦^_^。
双击resin-3.1.1.zip,将它解压到D:/Resin-3.1.1(解压时不需要输入目录名),Resin是不需要安装的,所以解压后再进行相应的配置即可。

———————————————————————————————————
用Dreamweaver打开resin-3.1.1 conf/resin.conf文件(用Dreamweaver打开是有原因的),查找到下面的内容:
<doc-dir>doc</doc-dir>修改为: <doc-dir>D:/apache2/htdocs/</doc-dir>
说明:此为Resin运行JSP文件的目录,就是说JSP文件必须放在这个地方才能运行;

———————————————————————————————————
再查找下面内容:
<http port='8080'/>
修改为:<http port='7070'/> ,因为8080端口已经被Apache占用了,如果不修改这里,Apache和Resin将产生冲突而使另一方无法启动。

———————————————————————————————————
打开Apache2/conf/httpd.conf文件,在最未端加入下面代码(不做这一步将无法运行jsp文件):
# Resin的结合配置部分:
LoadModule caucho_module "D:/resin-3.1.1libexec/apache-2.0/mod_caucho.dll"
#上面的路径改成你自己的路径
<IfModule mod_caucho.c>
CauchoHost localhost 6802
AddHandler caucho-request jsp
<Location /servlet/*>
SetHandler caucho-request
</Location>
</IfModule>
设置了这么多内容,你一定有点烦了吧!不用急!!现在你已经完成了所有的配置了!
————————————————————————————————————
接下来要测试运行JSP文件了,在此之前你要先启动Resin(Apache也要启动),双击运行Resin-2.1.9/bin/httpd.exe文件启动Resin。
然后在Apache2/htdocs/目录下新建一个叫test.jsp的文本文件,代码如下:
<%@ page language= "java"contentType="text/html;charset=gb2312"%>
<%
out.print("123jsp!");
%>
打开IE,输入:http://127.0.0.1:7070/test.jsp
正确的话,浏览器上将显示123"jsp!"。

 

Resin with Apache

Resinapache提供快速的servlet引擎,允许jspservletapache下运行,在apache应用虚拟主机来布署Resin更是妙上加妙。

那么apache如何集成Resin呢?

步骤,先从apache官方网站上去下载当前最新版本 2.2.4 : http://apache.mirror.phpchina.com/httpd/binaries/win32/apache_2.2.4-win32-x86-no_ssl.msi

然后安装,注意。安装时不用指定域名及,但管理员邮箱要指定。

启动apache看看服务是否正常启动,如果一切OK就进入下一步。

然后下载resin- 3.1.2 下载地址如下:

http://www.caucho.com/download/resin-3.1.2.zip

下载后,它是一个解压版,我是直接放在c盘根目录下,当然,要启动resin你必须装了JDK并且配了JAVA_HOME环境变量,默认resin是服务于8080端口,先测试运行resin是否好用,也可以把resin作为windows服务配置管理,只用在cmd命令行模式下,例如我的resin- 3.1.2 是在C盘根目录下,我进行cmd命令行模式如下图:

就可以把resin当作windows服务管理了.

安装完resin后,下面要与apache进行整合了。

点击resin- 3.1.2 目录下的setup.exe文件,弹出一个窗口

在上面的窗口中,把IIS/PwS复选给去掉,勾上Apache然后输入apache的主目录,我的是在c:/apache 2.2.4

然后,点上图的applyOK

点上面步骤,resin会在apache/conf/目录下的httpd.conf文件中加上如下代码

LoadModule

caucho_module "C:/resin- 3.1.2 /win32/apache-2.2/mod_caucho.dll"

<IfModule mod_caucho.c>

  ResinConfigServer localhost 6800

  CauchoStatus yes

</IfModule>

表示apache调用resin的集群的中件间mod_caucho.dll

同时把jspservlet的除HTML的请求都发到6800端口

为了验证集群是否应用上,我们打开resin根目录下conf目录下的resin.conf文件发现

<!-- define the servers in the cluster -->

<server id="" address="127.0.0.1" port="6800"/>

定义了resin也是同样的指定6800端口

到此完成了集群配置

接着我们把resinapache启动起来

resin启动的图中可以看到如下图:

可以看到resin除了在监听8080口以外,还在监听6800口了,呵,最后一步进行测试了,

resin的目录C:/resin- 3.1.2 /webapps/ROOT/下建立test.jsp文件内容如下:

<%@ page contentType="text/html;charset=GBK" %>

2 + 2 = <%= 2 + 2 %>

然后在IE浏览器中打http://localhost/

显示apache的默认html页面

Index.html页面

然后再在IE浏览器中打http://localhost/test.jsp

可以看到apacheJSP的请求都转发给resin了,再把resin的请求结果页解析返回给用户。不信试试吧,很easy的!

如果resin要布署自己的应用目录也是一样的,只要在resinresin.conf文件中修改革派配置,换一下指定的<web-app id="/" root-directory="webapps/ROOT"/>指定的目录就行了,到此完成配置工作,如果要配虚拟主机的话,也是同样的在两个配置文件进行协作,

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值