问题标签 [tomcat8.5]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3284 浏览

tomcat - Tomcat 8.5:HTTP 响应中缺少标头

使用 tomcat8.5 ...我没有像使用 tomcat8.0 那样得到完整的响应。

这两个版本之间关于 HTTP 请求或响应有区别吗?


PUT tomcat8.0 响应:


PUT tomcat8.5 响应:

我正在使用 C++ soket 方法来发送请求。

0 投票
1 回答
1005 浏览

java - Tomcat 8.5 - 无法在 ServletContextListener 的 contextInitialized 方法中访问 mysql JDBC 资源

我的 Web 应用程序有一个像这样的 servlet 监听器:

我的资源定义没问题,它在 tomcat 7 上运行良好,但是当我升级到 tomcat server 8.5 时,它在启动时抛出异常:

无论如何,我可以在服务器启动后(在其他 servlet 中)使用相同的代码毫无问题地获得 mysql 连接。那么问题来了,tomcat启动时出现这个错误的原因是什么?

更新
这是我的虚拟主机配置:

0 投票
7 回答
152971 浏览

java - Tomcat 8 无法使用“|”处理获取请求 在查询参数中?

我正在使用 Tomcat 8。在一种情况下,我需要处理来自外部源的外部请求,其中请求有一个参数,它由|.

请求看起来像这样:

http://localhost:8080/app/handleResponse?msg=name|id|

在这种情况下,我收到以下错误。

编辑 1

它适用于 Apache Tomcat 8.0.30,但不适用于 Tomcat 8.5

0 投票
0 回答
440 浏览

regex - 通过 IIS URL 重写路由的 Tomcat 应用程序无法到达子目录(错误代码 500)

这是我第一次使用 IIS,这让我很头疼。目标是通过 Windows 2012 服务器上的 IIS 运行 Web 应用程序。该应用程序托管在 tomcat 8.5 上。

该应用程序在“localhost:8000/application”上完美运行,但在尝试将 URL 重写为“application.domain.com”时出现问题。该 URL 可以正确访问所需的 javascript 文件并正确设置页面样式,但在调用“application.domain.com/subdirectory”时会返回错误代码 500()。不幸的是,错误 500 只是意味着发生了一些服务器错误。该子目录用于向应用程序获取数据并包含 HTTP GET 和 HTTP POST 方法。

我当前的 IIS 实现:

我创建了一个新站点“应用程序”。此站点具有入站和出站 URL 重写反向代理规则。 入站规则

出站规则

我怀疑 RegEx 模式可能存在问题,但我不确定。

我知道通过 IIS 路由 tomcat 有一些影响,我试图用应用程序请求路由(ARR)解决这个问题,但没有运气。我根据本指南使用 tomcat 服务器场设置了 ARR,但最终出现错误 502.2 - “Bad Gateway”。

这是我第一次不得不搞砸这些事情,所以很可能我弄错了,有一个更简单的解决方案。提前致谢。

0 投票
1 回答
1662 浏览

tomcat - macOS Sierra 上没有 catalina.out

我在 macOS Sierra 上使用 Homebrew 安装了 Apache Tomcat 8.5.9。当我启动 Tomcat 服务器时,catalina.out 没有按预期在 /usr/local/Cellar/tomcat/8.5.9/libexec/logs 中创建。

我努力了:

  • 使用 setenv.sh 将日志文件重定向到另一个位置
  • echo "log file location $CATALINA_OUT"在 /usr/local/Cellar/tomcat/8.5.9/bin/catalina 中,它被设置为 libexec/logs/catalina.out 的默认位置。进行此更改后,我可以看到 setenv.sh 正在正确修改此位置。
  • 在默认位置手动创建 catalina.out 并授予完全权限

我看到其他日志,如:

  • catalina.[日期].log
  • 主机管理器。[日期].log
  • 经理。[日期].log
  • localhost_access_log.[日期].log

