How to check whether the tomcat server is listening on particular port? [duplicate]

让人想犯罪 __ 提交于 2020-01-24 01:59:06

问题


I'm trying to run a servlet program with tomcat as server. But the tomcat server is not running. I looked at the services.msc but it's not there. Below is the log created while running the servlet program via intelj

"E:\Avinash\Avinash\Inteljidea projects\apache-tomcat-8.0.23\bin\catalina.bat" run
[2015-06-12 11:15:57,837] Artifact servlet:war exploded: Server is not connected. Deploy is not available.
Using CATALINA_BASE:   "C:\Users\Van\.IntelliJIdea14\system\tomcat\Tomcat_8_0_23_servlet"
Using CATALINA_HOME:   "E:\Avinash\Avinash\Inteljidea projects\apache-tomcat-8.0.23"
Using CATALINA_TMPDIR: "E:\Avinash\Avinash\Inteljidea projects\apache-tomcat-8.0.23\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.8.0_45"
Using CLASSPATH:       "E:\Avinash\Avinash\Inteljidea projects\apache-tomcat-8.0.23\bin\bootstrap.jar;E:\Avinash\Avinash\Inteljidea projects\apache-tomcat-8.0.23\bin\tomcat-juli.jar"
12-Jun-2015 11:15:59.582 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.0.23
12-Jun-2015 11:15:59.584 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          May 19 2015 14:58:38 UTC
12-Jun-2015 11:15:59.584 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.0.23.0
12-Jun-2015 11:15:59.584 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Windows 8
12-Jun-2015 11:15:59.584 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            6.2
12-Jun-2015 11:15:59.584 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
12-Jun-2015 11:15:59.584 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             C:\Program Files\Java\jdk1.8.0_45\jre
12-Jun-2015 11:15:59.585 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_45-b15
12-Jun-2015 11:15:59.585 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
12-Jun-2015 11:15:59.585 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         C:\Users\Van\.IntelliJIdea14\system\tomcat\Tomcat_8_0_23_servlet
12-Jun-2015 11:15:59.585 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         E:\Avinash\Avinash\Inteljidea projects\apache-tomcat-8.0.23
12-Jun-2015 11:15:59.585 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote=
12-Jun-2015 11:15:59.585 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099
12-Jun-2015 11:15:59.585 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false
12-Jun-2015 11:15:59.585 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
12-Jun-2015 11:15:59.585 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1
12-Jun-2015 11:15:59.586 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Users\Van\.IntelliJIdea14\system\tomcat\Tomcat_8_0_23_servlet\conf\logging.properties
12-Jun-2015 11:15:59.586 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
12-Jun-2015 11:15:59.586 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.endorsed.dirs=E:\Avinash\Avinash\Inteljidea projects\apache-tomcat-8.0.23\endorsed
12-Jun-2015 11:15:59.586 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Users\Vanuston\.IntelliJIdea14\system\tomcat\Tomcat_8_0_23_servlet
12-Jun-2015 11:15:59.586 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=E:\Avinash\Avinash\Inteljidea projects\apache-tomcat-8.0.23
12-Jun-2015 11:15:59.586 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=E:\Avinash\Avinash\Inteljidea projects\apache-tomcat-8.0.23\temp
12-Jun-2015 11:15:59.586 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.1.33 using APR version 1.5.1.
12-Jun-2015 11:15:59.586 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
12-Jun-2015 11:16:00.718 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.0.1m 19 Mar 2015)
12-Jun-2015 11:16:01.278 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-apr-8080"]
12-Jun-2015 11:16:01.292 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-apr-8009"]
12-Jun-2015 11:16:01.293 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 2252 ms
12-Jun-2015 11:16:01.348 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
12-Jun-2015 11:16:01.349 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.23
12-Jun-2015 11:16:01.355 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8080"]
12-Jun-2015 11:16:01.362 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8009"]
12-Jun-2015 11:16:01.363 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 69 ms
Connected to server
[2015-06-12 11:16:01,503] Artifact servlet:war exploded: Artifact is being deployed, please wait...
[2015-06-12 11:16:02,178] Artifact servlet:war exploded: Artifact is deployed successfully
[2015-06-12 11:16:02,178] Artifact servlet:war exploded: Deploy took 675 milliseconds

It actually opened the webpage but fails to print the message hello world. I think tomcat is not running on the specified port 8080.

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <servlet>
        <servlet-name>servlet</servlet-name>
        <servlet-class>Servlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>servlet</servlet-name>
        <url-pattern>/myservlet</url-pattern>
    </servlet-mapping>

</web-app>

Update:

localhost:8080/myservlet displays the hello world page but we need to enter the address manually. But upon running servlet project directly from intelj, it opens localhost:8080 page which gives an empty page.

code:

@WebServlet(name = "Servlet")
public class Servlet extends HttpServlet {
    private String message;
    private String mes;
    public void init() throws ServletException
    {
        // Do required initialization
        message = "Hello World.";
        mes = "Welcome to our new Page..";
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // Set response content type
        response.setContentType("text/html");

        // Actual logic goes here.
        PrintWriter out = response.getWriter();
        out.println("<h1>" + message + "</h1></br>" + "<h2>" + mes + "</h2>");
    }
    public void destroy()
    {
        // do nothing.
    }
}

回答1:


  1. Seems the application has deployed successfully. Try to access the application using the machine name and the port.

E.g.:- < pc-name >:8080

  1. Else check in the tomcat server configuration connector details in;

    /conf/server.xml

In the server xml look for the connector details as below;

<Connector port="8080" address="localhost"
           maxHttpHeaderSize="8192" maxPostSize="262144"
           maxThreads="250" minSpareThreads="25"
           enableLookups="false" redirectPort="8443" acceptCount="100"
           connectionTimeout="60000" disableUploadTimeout="true" />

There should be a connector which allows your browser listen to port 8080 and address to access the server.

Please try with above details.




回答2:


Check your server.xml file for Connector definition. That should tell you what port your server is listening on.

Another way to find out is using TCPView. This tool will list out the TCP ports for a given process.



来源:https://stackoverflow.com/questions/30796658/how-to-check-whether-the-tomcat-server-is-listening-on-particular-port

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!