powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JSP error: No suitable driver, нестандартный тэг
9 сообщений из 9, страница 1 из 1
JSP error: No suitable driver, нестандартный тэг
    #34564470
sibircev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Возникает ошибка при регестрации драйвера: org.apache.jasper.JasperException: No suitable driver
Весь фокус в том, что когда я регестрирую драйвер в JSP коде, то всё работает. Но если я использую созданный нестандартный тэг, то драйвер не регестрируется.
JAR файл пробовал распихать во все деректории LIB, которые есть в Tomcat. Не помогло.
...
Рейтинг: 0 / 0
JSP error: No suitable driver, нестандартный тэг
    #34564589
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А TLD-файл к тэгу куда нибудь пробовали "распихивать"?
...
Рейтинг: 0 / 0
JSP error: No suitable driver, нестандартный тэг
    #34564954
sibircev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KachalovА TLD-файл к тэгу куда нибудь пробовали "распихивать"?
Не понял, о чём идёт речь.
...
Рейтинг: 0 / 0
JSP error: No suitable driver, нестандартный тэг
    #34565173
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sibircevНе понял, о чём идёт речь.
- вот и я не понял :) какой "драйвер"? о каком "нестандартном тэге" идет речь? какой именно JAR-файл Вы пихаете в папку lib (с тэгом, с драйвером)?
...
Рейтинг: 0 / 0
JSP error: No suitable driver, нестандартный тэг
    #34565222
sibircev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kachalov sibircevНе понял, о чём идёт речь.
- вот и я не понял :) какой "драйвер"? о каком "нестандартном тэге" идет речь? какой именно JAR-файл Вы пихаете в папку lib (с тэгом, с драйвером)?

TLD file:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">
  <tlib-version> 1 . 0 </tlib-version>
  < short -name>database</ short -name>
  <uri>/WEB-INF/tlds/database</uri>
  <tag>
    <name>query</name>
    <tagclass>tags.jdbc.QueryTag</tagclass>
    <bodycontent>tagdependent</bodycontent>
    <attribute>
        <name>id</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
    </attribute>
  </tag>
</taglib>

Java file:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
 package  tags.jdbc;

 import  java.sql.Connection;
 import  java.sql.DriverManager;
 import  java.sql.Statement;
 import  java.sql.SQLException;
 import  java.sql.ResultSet;
 import  javax.servlet.jsp.JspException;
 import  javax.servlet.jsp.tagext.BodyTagSupport;
 import  beans.jdbc.Query;

 public   class  QueryTag  extends  BodyTagSupport {
     private  java.lang.String scopes = "page";
     private   boolean  update = false, driverLoaded = false;

     public   void  setScopes(java.lang.String scopes) {  this .scopes = scopes; }

     public   void  setUpdate( boolean  update) {
         this .update = update;
    }

     public   int  doAfterBody()  throws  JspException {
        Connection conn = getConnection();
         try  {
            String query = bodyContent.getString();
            Statement statement = conn.createStatement(
                /*ResultSet.TYPE_SCROLL_INSENSITIVE,
                ResultSet.CONCUR_READ_ONLY*/);
            ResultSet rs =  null ;
             int  rows =  0 ;
             if  (update) {
                rows = statement.executeUpdate(query);
                Query.save( new  Query(statement, rows), pageContext, id, scopes);
            }  else  {
                rs = statement.executeQuery(query);
                Query.save( new  Query(statement, rs), pageContext, id, scopes);
            }
        }  catch (SQLException ex) {
             throw   new  JspException(ex.getMessage());
        }
         return  SKIP_BODY;
    }
    
     private  Connection getConnection()  throws  JspException {
        Connection con =  null ;

         try  {
             if  (driverLoaded) {
                 Class .forName("oracle.jdbc.driver.OracleDriver");
                //DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
                driverLoaded = true;
            }
            con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.0:1521:MYDB", "ANDREJS", "ANDREJSANDREJS");
        }  catch  (Exception ex) {
             throw   new  JspException(ex.getMessage());
        }
         return  con;
    }
}

JSP file:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<html>
    <head>
        <title>Database Example</title>
        <%@ taglib uri='/WEB-INF/tlds/database.tld' prefix='database'%>
    </head>
    <body>
        <font size='A'>
            <a href='showCustomerQuery.jsp'>Show Customers</a><p>
        </font>
        <database:query id='customers' scopes='session'>
            SELECT * FROM PROJECT
        </database:query>
    </body>
</html>
...
Рейтинг: 0 / 0
JSP error: No suitable driver, нестандартный тэг
    #34565266
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте так:
Код: plaintext
1.
2.
3.
4.
 if  (!driverLoaded) {
                 Class .forName("oracle.jdbc.driver.OracleDriver");
                driverLoaded = true;
 }
...
Рейтинг: 0 / 0
JSP error: No suitable driver, нестандартный тэг
    #34565285
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, а чем Вас не устроил тэг <sql:query/> из JSTL?
...
Рейтинг: 0 / 0
JSP error: No suitable driver, нестандартный тэг
    #34565438
sibircev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KachalovПопробуйте так:
Код: plaintext
1.
2.
3.
4.
 if  (!driverLoaded) {
                 Class .forName("oracle.jdbc.driver.OracleDriver");
                driverLoaded = true;
 }

Идиооооот! Это я о себе. Спасибо!
KachalovКстати, а чем Вас не устроил тэг <sql:query/> из JSTL?
Просто я не знаком с JSTL. Все, что я делал, можно было обойтись "чистым" JSP.
Можно link на документацию или книгу по JSTL? В чём плюсы использовать JSTL?
...
Рейтинг: 0 / 0
JSP error: No suitable driver, нестандартный тэг
    #34565564
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sibircevМожно link на документацию или книгу по JSTL? В чём плюсы использовать JSTL?
JSTL . Просто набор готовых тэгов описаных в стандарте - это лучше чем изобретать велосипед :) Кроме того предполагается что в различных контейнерах сервлетов реализация JSTL может быть различной, учитывающей специфику контейнера, что позволит повысить эффективность.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JSP error: No suitable driver, нестандартный тэг
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]