Tomcat 服务器运行良好,因为我能够运行我的 WAR 文件并毫无问题地使用我的应用程序。正如我所料,其他日志均未表明创建 catalina.out 存在问题。

0 投票
1 回答
846 浏览

javascript - Web 应用程序中的绝对路径

这听起来像是一个愚蠢的问题。

我收到了另一个人使用HTMLJavaScript开发的(基本)Web 应用程序。在这个应用程序中,他使用他的JavaScript文件路径作为/javascripts/_FileName_.js. 但是当我尝试在Tomcat (8.5)服务器上运行它时,那些 JavaScript 文件并没有执行。但是当我将路径更改为javascripts/_FileName_.js/开始时没有)时,它运行良好。

该应用程序已经在服务器中运行并且运行良好。这里有什么问题?

0 投票
1 回答
4102 浏览

java - 如何在 Tomcat 8 中使用全局 JNDI URL 资源?

我正在尝试设置一个运行 Tomcat 8 的服务器,以使 JNDI URL 资源可用于该服务器上运行的大量应用程序。这些应用程序是带有 Maven(无 Spring)的普通 jsp/servlet。

我有 2 个尝试使用的全局资源示例,一个是正常工作的 DataSource,一个是不能正常工作的 URL。

数据源

在 GlobalNamingResources 元素内的 Tomcats context.xml 中

在 Tomcats web.xml 中,顶级元素

数据源就是这样,它确实有效

对于 URL 资源,我在 server.xml 中有这个

我的对象工厂的创建方式与此答案相同:Tomcat:通过 JNDI 使用 FTP 连接除了我添加了一些 println 语句来证明它正在被使用并且具有正确的 url。

我有以下 Tomcats web.xml

最后是访问它的代码。这段代码是反编译jar的结果,它不是第三方jar,但我没有源代码。异常发生jndiReference = ic.lookup(serviceName);在行中。 serviceName是资源的名称,jndiRoot始终为null(调用该方法的代码传入null)。该方法只是创建一个尚未getInitialContext()创建的新实例。javax.naming.InitialContext

映射到资源的属性文件中的行propertyserviceurl=url/LOGIN_MODULE_CONFIGURATION_SERVICE

我还尝试将 ResourceLink 添加到 Tomcats context.xml。我尝试使 ResourceLink 的名称唯一,并且 global 的值与实际资源相同。还尝试修改属性文件以映射到 ResourceLink 名称而不是 Resource 但我总是得到相同的结果。

例外

我在这个上花了几天时间,无法弄清楚我需要什么配置才能让它工作。我认为最大的障碍是我无法更改尝试访问资源的 java 代码。

0 投票
0 回答
1572 浏览

java - 无法初始化连接器

严重:无法初始化组件 [Connector[org.apache.coyote.http11.Http11AprProtocol-8443]] org.apache.catalina.LifecycleException:配置的协议 [org.apache.coyote.http11.Http11AprProtocol] 需要 APR/native 库这是不可用的。

下面是 Eclipse 霓虹灯服务器输出窗口 我已经评论了连接器http并打开了连接器http2

这是代码:

启动服务器时出现错误。

0 投票
0 回答
494 浏览

gzip - Tomcat 8.5 HTTP/2 连接器不支持 GZIP 压缩

看起来tomcat 8.5 H2协议不支持GZIP压缩。任何人都可以确认或提供有关如何启用它的建议吗?

以下不起作用:

0 投票
0 回答
465 浏览

java - Tomcat:将 HTTP 重定向到 HTTPS 时更改 HTTP 状态

当使用 Tomcat 的标准重定向时,服务器会生成一个 HTTP 状态代码302。是否可以将此代码更改为307

Tomcat的标准重定向:

有一个类似的问题。但是,提问者可以扩展LaxRedirectStrategy我们没有的扩展。如果可能,我们宁愿只更改配置设置。