jsp - IIS URL Rewrite 无法正常工作以将 html 更改为 jsp 页面并通过 AJP 连接器路由到 Tomcat

标签 jsp tomcat iis url-rewriting ajp

  • 前端网络服务器:Windows Server 2008 R2 SP1

  • 后端 Web 服务器:Tomcat 5.5 -- JSP/Servlet 引擎

  • 前端和后端 Web 服务器由 AJP 连接器链接,AJP 连接器是在 IIS 上运行的 isapi 过滤器。

  • Tomcat 和 IIS 在同一台服务器上。

我有许多文件夹,其中的文件以 .HTML 结尾。这些文件位于 Tomcat 从中读取的同一目录中,即 wwwroot/tomcat_webapp/HTMLProjectFiles。 AJP 连接器——或 isapi 过滤器——将负责将任何内容从 tomcat_webapp 文件夹传递给 tomcat。

我需要让 Tomcat 处理它们,但我无法将文件重命名为 JSP。 Tomcat 的 web.xml 不允许通过目录和扩展名进行过滤(即 /HTMLProjectFiles/*.html 无法完成并将生成错误)。我不想让 JSP 处理所有 HTML 页面。

我的想法是使用 IIS 的 URL 重写引擎。我创建了一个入站规则,它用 JSP 扩展重写文件。不幸的是,它不起作用。我认为 isapi 过滤器可能在 URL 重写引擎触发之前触发,因此 IIS 永远不会将文件推送到 Tomcat。至少,那不是我的直觉。我不确定为什么它不起作用,或者 IIS 中是否存在 URL 重写和 isapi 过滤器模块的优先顺序。

有人在这方面有过成功或类似的经验吗?

更新

我的直觉是 IIS 扫描 URL,发现 tomcat_webapp 文件夹存在并且不会费心查看页面,只是将它发送到 Tomcat。然后,tomcat 只是按原样显示页面。目前,Tomcat 的 web.xml 将 html 作为静态页面进行处理。所以,我可能不得不研究直接与 tomcat 一起使用的 url 重写。我不认为 mod_rewrite 可以工作,因为我没有运行 Apache。

非常感谢。

最佳答案

如果您能提供部署的演示文件夹结构,将会有所帮助。据我目前的理解,它可以通过以下方式解决:

  • 使用一个条目更新您的 uriworkermap.properties,该条目指定 html 资源目录的 URL 并将工作程序与其相关联。示例:portal.com/tomcat_webapp/html_folder_name/*=worker1

关于jsp - IIS URL Rewrite 无法正常工作以将 html 更改为 jsp 页面并通过 AJP 连接器路由到 Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25168766/

相关文章:

java - 将blob文件保存到mysql数据库中

spring-boot - 将 SpringBoot Api 部署到 IIS Web 服务器

iis - 如何配置 .net 核心 API 以在 IIS 中工作?

javascript - 从循环下具有相同名称属性的html表单获取值

java - Spring MVC 显示数据库中的数据

tomcat - Websphere 中的 webcontainer 与 tomcat 服务器

Tomcat 从 Tomcat Web 应用程序管理器重新启动虚拟主机

java - 如何将Maven项目作为jar文件部署到Tomcat?

powershell - 特定的 PowerShell 模块未自动加载

java - 如何在 JSP 文件中获取静态字段?