标签: tomcat6

在没有请求的情况下从tomcat获取服务器端口号

是否有任何Tomcat API或配置可以告诉应用程序(可能在启动时),它在没有请求的情况下运行的端口是什么?

想象一下,有两个Web应用程序在同一个Tomcat中运行,其中一个需要从另一个调用Web服务.我们不希望请求离开Tomcat(如果您使用Apache服务器名称或绝对URL,请求将退出并再次返回,它可以转到任何实例)并返回.为此,我知道机器名称但无法获取端口号.我知道我可以硬编码这些信息,但我不想这样做,因为我希望我的war文件与应用服务器无关.

我知道如果我们有HTTPServletRequest,我们可以找到它

这仅适用于Tomcat 6,不适用于Tomcat 7

java tomcat application-server tomcat6 java-ee

31
推荐指数
3
解决办法
5万
查看次数

CATALINA_HOME环境变量未正确定义

我安装的Apache Tomcat 6.0到一个C:/Program Files文件夹,我设置环境变量JAVA_HOMECATALINA_HOME,但是当我使用启动服务器startup.bat,我得到的错误:

CATALINA_HOME环境变量未正确定义.

我的CATALINA_HOME环境变量设置为CATALINA_HOME=C:\Program Files\apache-tomcat-6.0.35.

我做错了什么?

tomcat6 catalina

29
推荐指数
4
解决办法
14万
查看次数

如果不重新启动Tomcat,为什么不反映我的JSP更改?

我正在编辑直接驻留在内部的JSP文件tomcat/webapps/myapp/WEB-INF,但要查看更改,我必须重新启动服务器.据我所知,JSP更改不需要您重新启动服务器.我找到的与自动重新加载有关的唯一配置是reloadable ="true"

如果您希望Catalina监视/ WEB-INF/classes /和/ WEB-INF/lib中的类以进行更改,则设置为true;如果检测到更改,则自动重新加载Web应用程序.

我在中使用了这个属性context.xml,但问题仍然存在.在没有重新启动的情况下,如果没有检测到JSP文件中的更改,可能是什么原因?

@Bozho: 这是摘自web.xml.我需要改变什么吗?

 <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>
Run Code Online (Sandbox Code Playgroud)

jsp tomcat tomcat6

28
推荐指数
4
解决办法
8万
查看次数

无法在Eclipse上运行"在服务器上运行"的Web应用程序

从Eclipse运行我的WebApp项目时,它大多数时候都能正常运行.但如果错误地停止服务器,我会在"控制台"视图中将其删除,而不是从"服务器"视图中"停止"服务器.在运行干净的项目时我得到了这个

java.lang.NullPointerException
at org.eclipse.wst.common.componentcore.internal.util.VirtualReferenceUtilities.getDefaultProjectArchiveName(VirtualReferenceUtilities.java:81)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getJavaClasspathReferences(J2EEModuleVirtualComponent.java:332)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getNonManifestRefs(J2EEModuleVirtualComponent.java:236)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:160)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:208)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:201)
at org.eclipse.jst.common.internal.modulecore.SingleRootUtil.hasConsumableReferences(SingleRootUtil.java:217)
at org.eclipse.jst.common.internal.modulecore.SingleRootUtil.validateSingleRoot(SingleRootUtil.java:165)
at org.eclipse.jst.common.internal.modulecore.SingleRootUtil.isSingleRoot(SingleRootUtil.java:93)
at org.eclipse.jst.common.internal.modulecore.SingleRootExportParticipant.canOptimize(SingleRootExportParticipant.java:84)
at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.canOptimize(FlatVirtualComponent.java:136)
at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.cacheResources(FlatVirtualComponent.java:118)
at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.fetchResources(FlatVirtualComponent.java:101)
at org.eclipse.wst.web.internal.deployables.FlatComponentDeployable.members(FlatComponentDeployable.java:147)
at org.eclipse.wst.server.core.internal.ModulePublishInfo.hasDelta(ModulePublishInfo.java:418)
at org.eclipse.wst.server.core.internal.ServerPublishInfo.hasDelta(ServerPublishInfo.java:443)
at org.eclipse.wst.server.core.internal.Server.hasPublishedResourceDelta(Server.java:1539)
at org.eclipse.wst.server.core.internal.Server$ResourceChangeJob$1.visit(Server.java:214)
at org.eclipse.wst.server.core.internal.Server.visitModule(Server.java:2929)
at org.eclipse.wst.server.core.internal.Server.visit(Server.java:2913)
at org.eclipse.wst.server.core.internal.Server$ResourceChangeJob.run(Server.java:225)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Run Code Online (Sandbox Code Playgroud)

在启动时,我得到了这个

SEVERE: Error starting static Resources
java.lang.IllegalArgumentException: Document base D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Webapp does not exist or is not a readable directory
    at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:142)
    at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4319)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
Run Code Online (Sandbox Code Playgroud)

请帮助从中恢复.

