`

java的debug和release编译方式,以及在springMVC中传参的问题

 
阅读更多

java编译成.class 有两种模式: debug模式和release模式

使用javac,默认使用的release模式,改变默认值则需要在javac 后面加上 -g,也就是 java -g sourceFile

 

release模式下会改变方法参数的名称,例如下面的java代码:

 

public class Test {  
    private static void sayHello(){  
        System.out.println("Hello world");  
    }  
   
    public static void main(String[] args){  
        sayHello();  
    }  
}

 

 

使用不同的编译方法编译该java文件,可以发现,使用debug模式编译产生的Test.class(如下)和用release模式编译(如下)出来的参数名上有所区别

debug方法:

 

public class Test  
{  
  private static void sayHello()  
  {  
    System.out.println("Hello world");  
  }  
   
  public static void main(String[] args) {  
    sayHello();  
  }  
}

 

 

release方法:

 

public class Test  
{  
  private static void sayHello()  
  {  
    System.out.println("Hello world");  
  }  
   
  public static void main(String[] paramArrayOfString) {  
    sayHello();  
  }  
}

 

 

 

这也可以解释为什么在spring MVC 中controller的注解初始化参数建议指定名称

@RequestMapping(/test/{str})  
public String test(@PathVariable String str){  
     System.out.println(str);  
     return null;  
}

 

项目部署如果使用的是release版本,这样str(参数中的str发生变化)而非RequestMapping中的{str}这样就对应不起来了。。。然而dubug模式下方法参数名称不会发生变化

 

注意:开发工具myeclipse编译java代码使用的就是debug模式,如果想让其使用release编译则只要在:Project->Properties->Java Compiler ->Add variable attributes to generated class files 勾选去掉即可。

如下图所示:

 

 

 

  • 大小: 43.9 KB
分享到:
评论

相关推荐

    微信 java weixin-java-tools-springmvc-master

    微信 java weixin-java-tools-springmvc-master 微信 java weixin-java-tools-springmvc-master

    SpringMVC5.0jar包集合

    在本文中,我们将深入探讨SpringMVC 5.0版本的关键特性、使用方法以及它如何增强Web开发的效率。 首先,SpringMVC 5.0是基于Java的Web开发的强大工具,其主要目标是简化MVC应用程序的开发,提供松耦合的组件,以及...

    Http请求传参SpringMVC接收参数详细解析

    在Web开发中,SpringMVC框架是Java领域中处理HTTP请求的常用工具,它提供了多种接收前端传参的方式。本文将深入解析SpringMVC如何处理GET和POST请求中的参数,以及如何使用@RequestParam和@RequestBody注解。 1. ...

    SpringMVC中后台转换json格式

    在开发Web应用时,SpringMVC作为Spring框架的一部分,常被用于处理HTTP请求和响应。在前后端交互中,JSON...在实际项目中,还可能需要考虑JSON安全问题,例如防止XSS和CSRF攻击,以及优化性能,如使用GZIP压缩等。

    java springmvc mapping 逆向生成

    首先,Mybatis是一个流行的Java持久层框架,它提供了一种灵活的方式来将SQL语句与Java代码绑定,而Mapping文件是Mybatis中非常关键的部分,它定义了数据库表字段与Java对象属性之间的映射关系,以及SQL查询语句。...

    SpringMVC Demo_java_springmvc_DEMO_

    这个名为"SpringMVC Demo_java_springmvc_DEMO_"的项目是一个演示示例,旨在展示如何在Java项目中集成和使用SpringMVC。通过这个项目,我们可以学习到以下关键知识点: 1. **环境配置**:首先,我们需要一个Java...

    Java SpringMVC 学习路线.pdf

    在开始学习SpringMVC之前,需要了解如何搭建开发环境,包括创建Dynamicweb项目、导入SpringMVC所需jar包、编写TestController类、创建JSP页面、配置springmvc.xml核心配置文件以及在web.xml中配置前端控制器。...

    java SpringMVC登录

    在这个项目中,我们将深入探讨如何结合SpringMVC和MyBatis实现一个登录功能。 首先,SpringMVC是Spring框架的一部分,它通过DispatcherServlet处理HTTP请求,并将请求分发到相应的处理器。在登录功能中,我们通常会...

    Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码.zip

    Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+...

    基于Java的SpringMVC以及Mybatis校园二手交易平台

    【标题】"基于Java的SpringMVC以及Mybatis校园二手交易平台"揭示了这是一个采用Java编程语言,基于SpringMVC和Mybatis框架构建的在线二手商品交易系统,主要面向校园用户。SpringMVC是Spring框架的一个模块,用于...

    java-mybatis、springmvc 整合demo源码(druid-demo)

    最后,通过这个示例,我们可以深入理解Java、MyBatis、SpringMVC和Druid的协同工作方式,以及在实际项目中如何处理事务管理问题。这对于我们提升Java后端开发能力,尤其是微服务架构中的事务处理技巧,有着极大的...

    java中的springMVC模式调用过程

    java中的springMVC模式调用过程,该图片显示了如果在java中使用springMVC的模式调用数据库过程。

    浅谈SpringMVC HandlerInterceptor诡异问题排查

    本文将主要介绍如何排查SpringMVC HandlerInterceptor中的诡异问题,解决问题的思路和方法,并对相关的源代码进行分析和解释。 一、问题发现 在进行压测时,发现有一些接口时好时坏,即使是同一个用户,在不同的...

    java订单管理系统,使用springMVC、hibernate、jui实现

    【Java订单管理系统】是基于SpringMVC、Hibernate和JUI技术构建的一款Web应用程序,主要用于实现对订单、配送和发票等核心业务流程的高效管理。这个系统利用了Java强大的后端处理能力和灵活的数据持久化框架,结合...

    Spring+SpringMVC+Mybatis框架整合例子(SSM) 下载

    Spring、SpringMVC和Mybatis是Java开发中最常用的三大开源框架,它们的整合使用,通常被称为SSM框架。这个框架组合提供了完整的后端服务解决方案,包括依赖注入(DI)、面向切面编程(AOP)、模型-视图-控制器(MVC...

    完整版 Java开发实训课程系列-SpringMVC框架技术教程 第3章 映射请求和返回值 (共18页).pptx

    完整版 Java开发实训课程系列-SpringMVC框架技术教程 第2章 处理器映射器和适配器 (共22页).pptx 完整版 Java开发实训课程系列-SpringMVC框架技术教程 第3章 映射请求和返回值 (共18页).pptx 完整版 Java开发实...

    springMVC+jpetstore+mysql工程源码

    通过深入研究这些源代码,学习者可以了解到如何在SpringMVC中定义Controller,如何配置和使用Spring的数据访问对象(DAO)以与MySQL交互,以及如何使用MyBatis或JdbcTemplate这样的持久层工具。 总结起来,...

    java springmvc的数据库连接文档

    java springmvc的数据库连接文档 是springmvc的数据库配置 可以配置多个库

    CRM java源码 SpringMVC MySQL

    源码可以在MyEclipse中导入并进行编译、调试和部署,提供了一站式的开发体验。 10. **项目结构**: 一个标准的SpringMVC项目通常包含src/main/java(源代码)、src/main/resources(配置文件和静态资源)、src/main/...

    SpringMVC的Socket实现+Java Tomcat websocket实现+Java Socket通信实现 +Java UDP通信实现

    SpringMVC的Socket实现+Java Tomcat websocket实现+Java Socket通信实现 +Java UDP通信实现。websocket_study.rar 为springMVC版本的socket实现 websocket02.rar 里面包含tomcat的websocket实现+java socket双向通信...

Global site tag (gtag.js) - Google Analytics