根据Jruby-Rack Github的说法,我们可以配置使用org.jruby.rack.RackServlet而不是上下文侦听器。
我们可以使用另一个自定义servlet而不是RackServlet吗?或者我们可以覆盖org.jruby.rack.RackServlet吗?
发布于 2012-09-21 03:16:57
侦听器留下来-您通常使用servlet而不是Servlet API的筛选器。
<servlet>
<servlet-name>rack</servlet-name>
<servlet-class>org.jruby.rack.RackFilter</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>rack</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!-- using the above servlet instead of : -->
<!--
<filter>
<filter-name>RackFilter</filter-name>
<filter-class>org.jruby.rack.RackFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>RackFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
-->
<listener>
<listener-class>org.jruby.rack.RackServletContextListener</listener-class>
</listener>您可以覆盖RackFilter和RackServlet,甚至可以使用自定义类,只要它符合JRuby-Rack的规则。使用最新的千里达(在幕后使用JRuby-Rack ),在不编写web.xml的情况下配置备用servlet会更容易一些,例如,在config/trinidad.yml中,您可以:
---
address: localhost
port: 3000 # port where Trinidad is running
rack_servlet:
class: org.blue-smith.rack.CoolRackServlet如果您确实确保您的CoolRackServlet类在类路径上,例如,将其打包到jar中,并将.jar放在*APP_ROOT/lib/java*下,或者为了快速测试,只需复制编译后的.class文件,包括lib/java/.jar下的包目录...
https://stackoverflow.com/questions/12501504
复制相似问题