我有一个 tomcat 7 应用程序,我可以从外部来源获取请求。
他们中的大多数人这样称呼我的请求:
http://localhost:8080/MyWeb/exRequest
我在 MyWeb 应用程序中使用 URL 模式构建 servlet。
但是,一个外部源必须像这样发送请求:
在正文中:
<xml name="test" />
由于我不想声明一个通用的 servlel(如 tomcat 默认值),因为这意味着任何请求都需要通过我的 servlet,我想更改 ROOT 的 index.jsp 以重定向到我的 servlet。
这是最好的选择吗?
是否有创建默认 servlet 的选项,只有在正文中有特殊参数时才会调用该 servlet?
已编辑
请注意,我收到了对 localhost:8080 而不是 localhost:8080/MyWeb 的请求 - 它是 tomcat 的通用请求,而不是特定的 Web 应用程序
最佳答案
您不能根据请求主体选择要调用的 servlet,但可以在 web.xml 中将 servlet 设置为“欢迎文件”。
<servlet>
<servlet-name>index</servlet-name>
<servlet-class>com.y.MyWelcomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>index</servlet-name>
<url-pattern>/index</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index</welcome-file>
</welcome-file-list>
如果您想保留某些现有 index.jsp 的“欢迎”功能,您的 servlet 可以将正文中没有正确 XML 的请求转发到位于 WEB-INF 目录下的 index.jsp 文件。
关于java - 根据主体tomcat重定向请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6589100/