草庐IT

java - 我可以在端口 443 上安全地运行 Tomcat 而在 8080 上不安全地运行吗

让我解释一下我的情况。目前,我有很多应用程序在默认端口8080上的Tomcat6上运行。我刚刚创建了一些需要登录的应用程序。我打算购买SSL证书以安装到此服务器上。我不喜欢使用端口8443的想法,因为它会使URL更加复杂。如果我在端口80上运行Tomcat,我将不得不更改许多链接并且我必须以root身份(而不是tomcat)运行Tomcat。在8080端口上运行不安全的应用程序但在443端口上运行安全应用程序是否有任何问题?我想象我的设置将具有如下所示的URL:http://mydomain.com:8080/report/controller?id=weatherhttps://my

java - 在 Tomcat 服务器上的 Spring 应用程序中获取端口号和主机名

我的应用程序是一个基于Spring框架3.1.2的Web应用程序,部署在Apachetomcat6上。我需要在应用程序(服务器)启动时获取正在运行的应用程序端口号和主机名。这样我就可以在属性上覆盖它,并且需要其他bean初始化。spring是否提供任何选项来检索这些详细信息并在服务器启动时进行设置?.. 最佳答案 查看之前提出的两个问题:Gettheserverportnumberfromtomcatwithoutarequest和IneedtoknowtheHTTPandHTTPSportmyjavawebappisrunning

java - 在 tomcat7 maven 插件中设置 ENV 变量

有没有办法通过tomcat7-maven-plugin设置ENV变量?这样它们就会出现在System.getenv()中?可以使用设置系统属性出现在System.getProperties()中map。我正在寻找一种类似的方式来传递环境变量。 最佳答案 这里已经回答了:SettingUserEnvironmentVariablesfortomcatonWindowsFromanadmincommandpromptdothefollowingcommand:tomcat8//US//YourServiceName++Environme

java - 有没有办法从 Visual Studio Code 调试 Tomcat Java 应用程序

我是Java的新手,但需要对Java代码进行一些更改。为此,我更喜欢使用VisualStudioCode。Java代码使用Maven构建为.WAR文件并部署到Tomcat。有什么方法可以直接从VisualStudioCode调试这个应用程序吗? 最佳答案 VisualStudioCode有很多工具可以在市场上执行此操作。对于Tomcat,您可以使用:https://marketplace.visualstudio.com/items?itemName=adashen.vscode-tomcat你可以做所有这些事情:从Tomcat安装

java - 为 Tomcat 7 配置 SSL 导致 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误

我按照以下步骤为Tomcat7设置SSL,从我的CA下载我的证书后,我:使用Javakeytool将根证书、中间证书和我的站点证书导入本地keystore。将tomcatserver.xml文件修改为(许多站点都有类似的配置):一切似乎都很好,直到我打开浏览器访问该站点并在Chrome中出现ERR_SSL_VERSION_OR_CIPHER_MISMATCH错误,在Firefox中出现“无通用加密算法”错误。我花了几个小时但仍无法弄清楚问题是什么,并感谢那些可以阐明这个问题的人。更新keystoreFile修改为.pfx文件后可以正常使用,但是为什么按照javakeystore(.ke

JavaCompiler API - 在 tomcat 中运行时编译速度慢

我的应用程序在运行时生成Java代码并使用JavaCompilerAPI对其进行编译。一些生成的文件可能相当大——多达几十万行。我发现当我在命令行中对生成的代码运行javac命令时,或者如果我使用仅通过JavaCompilerAPI进行编译的应用程序,我可以编译其中的许多文件(~500),即使它们非常大,也可以在两分钟内完成。但是,如果我在Tomcat服务器上运行时通过我的应用程序调用API,则编译时间会超过12分钟(!!!)。如果有任何关于如何提高编译性能的建议,我将不胜感激。谢谢! 最佳答案 尝试将线程优先级设置为最高值(在线程

Java Servlet 部署 - 嵌入与否 - Tomcat/Jetty

我有几个部署到生产环境的网络应用程序。我使用Tomcat作为我的servlet引擎已有10年了。我正在考虑从deploy-a-war-into-Tomcat模型转向嵌入Jetty模型。这些网络应用程序部署在多个服务器上,其中一些是水平扩展的(使用基于nginxIP散列的分区)。我看到了一些优势:我可以为特定的网络应用程序配置我的servlet引擎(而不是为运行多个不同网络应用程序的Tomcat进行通用配置)通过在同一主机上运行多个Jetty实例(配置为监听不同端口),可以更轻松地水平扩展我的Web应用程序。我也可以用Tomcat做到这一点(我过去在同一台主机上运行过多个tomcat实例

java - 在 tomcat/shared/lib 中获取 jar 以使用调用它们的 webapp 的配置进行记录

我希望将我们的tomcat实例从5.5.27升级到6.0.32,但我在从shared/lib目录中的jars进行日志记录时遇到了一些问题(我在tomcat6中重新创建了该目录)。我们有一个jar文件,它是我们在构建过程中创建的,其中包含一些通用代码,在tomcat5下,它位于shared/lib下。当我们从这个jar文件中的代码编写日志语句时,它们被写入当时调用该jar的Web应用程序的日志文件。我们的每个webapps在其WEB-INF/lib目录中都有一个log4j.properites和log4j.jar,在shared/lib中也有一个log4j.jar,但没有log4j/pr

java - NoClassDefFoundError : org/apache/catalina/startup/Bootstrap when running tomcat from exe/as service

我已经通过startup.bat运行Tomcat6.0.37服务器很长一段时间了。现在我想将tomcat作为一项服务运行,它会在机器启动时自动启动。我用bat创建了服务:service.batinstall。这成功地创建了服务。当试图启动它时,我在标题中得到了错误。然后我尝试只运行exe(tomcat6.exe)。这给了我完全相同的错误。我检查过CATALINA_HOME、JAVA_HOME和JRE_HOME设置是否正确。bootstrap.jar确实存在于tomcat/bin中。jvm的路径是正确的。jvm.dll确实存在于jre6/bin/server中。我还发现了一个线程,其中缺

java - 读取 HTTPServletRequest 的 POST 主体,然后在 Tomcat 中调用 getParameter

我的应用程序需要检查POST请求的内容/数据/正文/有效负载而不更改后续getParameter调用的结果。从输入流中读取正文:可以使用request.getInputStream中的InputStream或request.getReader中的BufferedReader读取正文。读取POST参数:POST请求通常在请求正文中包含请求参数。这些可以使用getParameter检索。问题:第一个getParameter调用在内部解析inputStream并将所有参数插入到参数HashMap中。它要求inputStream仍然包含要解析的内容。因此,无法在检查内容的同时调用有效的getP