Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven Spring mvc中的Oracle连接_Oracle_Maven_Spring Mvc - Fatal编程技术网

Maven Spring mvc中的Oracle连接

Maven Spring mvc中的Oracle连接,oracle,maven,spring-mvc,Oracle,Maven,Spring Mvc,我对Java Web非常陌生。我只是尝试在maven mvc上做一个简单的登录页面。但我有一个错误: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/mvc-dispatcher-servlet.xml]: Error setting property

我对Java Web非常陌生。我只是尝试在maven mvc上做一个简单的登录页面。但我有一个错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with 
name 'dataSource' defined in ServletContext resource 
[/WEB-INF/mvc-dispatcher-servlet.xml]: Error setting property values; nested 
exception is org.springframework.beans.PropertyBatchUpdateException; nested 
PropertyAccessExceptions (1) are: PropertyAccessException 1:
 org.springframework.beans.MethodInvocationException: Property 'driverClassName' 
threw exception; nested exception is java.lang.IllegalStateException: Could not 
load JDBC driver class [oracle.jdbc.OracleDriver] at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues
Web.xml是:

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
      http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
     version="2.5">


<display-name>Archetype Created Web Application</display-name>

  <servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
  </context-param>


  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
</web-app>
我知道我只是复制粘贴我所有的代码和它的脏活。对不起。但我需要学习使用oracle connection开发maven spring mvc项目。你的帮助将是宝贵的。我还想完成oracle表的示例工作。我真的搜索过谷歌,但没有太多。(所有这些例子都是mysql。当我尝试用oracle连接转换它们时,我也遇到了错误。我真的很累。)


感谢您将
ojdbc6.jar
放入ApacheTomcat安装目录中的
lib
目录中

d:\apache tomcat server\Tomcat 8.0\lib

它解决了我的问题。

为什么不将流程分块,而不是一次实现所有内容。您是否已将oracle库添加到此处提到的类路径中?
 package com.deniz.dao;
import com.deniz.mapper.UsersMapper;
import com.deniz.model.Users;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.support.JdbcDaoSupport;

import javax.sql.DataSource;
import java.util.List;

public class UsersDAOImpl extends JdbcDaoSupport implements UsersDAO {

    @Autowired
    public UsersDAOImpl(DataSource dataSource) {
        this.setDataSource(dataSource);
        System.out.println("oluştu");
    }

    public Users findUserInfo(String userName) {
        String sql = "Select u.Username,u.Password "//
                + " from Users u where u.Username = ? ";

        Object[] params = new Object[] { userName };
        UsersMapper mapper = new UsersMapper();
        try {
            Users user = this.getJdbcTemplate().queryForObject(sql, params, mapper);
            return user;
        } catch (EmptyResultDataAccessException e) {
            return null;
        }
    }

    @Override
    public List<String> list(){
        String sql = "Select username from users";

        Object[] params = new Object[] { "buffer" };

        List<String> roles = this.getJdbcTemplate().queryForList(sql,params, String.class);

        return roles;
    }

}
 package com.deniz.dao;

import com.deniz.model.Users;
import java.util.List;

public interface UsersDAO {

    public Users findUserInfo(String userName);

    public List<String> list();
}
    package com.deniz.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

import javax.sql.DataSource;

@Configuration
@ComponentScan(basePackages="com.deniz.*")
@EnableTransactionManagement
@PropertySource("classpath:datasource-cfg.properties")
@EnableWebMvc
public class MvcConfiguration extends WebMvcConfigurerAdapter{

    @Autowired
    private Environment env;
    @Bean
    public ViewResolver getViewResolver(){
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/pages/");
        resolver.setSuffix(".jsp");
        return resolver;
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
    }

    @Bean(name = "dataSource")
    public DataSource getDataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();

        // See: datasouce-cfg.properties
        dataSource.setDriverClassName(env.getProperty("ds.database-driver"));
        dataSource.setUrl(env.getProperty("ds.url"));
        dataSource.setUsername(env.getProperty("ds.username"));
        dataSource.setPassword(env.getProperty("ds.password"));

        System.out.println("## getDataSource: " + dataSource);

        return dataSource;
    }

}
d:\apache tomcat server\Tomcat 8.0\lib