Создание JDBC-соединения с Oracle 10g с использованием jsp - PullRequest
0 голосов
/ 25 июня 2010

Я могу подключиться к Oracle 10g (используя драйвер ojdbc14.jar) с Java.Но когда я использую один и тот же код в сервлете или файле с расширением .jsp, я получаю исключение для класса not found.Я не могу понять, почему это происходит.У нас есть разные строки подключения для JDBC в java и jsp?Это то, что я использую для подключения к оракулу с java и jsp:

Class.forName("oracle.jdbc.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:xe";
//Xe being the database name
String usr = "username";
String pwd = "pwd";

Отлично работает с java, но выдает ошибку с jsp.

Ответы [ 4 ]

4 голосов
/ 03 октября 2013

я нашел решение этой проблемы ...

это очень просто ... я бы специально относился к базе данных oracle и серверу Apache Tomcat.

загрузите ojdbc6.jar из oracle или любой другойsource

поместите его в свой tomcat / lib / (не важно, используете ли вы xampp или какой-либо комплект усилителей, он там есть). Перезапустите ваш сервер, это просто необходимо, иначе вам будет интересно только lolz.

попробуйте этот код, он работает .. !!

<%@ page import="java.sql.*" %>

<HTML>
<HEAD>
<TITLE>Simple JSP to Oracle connection Example</TITLE>
</HEAD>
<BODY>
<%
    Connection conn = null;
    try
    {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
        out.println("connected....!!");

    }

    catch(Exception e)
    {
        out.println("Exception : " + e.getMessage() + "");
    }


%>
</BODY>
</HTML>
2 голосов
/ 25 июня 2010

Если вы используете переменную среды CLASSPATH, ваш сервер приложений игнорирует ее.Вероятно, поэтому он «работает» с Java, но не с JSP.

Я бы посоветовал вам не полагаться на CLASSPATH таким образом.Узнайте, как правильно установить его для каждой ситуации.

Я бы также советовал не помещать код скриплетов в JSP.В скором времени это превратится в кошмар обслуживания.

Если вы должны выполнять вызовы базы данных в JSP, узнайте, как использовать JSTL и его теги <sql>.

1 голос
/ 25 июня 2010

Не должно быть никакой разницы между ними. Драйвер находится в вашем подкаталоге WEB-INF / lib /? Исключение не найденного класса обычно означает, что ваш jar-файл не был найден на пути к классам.

0 голосов
/ 09 апреля 2013
<%@page import="java.sql.*"%>
<%@page import="oracle.jdbc.driver.*" %>
<%@page import="oracle.sql.*;" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body>
    <form id="form1" name="form1" method="get" action="but1.jsp">
<label>
    Sr No:<input type="text" name="txt" /></br>
    Name: <input type="text" name="txt1" />
</label>
<p>&nbsp;</p>
<p>
  <input type="submit" name="but1" id="but1" value="Submit">


  </input>   
    <% String s=request.getParameter("txt");
    System.out.print(s);

    String s1=request.getParameter("txt1");


Connection con;

Statement st;

ResultSet rs;

try{
       System.out.println("hi");
   Class.forName("oracle.jdbc.OracleDriver");
       System.out.println("1"); 
       con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","oracle-uname","oracle-password");
       System.out.println("2");
   st=con.createStatement();
       System.out.println("3");
   String query="insert into table1(srno, name) values ("+s+",'"+s1+"')";
       System.out.println("4");
       int rRs=st.executeUpdate(query);
       System.out.println("5");
       String q="Select * from table1 where srno="+s+"";
       System.out.println("cats");
   rs=st.executeQuery(q);
       System.out.println("catty");
       while(rs.next())
       {
            System.out.println("6");
    out.println("number is: "+rs.getString(1));%>
            </br>
            <%out.print("name is: "+rs.getString(2));           
       } 
    }

catch(Exception ee)

{
    System.out.println(ee.getMessage());
}
%>
</body>
</html>

"jdbc: oracle: thin: @localhost: 1521: XE" = путь

для указания пути .. сервисы> базы данных> драйверы> oracle thin> подключиться с помощью> add jar ojdbc6.jar> далее> URL-адрес jdbc (внизу)> установить uname для системы и пароль для пароля оракула> тестовое соединение

URL-адрес jdbc формирует путь, т.е. «jdbc: oracle: thin: @localhost: 1521: XE"

всего наилучшего

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...