java - 根据主体tomcat重定向请求

标签 java web-applications tomcat servlets tomcat7

我有一个 tomcat 7 应用程序,我可以从外部来源获取请求。

他们中的大多数人这样称呼我的请求:

http://localhost:8080/MyWeb/exRequest

我在 MyWeb 应用程序中使用 URL 模式构建 servlet。

但是,一个外部源必须像这样发送请求:

http://localhost:8080/

在正文中:

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

相关文章:

java - 是否可以在没有条件语句的情况下创建具有相同父类的随机对象?

java - 从 POJO 为 Jackson 创建 CN1 JSON 数组

javascript - 保护静态应用程序中的数据文件访问

java - 当前开发/打包/分发(大型)Java(Web)应用程序的方式有什么问题?

java - Windows 和 Linux 之间的 spring i18n 行为不同

javascript - 是否可以通过用户脚本检测页面修改?

spring - 运行 spring mvc web 应用程序时 Tomcat 错误

jsp - 使用Tomcat时图片放在哪里?

tomcat - pivotal cloud foundry spring boot 嵌入式tomcat

java - 为什么使用十六进制值而不是普通的 10 进制数字?