如何检查tomcat服务器是否正在侦听特定端口?

时间:2015-06-12 06:31:58

标签: java tomcat servlets intellij-idea

我正在尝试使用tomcat作为服务器运行servlet程序。但是tomcat服务器没有运行。我查看了services.msc,但它不在那里。 下面是通过intelj

运行servlet程序时创建的日志
"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

它实际上打开了网页,但无法打印消息hello world。我认为tomcat没有在指定的端口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>

更新

localhost:8080/myservlet显示hello world页面,但我们需要手动输入地址。但是直接从intelj运行servlet项目时,它会打开localhost:8080页面,它会给出一个空页面。

代码:

@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.
    }
}

2 个答案:

答案 0 :(得分:2)

  1. 似乎应用程序已成功部署。尝试使用计算机名称和端口访问应用程序。
  2. 例如: - &lt;个人电脑名称&gt;:8080

    1. 否则请检查;

      中的tomcat服务器配置连接器详细信息

      /conf/server.xml

    2. 在服务器xml中查找连接器详细信息,如下所示;

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

      应该有一个连接器,允许浏览器监听端口8080和地址以访问服务器。

      请尝试以上详细信息。

答案 1 :(得分:1)

检查server.xml文件中的连接器定义。这应该告诉你服务器正在监听什么端口。

另一种找出方法是使用TCPView。此工具将列出给定进程的TCP端口。