2016-09-21 5 views
0

내 질문SQL 데이터 소스 예외

를 다시 게시하고 나는 데이터베이스 연결이 컨텍스트 매개 변수로 설정되어 데이터베이스 객체를 통해 설립 할 수있는 데이터베이스 개체가 있습니다.

ServletContext s=e.getServletContext();  
    Class.forName("com.mysql.jdbc.Driver"); 
    Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/job_portal","root","root"); 
    s.setAttribute("db_connect",con); 

나는 데이터베이스를 연결하려면 SQL 태그 라이브러리를 사용하여 내 JSP 페이지에서 데이터베이스 개체를 사용하여 데이터

<sql:update dataSource="${applicationScope.db_connect}" > 
    insert into linkedin_table values(?,?) 
    <sql:param value="${param.Reference_Person}" /> 
    <sql:param value="${param.Reference_Person_Position}" /> 
    </sql:update> 

하지만 당신 때문이다 예외

javax.servlet.ServletException: javax.servlet.jsp.JspException: 'dataSource' is neither a String nor a javax.sql.DataSource 
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:911) 
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840) 

답변

0

을 던지는를 저장하고 싶었 DataSource가 아닌 Connection을 전달합니다.

JSP에서 DB에 연결하는 유효한 이유가 표시되지 않습니다. 그러나 논의를 위해이 작업을 수행 할 수 있습니다

DataSource dataSource = new BasicDataSource(); 

dataSource.setDriverClassName("com.mysql.jdbc.Driver"); 
dataSource.setUsername("root"); 
dataSource.setPassword("root"); 
dataSource.setUrl("jdbc:mysql://localhost:3306/job_portal"); 

ServletContext s=e.getServletContext(); 
s.setAttribute("db_connect",con); 
+0

Tanx을 설명하기 위해, 나는 거기 explanation.is의 차이를 이해 내가 JSP에서 해당 DB 객체를 사용하여 연결 – Ramgopal

+0

을 설정할 수있는 다른 방법 당신은 'shouldn JSP에서 DB 객체를 전혀 사용하지 마십시오. JSP는 렌더링에 사용됩니다. 서버에 DB 로직을 남겨두고 제시 할 데이터 만 JSP로 전달하십시오. –