|
|
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
Вопрос по Struts+DBCP. Пытаюсь создать соединение с базой данных. В задании у меня написано "использовать обращение и конфигурацию доступа к базе данных средствами Struts (commons-dbcp) и JDBC". В Struts есть готовый пустой шаблон для начала разработки "struts-blank". В него в папку lib добавил файл драйвер mysql-connector-java-3.1.7-bin.jar и в файл struts-config.xml такой текст: <data-sources> <data-source type="org.apache.commons.dbcp.BasicDataSource"> <set-property property="driverClassName" value="org.gjt.mm.mysql.Driver" /> <set-property property="url" value="jdbc:mysql://localhost/test_task" /> <set-property property="username" value="" /> <set-property property="password" value="" /> <set-property property="maxActive" value="10" /> <set-property property="maxWait" value="5000" /> <set-property property="defaultAutoCommit" value="false" /> <set-property property="defaultReadOnly" value="false" /> <set-property property="validationQuery" value="SELECT COUNT(*) FROM users" /> </data-source> </data-sources> При запуске Tomcat выдаёт что "Cannot load jdbc driver class org.gjt.mm.mysql.Driver". Если обращаюсь к Базе данных так: Class.forName( "org.gjt.mm.mysql.Driver" ); connection = DriverManager.getConnection("jdbc:mysql://localhost/test_task" ); то всё работает. Что не так? Где можна взять готовый ПРОСТОЙ пример по Struts+DBCP. Если можно на ящик svby@tut.by. Заранее, спасиба. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 22:29 |
|
||
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
Вообще-то, в mysql-connector-java-3.1.7-bin.jar обычно находится драйвер "com.mysql.jdbc.Driver", а не "org.gjt.mm.mysql.Driver". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 00:03 |
|
||
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
боцВообще-то, в mysql-connector-java-3.1.7-bin.jar обычно находится драйвер "com.mysql.jdbc.Driver", а не "org.gjt.mm.mysql.Driver". Ошибка остаётся и так и так. Может добавить какие небудь jar нужно ещё в lib? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 00:16 |
|
||
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
У тебя DBCP by Struts. Около года назад в конференции Struts говорилось, что он глючный. Лучше всего перенести его в Tomcat или другой сервер. Вот тебе пример Tomcat 5.5.9. Работает без проблем Настрой web.xml и скопируй jar mysql в common/lib. <Context path="/app" docBase="/app" debug="5" reloadable="true" crossContext="true"> <Resource name="ORAPOOL" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:SID" username="usr" password="pwd" maxActive="80" maxIdle="40" maxWait="-1" removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true" /> </Context> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 04:06 |
|
||
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
Соответственно измени параметры Oracle под MySQL. Почитай http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-resources-howto.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 04:10 |
|
||
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
А у тебя драйвер MySQL точно в TOMCAT_HOME/common/lib лежит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 10:42 |
|
||
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
Спасибо. Заработа когда положил в папку lib commons-dbcp.jar и commons-pool.jar. Подскажате пожалуйста. Как получить соединение c БД в javaBeans c учётом того что у меня используеся Struts (commons-dbcp) ? В (dbcp+Tomcat+без Struts) это делается так: InitialContext initCtx=new InitialContext(); DataSource dataSource=(DataSource)initCtx.lookup("java:comp/env/jdbc/WroxTC41"); connection =dataSource.getConnection(); Как это сделать точно такое же в Struts(commons-dbcp)? ведь в файле конфигурации struts-config.xml мы не задавали никаких имен ресурсов типа "jdbc/WroxTC41". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 22:55 |
|
||
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
1. Посмотри в архиве Struts. Craig McClanahan призывал уходить от пула в struts-config.xml. Еще раз советую тебе сделать тоже самое. 2. Struts к соединению с базой данных не имеет отношение в этом случае. Он позволяет разделить структурно Model - action - JSP. Поэтому , как ты получал соединение раньше, так и получаешь его сейчас. Ориентировочно: final static String JAVA_COMPONENT_ENV = "java:comp/env"; final static String JNDI_DATASOURCE_NAME = "jndi-datasource-name"; Context ic = new InitialContext(); Context env = (Context) ic.lookup(Constants.JAVA_COMPONENT_ENV); String dsName = (String) env.lookup(Constants.JNDI_DATASOURCE_NAME); DataSource ds = (DataSource) env.lookup(dsName); 3. Сделай конфигурацию action-model-dao и т.д. Каждая структура отвечает за свою функциональность. Конфигураций может быть много, но в частном случае из action вызываеш model с параметрами или без, в модели получаешь соединение, DAO - данные и записываеш их или в bean или в List и т.д. web.xml - <resource-ref> <description>Database Reference</description> <res-ref-name>ORAPOOL</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> <env-entry> <env-entry-name>jndi-datasource-name</env-entry-name> <env-entry-value>ORAPOOL</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry> Остался server.xml. Раньше я тебе писал как он должен выглядеть. Сделай class connect и получай себе в модели соединение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 23:45 |
|
||
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
Если хочеш сделать проще и быстрее - делай одну модель. Если правильнее - посмотри ссылку http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html Она мелькала сегодня. или сначала 1 модель, потом запусти DAO. Посмотри на очень хороший framework - iBatis. http://ibatis.apache.org Большое кол-во java китов сидят на нем. Он изначально ориентирован на DAO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 23:50 |
|
||
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
livan1. Посмотри в архиве Struts. Craig McClanahan призывал уходить от пула в struts-config.xml. Еще раз советую тебе сделать тоже самое. Спасибо за помощь. Только У меня в задании написано "использовать обращение и конфигурацию доступа к базе данных средствами Struts (commons-dbcp) и JDBC". Я в этом фигово ориентируюсь, толко как я понял это нужно настаривать через struts-config.xml. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 00:08 |
|
||
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
Это абсолютно разные вещи. Речь идет о том, что в стандарте J2EE работа с данными организована через пул соединений. Посмотри на содержимое commons-dbcp.jar. Там и намека на struts нет и не может быть. Вот некоторые строки org/apache/commons/dbcp/PoolableConnection.class org/apache/commons/dbcp/cpdsadapter/DriverAdapterCPDS.class org/apache/commons/dbcp/cpdsadapter/ConnectionImpl.class org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl$PStmtKey.class org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl.class org/apache/commons/dbcp/cpdsadapter/PoolablePreparedStatementStub.class Если ты будеш открывать и держать открытым соединение как в 2 уров. тогда на большом кол-ве твой сайт ляжет и никогда не встанет ... Struts - это пакет org.apache.struts.action ... и т.д. Ты можеш через struts и не работать, но dbcp использовать. Ты всегда можеш съехать с темы показав письмо автора Struts. :) В крайнем случае зайди на конференцию struts и задай там вопрос. Посмотриш что тебе ответят. Потом покажеш заказчику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 02:15 |
|
||
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
livanЭто абсолютно разные вещи. Речь идет о том, что в стандарте J2EE работа с данными организована через пул соединений. Посмотри на содержимое commons-dbcp.jar. Там и намека на struts нет и не может быть. Вот некоторые строки org/apache/commons/dbcp/PoolableConnection.class org/apache/commons/dbcp/cpdsadapter/DriverAdapterCPDS.class org/apache/commons/dbcp/cpdsadapter/ConnectionImpl.class org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl$PStmtKey.class org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl.class org/apache/commons/dbcp/cpdsadapter/PoolablePreparedStatementStub.class Если ты будеш открывать и держать открытым соединение как в 2 уров. тогда на большом кол-ве твой сайт ляжет и никогда не встанет ... Struts - это пакет org.apache.struts.action ... и т.д. Ты можеш через struts и не работать, но dbcp использовать. Ты всегда можеш съехать с темы показав письмо автора Struts. :) В крайнем случае зайди на конференцию struts и задай там вопрос. Посмотриш что тебе ответят. Потом покажеш заказчику. Большое спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 03:54 |
|
||
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
Значит нужно редоктировать файл server.xml и web.xml. Как производиться доставка приложения? Создал war, а как доставить server.xml? У меня написано в задании ".В качестве результата вашей деятельности должен быть представлен war архив самого приложения и файл конфигурации доступа к базе данных.". Что такое файл конфигурации доступа к базе данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 13:50 |
|
||
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
... Что такое файл конфигурации доступа к базе данных? Пускай в твоем случае это будет server.xml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 14:46 |
|
||
|
Вопрос по Struts+DBCP.
|
|||
|---|---|---|---|
|
#18+
1. Доставка приложения или .war файла это перемещение в подкаталог webapps и распаковка. В случае Rational 6.0 пакет может быть перемещен полностью, или только class файлы если jar не надо. Можеш просто скопировать war в подкаталог и настроить server.xml на автоматический deploy. Если у тебя Tomcat - посмотри на строку server.xml <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> unpackWARs="true - это оно. 2. server.xml не доставляется. Это файл конфигурации. Он находится в подкаталоге conf/ . 3. server.xml должен содержать строки. <Context path="/app" docBase="/app" debug="5" reloadable="true" crossContext="true"> <Resource name="ORAPOOL" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:SID" username="usr" password="pwd" maxActive="80" maxIdle="40" maxWait="-1" removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true" /> </Context> Это и есть конфигурация соединения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2005, 00:30 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2151791]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 375ms |

| 0 / 0 |
