[英]OSGi Http Whiteboard pattern
从web.xml转移到OSGi Http Whiteboard模式创建了bundle-context.xml,如何在jspServletfilter的osgi:service-properties中从web.xml传递以下属性
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<el-ignored>true</el-ignored>
</jsp-property-group>
</jsp-config>
我尝试了以下解决方案,但是它不起作用。
<bean id="jspServlet" class="com.test.servlet.web.servlet.TestJSPServlet"/>
<osgi:service ref="jspServlet" interface="javax.servlet.Servlet" >
<osgi:service-properties>
<entry key="osgi.http.whiteboard.filter.name" value="JSPServlet" />
<entry key="osgi.http.whiteboard.servlet.pattern" value-ref="jspPatternsList"/>
<entry key="osgi.http.whiteboard.context.select" value="(osgi.http.whiteboard.context.name=cb)" />
<entry key="servlet.init.el-ignored" value="true" />
</osgi:service-properties>
</osgi:service>
我只是检查了一次,但是如果我没有完全错的话,OSGi规范就不能以某种方式处理JSP。 因此,您在那里尝试执行的操作不适用于Apache Felix实现。
使JSP使用Http Whiteboard方法的唯一方法是切换到Pax-Web项目。 由于它不仅支持Whiteboard方法(规范合规性仍在进行中,6.0.0-SNAPSHOT),而且还支持规范中的更多内容。
要实现所需的功能,Pax-Web需要满足以下条件:
<!-- JSP handling -->
<service id="jspMapping" interface="org.ops4j.pax.web.extender.whiteboard.JspMapping">
<bean class="org.ops4j.pax.web.extender.whiteboard.runtime.DefaultJspMapping">
<property name="urlPatterns">
<array>
<value>/jsp</value>
</array>
</property>
</bean>
</service>
在pax-web项目的样本中也可以找到一个示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.