草庐IT

java - 具有多个应用程序的 Tomcat 上的类加载器行为

在Tomcat5.5服务器上,我将一个类放在系统类路径中(并修改catalina.bat以选择它),或者如果我将类放在共享库目录中。现在,如果我有两个不同的应用程序使用相同的类,但它们的WEB-INFlib/classes目录中没有该类,它们将使用该类的相同实例。我理解类加载器将委托(delegate)给它的父类加载器来查找类的概念,如果它找不到它,所以在这种情况下,因为类不存在于WEB-INF/classes或WEB-INF/lib中WebAppX类加载器将分别尝试共享类加载器、公共(public)类加载器和系统类加载器。然而,这对我来说似乎有点奇怪,因为两个不同的应用程序可以使用这

java - 如何避免请求集 ASYNC_SUPPORTED=true 以在 Tomcat 7 上启用异步 servlet 3.0 处理?

在此question上报告了一个问题之后,找到解决方案:req.setAttribute("org.apache.catalina.ASYNC_SUPPORTED",true);这看起来有点奇怪并且不是真正的“可移植”代码(它不会造成伤害,但是......)。它似乎特定于Tomcat7。我使用的是NetBeans7.0.1提供的Tomcat7.0.14。我找不到表明有必要在servlet3.0中使用catalina属性启用异步请求处理的文档。我找不到表明在Tomcat配置级别也需要一些特殊内容的文档。有没有办法避免必须在每个请求中设置ASYNC_SUPPORTED=true以在Tomc

java - Tomcat:热部署新 jar

能否在Tomcat5上热部署JAR文件?这个想法是为了避免重新启动Tomcat,并且仍然能够(通过反射)从新添加的JAR中加载一些类。可以吗?如何?生产系统不可取吗?谢谢编辑:我的方案需要添加事先不知道名称的新JAR文件。服务器可以“监视”JAR目录而不是特定JAR吗? 最佳答案 Tomcat不提供任何机制来重新加载单个JAR。但是,可以重新加载整个上下文。你只需要告诉Tomcat在context.xml中监视你的JAR,就像这样,WEB-INF/web.xmlWEB-INF/lib/your.jar我们在生产中这样做。Tomcat

java - 在 Tomcat 上访问 wsdl

我有一个Web服务,我正在GlassFish上部署它。我通过http://localhost:10697/APIService/APIServiceService?wsdl访问了它的wsdl.现在我将WAR文件移植到Tomcat6.0.24并进行了部署。但是我正在尝试使用http://localhost:8080/APIService/APIServiceService?wsdl访问它的wsdl但我收到404错误。我尝试了各种组合,但似乎都不起作用。请问如何访问wsdl文件?感谢和问候,更新:您在这里:web.xml:30index.jsp但是我找不到sun-jaxws.xml...非

docker制作tomcat基础镜像,最方便快捷,升级的3种方法

目录1.使用原有旧版tomcat镜像,制作新版官方tomcat镜像2.容器内修改文件打包成新tomcat镜像3.使用官方安装包制作镜像1.使用原有旧版tomcat镜像,制作新版官方tomcat镜像示例需求:在tomcat修改文件conf/server.xml中的Connector模块下添加参数maxHttpHeadersize="2000"并升级tomcat版本至8.5.82,制作一个新镜像镜像容器内的文件传到本机操作指引:1、dockerimages|greptomcat #查看tomcat基础镜像id注:使用dockerrun-it镜像id/bin/bash #进入容器命令,查看文件路径2

java - Tomcat session 超时 web.xml

这是我的web.xml文件,它位于WEB-INF/lib中。它指定1分钟的session超时,但它不会在用户Activity1分钟后超时。Web.xml:LoginLoginLogin/Login1我在我的jsp文件中使用了session.getMaxInactiveInterval()这一行,它输出了1800(30分钟)。有人知道为什么它默认为30而不是使用我的web.xml文件中指定的时间吗?编辑:我的jsp页面上有代码检查session属性,如果它确实存在,则在一分钟后将用户重定向到登录页面,即使在页面刷新时用户也不会被重定向。if(session.getAttribute("u

java - 防止 tomcat 7 在每次覆盖/取消部署我的 webapp 时删除我的自定义上下文文件

我在tomcat7上部署了一个Web应用程序。它的名为myAppName.xml的上下文文件位于$CATALINA_HOME/conf/Catalina/localhost文件夹。我面临的问题是,每次覆盖或取消部署时,我的配置文件都会从$CATALINA_HOME/conf/Catalina/localhost文件夹中删除,我必须从备份位置复制/粘贴它。我怎样才能防止这种行为?我不想每次在webapp中更改某些内容时都复制/粘贴上下文文件。 最佳答案 将它放入源代码树中的web/META-INF中,然后Tomcat会在每次部署时将其

MAC 安装配置使用Tomcat

一、下载安装Tomcat打开Tomcat官网选择需要使用到的Tomcat版本下载指定版本压缩包,如下图选择tar.gz文件解压Tomcat压缩包文件将解压包重命名为Tomcat(方便后续文件操作,也可省去此步骤),拷贝到/Library(资源库)目录中二、Tomcat使用通过终端Terminal打开Tomcat中的bin目录,操作命令如下cd~/Library/Tomcat/bin授权使用Tomcatbin目录下的所有操作,操作命令如下sudochmod755*.sh回车使用后,需要输入管理员密码启动Tomcat,操作命令如下sudosh./startup.sh可以看到终端显示Tomcatst

java - Apache httpd 和 Tomcat 如何协同工作?

我正在继承一个涉及Java网络应用程序的项目,该应用程序的后端由Apachehttpd/Tomcat组合提供支持。Web服务器用于返回JS、静态内容并执行一般负载平衡,而Tomcat通过单个WAR文件返回JSP。我将在今天晚些时候或明天获得对代码库的访问权限,但我想尝试提前做一些研究。我的问题可以概括为:这两者如何协同工作?谁最先收到HTTP请求?httpd如何知道何时将JSP请求转发到Tomcat,或仅自己响应请求?httpd如何将请求“传递”给Tomcat,并“接收”来自Tomcat的响应?它只是将请求/响应“复制粘贴”到Tomcat正在监听的端口吗?是否正在进行某种操作系统级别的

java - Servlet从tomcat 7中的多部分表单获取参数

这个问题在这里已经有了答案:HowcanIuploadfilestoaserverusingJSP/Servlet?(14个答案)关闭7年前。正在制作项目,需要上传文件。所以,我正在使用enctype="multipart/form-data"通知。但是我无法解析请求中的参数。我也试过getPart但它返回空白字符串。Servlet代码-->importjava.io.File;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.List;importjavax.servlet.ServletExcep