McLaren_ts 2017-04-26 10:07 采纳率: 0%
浏览 452

eclipse Tomcat数据源配置出问题

Name PortalOnlyWriteDataSource is not bound in this Context! 图片说明 谢谢

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 19:31
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Eclipse中设置Tomcat数据源时可能会遇到错误"Name PortalOnlyWriteDataSource is not bound in this Context!"。这个错误通常发生在使用Spring MVC框架时,因为Spring MVC默认使用JDBC方式来处理数据库操作。

    解决方法如下:

    1. 确保你的项目已经添加了必要的依赖项。如果使用的是Maven,请确保在pom.xml文件中添加以下依赖:
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    1. 如果你正在使用Spring Boot,确保在application.properties或application.yml文件中设置了正确的数据源信息:
    spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC
    spring.datasource.username=myusername
    spring.datasource.password=mypassword
    
    1. 如果你是在运行Tomcat服务器,并且希望使用自定义的数据库连接,可以修改web.xml中的connection属性。例如,如果你想要一个名为PortalOnlyWriteDataSource的数据源,你可以将它放在dataSource标签内并设置其name为PortalOnlyWriteDataSource。然后,在web.xml中设置它的初始化参数如下:
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="
               http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans.xsd">
    
        <!-- 设置自定义数据源 -->
        <bean id="portalOnlyWriteDataSource" class="org.apache.tomcat.jdbc.pool.DataSource">
            <property name="driverClassName" value="${jdbc.driver-class-name}" />
            <property name="url" value="${jdbc.url}" />
            <property name="username" value="${jdbc.username}" />
            <property name="password" value="${jdbc.password}" />
            <property name="initialPoolSize" value="${jdbc.initial-pool-size}" />
            <property name="minPoolSize" value="${jdbc.min-pool-size}" />
            <property name="maxPoolSize" value="${jdbc.max-pool-size}" />
            <property name="validationQuery" value="SELECT 1 FROM DUAL" />
            <property name="testWhileIdle" value="true" />
            <property name="timeBetweenEvictionRunsMillis" value="30000" />
            <property name="minEvictableIdleTimeMillis" value="1800000" />
            <property name="poolPreparedStatements" value="false" />
            <property name="poolPreparedStatementsMax" value="500" />
        </bean>
    
        <!-- 创建数据源实例 -->
        <bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource">
            <constructor-arg ref="portalOnlyWriteDataSource" />
        </bean>
    
        <!-- 设置Servlet容器连接池 -->
        <context-param>
            <param-name>javax.sql.DataSource</param-name>
            <param-value>${datasource}</param-value>
        </context-param>
    </beans>
    
    1. 最后,你需要启动Tomcat服务以应用这些更改。

    这样,你就应该能够在Eclipse中正确配置Tomcat数据源了。

    评论

报告相同问题?