• Remote Debugging (3)


    use Eclipse| a Web application

    创建一个简单的web项目

    AServlet.java

    package cn.zno;
    
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class AServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            
            response.getWriter().append("Served at: ").append(request.getContextPath());
            
        }
    
    }
    AServlet.java

    web.xml

    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>
      <display-name>Archetype Created Web Application</display-name>
      <servlet>
          <servlet-name>AServlet</servlet-name>
          <display-name>AServlet</display-name>
          <description></description>
          <servlet-class>cn.zno.AServlet</servlet-class>
      </servlet>
      <servlet-mapping>
          <servlet-name>AServlet</servlet-name>
          <url-pattern>/AServlet</url-pattern>
      </servlet-mapping>
    </web-app>
    web.xml

    pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>cn.zno</groupId>
        <artifactId>za</artifactId>
        <packaging>war</packaging>
        <version>1.0</version>
        <name>za Maven Webapp</name>
        <url>http://maven.apache.org</url>
        <dependencies>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.5</version>
                <scope>provider</scope>
            </dependency>
    
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>3.8.1</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
        <build>
            <finalName>za</finalName>
        </build>
    </project>
    pom.xml

    构建一个war

    [INFO] Building war: F:eworkspacetestza	argetza.war

    部署到远程tomcat并以debug模式启动

    %CATALINA_HOME%/webapps/

    webapps
    │   host-manager
    │   manager
    │   ROOT
    │   za.war

    设置debug模式的参数(通过setenv.bat设置)

    %CATALINA_HOME%/bin/  下添加文件 setenv.bat 内容如下

    set "JAVA_OPTS= -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=y %JAVA_OPTS%"

    如下图:

    该文件会自动被catalina.bat 执行

    启动

    F:e	omcatapache-tomcat-7.0.70in>startup.bat

     会出现挂起的tomcat

    启动debugger

     

    远程电脑tomcat会继续执行,将 za 部署,日志如下:

    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server version:        Apache Tomcat/7.0.70
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server built:          Jun 15 2016 16:27:45 UTC
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server number:         7.0.70.0
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: OS Name:               Windows 7
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: OS Version:            6.1
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Architecture:          amd64
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Java Home:             F:ejavajdk1.8.0_101jre
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: JVM Version:           1.8.0_101-b13
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: JVM Vendor:            Oracle Corporation
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: CATALINA_BASE:         F:e	omcatapache-tomcat-7.0.70
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: CATALINA_HOME:         F:e	omcatapache-tomcat-7.0.70
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Xdebug
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=y
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djava.util.logging.config.file=F:e	omcatapache-tomcat-7.0.70conflogging.properties
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djava.endorsed.dirs=F:e	omcatapache-tomcat-7.0.70endorsed
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dcatalina.base=F:e	omcatapache-tomcat-7.0.70
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dcatalina.home=F:e	omcatapache-tomcat-7.0.70
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djava.io.tmpdir=F:e	omcatapache-tomcat-7.0.70	emp
    Sep 20, 2016 12:18:23 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: F:ejavajdk1.8.0_101in;C:WindowsSunJavain;C:Windowssystem32;C:Windows;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program FilesMicrosoftWeb Platform Installer;C:Program Files (x86)Microsoft ASP.NETASP.NET Web Pagesv1.0;F:ejavajdk1.8.0_101in;C:Program FilesTortoiseSVNin;E:apache-ant-1.9.6in;C:Program FilesGitcmd;F:emavenapache-maven-3.2.5in;.
    Sep 20, 2016 12:18:23 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-bio-8080"]
    Sep 20, 2016 12:18:23 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 838 ms
    Sep 20, 2016 12:18:23 PM org.apache.catalina.core.StandardService startInternal
    INFO: Starting service Catalina
    Sep 20, 2016 12:18:23 PM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.70
    Sep 20, 2016 12:18:23 PM org.apache.catalina.startup.HostConfig deployWAR
    INFO: Deploying web application archive F:e	omcatapache-tomcat-7.0.70webappsza.war
    Sep 20, 2016 12:18:24 PM org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
    INFO: validateJarFile(F:e	omcatapache-tomcat-7.0.70webappszaWEB-INFlibservlet-api-2.5.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
    Sep 20, 2016 12:18:24 PM org.apache.catalina.startup.HostConfig deployWAR
    INFO: Deployment of web application archive F:e	omcatapache-tomcat-7.0.70webappsza.war has finished in 551 ms
    Sep 20, 2016 12:18:24 PM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory F:e	omcatapache-tomcat-7.0.70webappshost-manager
    Sep 20, 2016 12:18:24 PM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deployment of web application directory F:e	omcatapache-tomcat-7.0.70webappshost-manager has finished in 127 ms
    Sep 20, 2016 12:18:24 PM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory F:e	omcatapache-tomcat-7.0.70webappsmanager
    Sep 20, 2016 12:18:24 PM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deployment of web application directory F:e	omcatapache-tomcat-7.0.70webappsmanager has finished in 92 ms
    Sep 20, 2016 12:18:24 PM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory F:e	omcatapache-tomcat-7.0.70webappsROOT
    Sep 20, 2016 12:18:24 PM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deployment of web application directory F:e	omcatapache-tomcat-7.0.70webappsROOT has finished in 79 ms
    Sep 20, 2016 12:18:24 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["http-bio-8080"]
    Sep 20, 2016 12:18:24 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["ajp-bio-8009"]
    Sep 20, 2016 12:18:24 PM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 977 ms

    访问浏览器

    http://localhost:8080/za/AServlet

    即可进入到AServlet中的断点

    浏览器页面加载中且进入到了Eclipse中的断点

    继续执行后,浏览器显示结果

  • 相关阅读:
    nginx+uWSGI+django+virtualenv+supervisor发布web服务器
    Nginx负载均衡
    python操作 redis
    Python之Linux下的 virtualenv
    python习题:写一个函数-校验字符串是否为合法的小数
    python习题:修改文件里的内容
    python习题:如果同一个ip地址60s之内访问超过200次,那么就把这个ip地址加入黑名单
    python自动化测试-D4-学习笔记之三(函数)
    python自动化测试-D4-学习笔记之二(集合)
    python自动化测试-D4-学习笔记之一(文件读写补充)
  • 原文地址:https://www.cnblogs.com/zno2/p/5886290.html
Copyright © 2020-2023  润新知