首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多个dispatcher servlet挑选一个请求时,有没有顺序?

在多个dispatcher servlet挑选一个请求时,有没有顺序?
EN

Stack Overflow用户
提问于 2015-01-11 13:25:30
回答 1查看 354关注 0票数 0

我们有一个单片应用程序,其中有一个处理所有请求的dispatcher servlet。后来,我们采用web-fragment来提高应用程序的模块性。但是通过这种方法,我们有了多个dispatcher servlet。每个web片段一个。所以现在我们在web.xml(/*)中有了wf1-servlet(/wf1/*), wf2servlet(/wf1/*)和main-servlet,我们不能避免这一点,因为有很多urls不能被命名空间。

有没有办法排序servlet的执行,以便在最后选择main-servlet,因为这在/*上有效

EN

回答 1

Stack Overflow用户

发布于 2015-01-11 13:47:38

使用<url-pattern>标记将特定的url映射到特定的servlets:

代码语言:javascript
复制
<servlet>
 <servlet-name>wf1servlet</servlet-name>  //servlet name
 <servlet-class>package.Wf1servlet</servlet-class>  //servlet class
</servlet>
<servlet-mapping>
 <servlet-name>wf1servlet</servlet-name>   //servlet name
 <url-pattern>/wf1/*</url-pattern>  //how it should appear
</servlet-mapping>

您还可以在servlet中转发一个请求,您可以将一个请求转发给另一个特定的请求,例如:。

代码语言:javascript
复制
URL url = new URL("http://otherserver:otherport/url");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();

//set http method if required
connection.setReqeustMethod("POST");

//set request header if required
connection.setRequestProperty("header1", "value1");

//check status code
if(connection.getResponseCode() == 200){

InputStream is = connection.getInputStream();
//transfer is to the required output stream
} else {
 //write error
}

另外,我认为servlet的映射顺序是它们在web.xml文件、herehere中出现的顺序。您可以看到一些有用的信息

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27884259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档