eclipse tomcat6 eclipse-wtp

27
推荐指数
3
解决办法
6万
查看次数

使用不同的路径将war文件部署到Tomcat

如果我将war文件部署到Tomcat,例如foo-bar-1.1.2.war,我该如何部署它以便将其解压缩到webapps/bar并且其URL根目录为/ bar/...

我的目的是将war文件保存在webapps服务器及其版本信息中,以便我知道安装了哪个版本,但是它会覆盖以前版本的应用程序.

我可以使用PSI Probe部署war文件.这将允许我为Web应用程序指定目标上下文.但是,这意味着我将丢失war文件名中的任何版本信息.

java tomcat servlets tomcat6

25
推荐指数
3
解决办法
6万
查看次数

在WAR-File中定义Servlet上下文

在给出WAR-File时,如何告诉Tomcat使用特定的上下文路径?

示例:我有一个由maven build创建的war文件,结果文件的名称相当长.所以我不希望tomcat管理器应用程序使用war的文件名作为上下文.

在META-INF中提供context.xml不会产生所需的结果

我还在文档中找到了以下path属性Context:

除非在server.xml中静态定义Context,否则不得设置此字段的值,因为它将从用于.xml上下文文件或docBase的文件名中推断出来.

所以它似乎不是告诉应用程序服务器应该是什么路径的正确方法.

还有什么提示吗?

java tomcat maven-2 tomcat6

24
推荐指数
2
解决办法
6万
查看次数

面对关于ubuntu 10.04上的tomcat启动和关闭的一些问题

我正面临一些关于tomcat启动和关闭的问题.

我在用

  1. Tomcat v.6.0.32(使用提取的从Apache网站下载的捆绑包而不是由Ubuntu 10.04分发的捆绑包)
  2. Ubuntu v.10.04

我使用命令启动tomcat:

$./catalina.sh jpda start
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用命令停止它:

$./catalina.sh stop
Run Code Online (Sandbox Code Playgroud)

并获得以下消息:

SEVERE: Catalina.stop: 
java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:529)
    at java.net.Socket.connect(Socket.java:478)
    at java.net.Socket.<init>(Socket.java:375)
    at java.net.Socket.<init>(Socket.java:189)
    at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:422)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:338)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:416)
Run Code Online (Sandbox Code Playgroud)

我也尝试使用命令停止它:

$./catalina.sh stop -force
Run Code Online (Sandbox Code Playgroud)

但我收到了消息:

Kill failed: $CATALINA_PID not set
Run Code Online (Sandbox Code Playgroud)

然后我再次尝试使用命令启动tomcat:

$./catalina.sh jpda start
Run Code Online (Sandbox Code Playgroud)

在/ logs文件夹中,仅生成catalina.out,并显示以下错误消息:

ERROR: transport error 202: bind failed: Address already in use …
Run Code Online (Sandbox Code Playgroud)

shutdown tomcat6 ubuntu-10.04

24
推荐指数
2
解决办法
7万
查看次数

如何确定Tomcat中的最佳线程数?

如何在Tomcat中确定maxSpare,minSpare和maxThreads,acceptCount等的最佳数量?是否存在最佳实践?

我确实理解这需要基于硬件(例如每个核心),并且只能作为特定硬件上进一步性能测试和优化的基础.

multithreading tomcat6

23
推荐指数
1
解决办法
1万
查看次数

在webapp中正常关闭ExecutorService?

在我的webapp中,我创建了一个ExecutorService使用固定大小的ThreadPool的服务.我ExecutorService在整个应用程序生命周期中重复使用它.

private static ExecutorService pool = Executors.newFixedThreadPool(8);
Run Code Online (Sandbox Code Playgroud)

所有都在Tomcat中运行,它在向下发出错误时给出了以下错误:

appears to have started a thread named [pool-1-thread-1] but has failed to stop it. This is very likely to create a memory leak.
Run Code Online (Sandbox Code Playgroud)

我确实意识到我需要在关闭tomcat之前关闭ExecutorService.Soms SO线程已经谈到了这一点,但我找不到一个干净的方法来处理这个问题.

我是否应该ShutdownHook线程和执行程序的正常关闭中使用@ Tim-bender ?或者我应该使用CachedThreadPool吗?

java multithreading executorservice tomcat6

23
推荐指数
2
解决办法
7095
查看次数

无法从IntelliJ IDEA 12.1.4 Ultimate启动Apache Tomcat 6(Windows 7)

我需要在IntelliJ IDEA中为Tomcat6调试Web应用程序.

当我尝试运行我的Web应用程序时,我收到两个错误:

  1. 地址localhost:1099已在使用中
  2. 无法打开调试器端口:java.net.SocketException

手动启动Apache Tomcat 6服务工作正常.

我应该怎么做才能从Intellij IDEA调试Apache Tomcat 6中的Web应用程序?

java tomcat intellij-idea tomcat6

23
推荐指数
5
解决办法
5万
查看次数