OSGiHttp白板模式



从web.xml移动到OSGi Http白板模式创建了bundle-context.xml如何在jspServletfilter的osgi中从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。因此,您试图在那里做的事情对ApacheFelix实现不起作用。

让JSP使用HttpWhiteboard方法的唯一方法是切换到Pax-Web项目。因为它不仅支持白板方法(规范合规性仍在进行中,6.0.0-SNAPSHOT),而且比目前规范中的方法还多。

要实现您想要的目标,需要使用PaxWeb:

<!-- 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>

在paxweb项目的示例中也可以找到一个例子。

相关内容

  • 没有找到相关文章