Idea远程debug操作步骤(连接服务器)

Idea远程debug操作步骤【SpringBoot项目】

1 创建本地SpringBoot项目

注意,具体业务逻辑可以随意写,此处我为了简介,并没有严格按照规范来

1.1 定义service

@Service
public class AddService {

    public int add(int a, int b){
        int sum = a + b;
        System.out.println(sum);
        return sum;
    }
}

1.2 定义controller

@RestController
public class TestController {

    @Autowired
    private AddService addService;

    @RequestMapping("/test")
    public String testController(){
        int a = -1;
        int b = 4;
        System.out.println("addService.add(a, b) = " + addService.add(a, b));
        return "test....";
    }
}

1.3 启动类

@SpringBootApplication
//@EnableMBeanExport // 自动注册MBean
public class TestApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }
}

2 创建并配置远程连接

2.1 在本地idea配置远程连接

远程连接地址Host:填写自己服务器的地址即可
端口Port:5005(默认)
命令行参数(默认):-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

在这里插入图片描述

2.2 运行maven,将SpringBoot程序打包并上传启动(此处打成war包)

在这里插入图片描述
将打包好的war包,上传到linux服务器上

此处我上传到了test目录下

在这里插入图片描述

启动项目:
在这里插入图片描述

2.3 在本地打好断点(并以debug方式启动)

注意:本地java代码需要与linux服务器上的保持一致【否则debug会失败】

①在本地idea打断点
在这里插入图片描述

②以debug方式启动
在这里插入图片描述

③当出现Connected to the target VM,…表示与远程连接成功
在这里插入图片描述

④运行成功
在这里插入图片描述

⑤运行结果:
在这里插入图片描述

拓展 :

①war包与jar包区别

jar是普通java项目打包,通常是开发时要引用通用类,达成jar包便于存放管理
war是java web项目打包,web网站完成后,达成war包部署到服务器,目的是为了节省资源,提高效率。

  1. war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块,jar一般只是包括一些class文件,在声明了Main_class之后可以直接用java命令执行
  2. war是做好一个web应用后(通常是网站),打成包部署到容器中;jar包通常是开发时要引用通用类,打成包方便存放管理
  3. war是Sun公司提出的一种Web应用格式,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织;classes目录下包含编译好的Servlet类和Jsp或Servlet所依赖的其他类(如JavaBean)可以达成jar包放到WEB-INF的lib目录下
JAR文件格式以ZIP文件格式为基础。与ZIP不同的是,JAR文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件
程序,并可被类似于编译期和JVM这样的工具直接使用。
  • JAR文件:
    安全性:可以对JAR文件加上数字化签名,用于检测代码是否被篡改过
    减少下载时间:共用一个连接
    压缩:允许再压缩
    传输平台扩展:提供了向Java核心平台添加功能的方法
  • WAR文件:
    就是一个Web应用程序,建立WAR文件,就是把整个Web应用程序(不包括Web应用程序层次结构的根目录)压缩起来,指定一个war扩展名

②SpringBoot访问静态资源[统一配置]

项目结构:

在这里插入图片描述

controller层(配置页面跳转)
@Controller
public class TestController {

    @RequestMapping("/test")
    public String test(){
        return "test.html";
//        return "/test.html"; 此处/可不加
    }
}
yml文件设置静态资源映射路径
spring:
  mvc:
    static-path-pattern: /**  
    # HTTP的请求地址
  # static-path-pattern: /login/** 
  web:
    resources:
      static-locations: classpath:/static/, classpath:/templates/


  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值