我有两个模式和两个端点,目前我只有一个servlet。有没有办法可以将两个模式添加到一个servlet中?或者我是否必须添加第二个servlet。
我见过的其他可能性涉及将两个两个场景组合成一个架构,我的问题是我不希望人们能够看到第二个架构的内容。什么是最好的方法。
对此有任何建议对我找到建议很有用,但没有什么可说的,这是最好的方法。
目前我有一个使用simpleXsdSchema
<bean id="schema" class="org.springframework.xml.xsd.SimpleXsdSchema"
p:xsd = "classpath:au/test/Search/ws/schemas/Search.xsd"/>
我想做这样的事情:
<bean id="schema" class="org.springframework.xml.xsd.SimpleXsdSchema">
<property name="schema">
<list>
<value>
classpath:au/test/Search/ws/schemas/Search.xsd
</value>
<value>
classpath:au/test/Search/ws/schemas/admin/SearchAdmin.xsd
</value>
</list>
</property>
</bean>
*i am aware this does not work
但我不确定这是否是正确的方法。
答案 0 :(得分:1)
我不是你需要的100%,但是在Servlet中你可以使用部署描述符(web.xml
)定义多个指向同一个servlet的端点,如下所示:
<servlet>
<servlet-name>Servlet1</servlet-name>
<servlet-class>Servlet.java</servlet-class>
</servlet>
....
<servlet-mapping>
<servlet-name>Servlet1</servlet-name>
<url-pattern>/endpoint1</url-pattern>
<url-pattern>/endpoint2</url-pattern>
</servlet-mapping>
然后在Servlet代码中,您可以定义应用程序逻辑(如果请求来自endpoint1
,您可以显示与来自endpoint2
的内容不同的内容)
答案 1 :(得分:1)
<bean id="schemaCollection"
class="org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection">
<property name="xsds">
<list>
<value>au/test/Search/ws/schemas/admin/SearchAdmin.xsd</value>
<value>au/test/Search/ws/schemas/Search.xsd</value>
</list>
</property>
<property name="inline" value="true" />
</bean>
对于我的情况,这不是我发现的最好的方法,而是声明两个servlet是最好的行动方案。