问题标签 [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 投票
1 回答
614 浏览

java - Tomcat 8.5 识别新内容的时间太长

我有以下问题,我在C:\Tomcat85\webapps\MyWebApp\Excel\myExcel.xls.

一旦我的 Java 应用程序完成了文件的写入,它就会执行下载以供用户使用。这会产生令人讨厌的 404 错误。

如果我等待几秒钟并重新加载它下载的页面(或者在 java 中添加五秒钟的睡眠,它的工作原理相同)。

因此,我得出的结论是,Tomcat 需要 5 秒钟来识别这个新的 excel 文件存在,然后才能够为它提供服务。

有没有办法让 Tomcat 更快地执行这个任务?也许在 web.xml 中使用一些配置来区别对待“/Excel/”文件夹。

Windows 10 64 位、Tomcat 8.5、Java 7(可以尝试 java8,但我认为不会有什么不同)。

一些代码:

  • sleep 根据测试被评论或取消评论。没有睡眠,我得到 404,在 5 秒内睡眠它工作正常。
  • httpContet.wjLoc 只是执行下载,作为文件的链接。

写入工作正常,因为我在文件资源管理器中看到它已准备好并且可写,但如果我尝试通过 URL 打开它,我会得到相同的 404。

0 投票
1 回答
3605 浏览

eclipse - Tomcat 8.5 未出现在 Eclipse 中

我安装了 apache tomcat 8.5,但在 Eclipse Indigo 中创建动态 Web 项目时它没有出现。它仅显示 7.0 之前的版本。最后,我必须安装 tomcat 7 才能继续。可能是什么问题?

0 投票
2 回答
9380 浏览

centos7 - 如何在端口 80 上运行 tomcat 8.5 / 删除 8080。tomcat 8.5.16,centos 7 最小安装,托管 24

这个问题是 Tomcat 8.5 独有的,其他答案是针对 7 的,并且不像描述的那样工作

首先,我已经研究了 20 个小时的 tomcat 文档和在线问题。我已经从头开始构建服务器大约十次来学习该过程并尝试编写清晰的指南,以使服务器启动并运行以运行多个 Spring Boot Web 应用程序。

我目前无法让 tomcat 在端口 80 上运行,因此域名末尾没有“8080”。它在端口 8080 上运行良好。

“netstat -lnp grep 80”向我展示了这个:

所以没有使用端口 80。 systemctl status tomcat.service = running

firewall-cmd --list-all public (active) 目标:默认 icmp-block-inversion:无接口:venet0 源:服务:dhcpv6-client ssh 端口:8001/tcp 80/tcp 20/tcp 协议:伪装:无转发-ports:sourceports:icmp-blocks:丰富的规则:

端口在公共区域开放。

我目前正在尝试的方法是更改​​tomcat/conf/server.xml中的端口

这是我改变它的地方:

nmap 和在线工具说端口已关闭,但我相信这是因为没有使用该端口。只是我读过的,所以不确定。

iptables 中也没有规则,因此没有其他端口块。

显示的网页显示“无法访问此站点”

任何帮助都将不胜感激,因为我花了 20 个小时来研究服务器设置,但仍然对如何真正检查为什么这不起作用但为什么它在端口 8080 上起作用感到困惑。

我正在尝试通过 tomcat 运行多个 webapps。我计划将主机详细信息添加到 server.xml 的底部,我已经在端口 8080 上成功完成了此操作,但在端口 80 上没有与上述结果相同。

这是与以前的问题类似的问题,但答案不起作用我已经全部尝试过了。

0 投票
1 回答
358 浏览

ssl - tomcat 8.5 Centos 7 Nginx - 如何更改 War web 应用程序的起始文件夹

我已经安装了最小的 Centos7,然后是 Nginx 来反向代理和管理 SSL,然后是 Tomcat 8.5.16,并部署了一个 War 应用程序。

现在我的应用程序从 mywebapps.co.uk/mywebapp 运行

我想更改根文件夹,以便应用从 mywebapps.co.uk 运行

这是我尝试过的:

我编辑了我的 server.xml 以添加另一个主机,所以我有:

然后我有一个目录 /conf/Catalina/mywebapp 我创建了一个名为 mywebapp.xml 的文件,其中包含:

这是来自一个教程:http ://www.flashguides.co.uk/guide/Configuring_Virtual_Hosts_in_Tomcat

目前没有更改网站只能通过 mywebapps.co.uk/mywebapp 访问

0 投票
1 回答
5021 浏览

java - Tomcat 8.5 org.apache.juli maxDays 属性不起作用

我在我的 logging.properties 中写了以下配置:

日志完美地写入日志文件,但 maxDays 属性不起作用。意味着我在将日期更改为最多 6 天后手动运行了我的应用程序,但在达到 maxDays 后未删除日志文件。

https://tomcat.apache.org/tomcat-8.5-doc/logging.html上的 maxDays 属性说明:默认情况下,日志文件将永久保存在文件系统中。这可以使用 handlerName.maxDays 属性为每个处理程序更改。如果该属性的指定值为 <=0,则日志文件将永久保存在文件系统上,否则将保存指定的最长天数。

您能否帮助验证应用的配置是否正确?或者我理解 maxDays 属性使用错误。

0 投票
1 回答
466 浏览

tomcat - 将属性“算法”设置为“MD5”未找到匹配的属性

我在tomcat 7中定义了一个领域

在 Tomcat 8.5 中,我收到警告:

0 投票
0 回答
1969 浏览

tomcat - Tomcat mariadb 连接配置

我使用 CentOS 作为操作系统,使用 Mariadb 作为数据库服务器,使用 apache tomcat 8.5.xx 作为 Web 服务器。

Server.xml 中的资源代码如下:

我尝试使用普通的 MySQL 驱动程序进行连接,但我收到用户 hasan 的访问被拒绝错误。当我尝试使用 mariadbdriver 进行连接时,我在日志文件中收到以下错误:

我认为这是主要错误: 引起:java.sql.SQLNonTransientConnectionException:无法连接到地址=(主机=本地主机)(端口=3306)(类型=主):连接被拒绝(连接被拒绝)

0 投票
0 回答
357 浏览

java - 为 Tomcat 8.5 配置自定义领域,设置自定义 mbean-descriptor

我的任务是将我们的 Tomcat 服务器从 6.0 迁移到 8.5。可以想象,设置配置会有很多不一致之处,而且我对设置 Web 服务器的了解非常有限。为了让我们的自定义应用程序在新的 Tomcat 服务器上运行,我需要做的是创建一个自定义领域,以便我们的应用程序可以通过他们在 Active Directory 中的身份证来验证用户。自定义领域是在 conf/server.xml 文件中配置的。

然后我创建了一个自定义的 mbeans-descriptor 文件,将它放在与 JEDRealm.class 文件相同的目录中(这是 JNDIRealm.java 的修改版本,然后编译为 JEDRealm.class)。

所以在创建 JED_mbeans-descriptor 之后,我必须为它设置一个监听器。在 Tomcat 6.0 中,有:

但是,在 Tomcat_8.​​5 中,ServerLifecycleListener 已经停止使用,我不确定在哪里设置:

这是我尝试启动 Tomcat 时的日志文件副本。

请原谅我,如果我发布了太多信息。我以前从来没有设置/配置过网络服务器,所以我的知识有限。我所要做的只是 Tomcat 6.0 的配置文档,安装在 Windows 2008 服务器上,运行 Java 7。任何帮助将不胜感激!

0 投票
1 回答
5585 浏览

cookies - java.lang.IllegalArgumentException:Cookie 值中存在无效字符 [34]

这是我的 tomcat-users 文件的样子:

在 KIE IDE WORKBENCH 中输入正确的凭据后,出现以下异常:

0 投票
1 回答
22 浏览

javascript - 变量未在

变量 dialogTitle="[' + rowObject.date + '] 未在

问题是什么。


为什么 ChannelGroup 频道的大小总是一。即使我连接更多的客户?

ChannelInitializer因为每个新的Channel(客户)都会调用child 。在那里您正在创建 的新实例ProcessingHandler,因此每个频道都可以看到自己的ChannelGroup.

解决方案 1 - 渠道属性

使用Attribute并将其与Channel.

在某处创建属性(假设在Constants类内):

现在,创建将由所有实例使用的 ChannelGroup ProcessingHandler

ChannelInitializer在 NettyServer 中更新您的孩子:

现在您可以像这样在处理程序中访问 ChannelGroup 的实例:

这将起作用,因为每次新客户端连接时,都会使用相同的引用调用 ChannelInitializer ChannelGroup

解决方案 2 - 静态字段

如果您声明ChannelGroup为静态,则所有类实例都将看到相同的ChannelGroup实例:

解决方案 3 - 传播共享实例

将参数引入构造函数ProcessingHandler

现在,在您的 NettyServer 类中创建实例ChannelGroup并将其传播到 ProcessingHandler 构造函数:

就个人而言,我会选择第一个解决方案,因为

  • 它清楚地将 ChannelGroup 与 Channel 上下文相关联
  • 您可以在其他处理程序中访问相同的 ChannelGroup
  • 您可以拥有多个服务器实例(在同一 JVM 中的不同端口上运行)