zoukankan      html  css  js  c++  java
  • SSH框架使用中存在的诡异异常

    背景

       相信大多数人目前都在使用Spring + Struts2/SpringMVC + Hibernate来构建项目的整体架构,但是在使用中经藏会遇到一些诡异的问题,不知道如果解决,今天我遇到了一个非常奇怪的问题,那就是连接数据库提示java.sql.SQLException: ORA-01017: invalid username/password; logon denied,这句话的中文意思就是说我的密码或者用户名有问题,但是我单独用sqlplus登陆,还是使用配置文件里面的密码,此时又能够登陆,反正我是百撕不得骑姐

    遇到的问题

    1.数据库属性文件内容如下   

    1 username=c##test
    2 password=test
    3 url=jdbc:oracle:thin:@localhost:1521:orcl
    4 driverClassName=oracle.jdbc.driver.OracleDriver
    5 hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
    6 hibernate.show_sql=true
    7 hibernate.show_format=true

    2.applicationContext.xml中关于Hibernate的属性配置代码片段如下      

        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="${driverClassName}"/>
            <property name="url" value="${url}"/>
            <property name="username" value="${username}"/>
            <property name="password" value="${password}"/>
        </bean>
    
        <bean id="sessionFactory"
              class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
            <property name="dataSource" ref="dataSource"/>
            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                    <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
                    <prop key="hibernate.show_format">${hibernate.show_format}</prop>
                    <prop key="hibernate.hbm2ddl.auto">update</prop>
                </props>
            </property>
            <property name="packagesToScan" value="com.my.resume.entity"/>
        </bean>

    在该配置中,请注意黑色加粗显示的部分,即是我们登陆数据库的用户名(此处我们在之前的Properties文件中给他的key为username),问题就是处在这里的,我是debug的时候发现的,此处username的值为c##test,但是我每次debug的时候,传入的username值都不是c##test,我真的很郁闷啊,郁闷的时候也发现了一个奇怪的事情,那就是传入的username虽然不是我指定的c##test,但是很是一个很特殊的值,即是我的电脑的用户名(我电脑的用户名是Aaron,每一都是传入的这个参数),对系统环境必究熟悉的人都知道,所以这里的解决办法是: 不要用username作为数据库用户名的key,换一个就可以了

  • 相关阅读:
    Springboot使用外置tomcat的同时使用websocket通信遇到的坑
    SpringBoot 使用 ApplicationContextAware实现类出现NullPointException的问题
    Java搭建微信公众号的服务器配置
    axios异步访问后台 @RequestParam 获取参数 HTTP Status 400
    springboot启动失败的问题('hibernate.dialect' not set)
    Java Optional 类
    ubuntu 18.04 解决无法联网的问题
    ubuntu安装rpm格式文件方法
    简述vue中父子组件是怎样相互传递值的(基础向)
    实现网站中英文切换的三种方法
  • 原文地址:https://www.cnblogs.com/aaronfeng/p/5202562.html
Copyright © 2011-2022 走看看