2013-05-31 4 views
-3

При использовании сервлетов & JSP в простом приложении с подключением к базе данных через пул DataSource/Connection, какова типичная архитектура приложения?Что такое типичная простая архитектура приложения Servlet + JSP + JDBC?

  1. при создании объекта Connection, это сервлеты Распространенных приложений суперкласса и принят аргументом doGet/doPost?

  2. как объект Connection передается классам DAO для восстановления/обновления состояния домена объектов?

  3. - это исключения SQL, обработанные на уровне DAO, конкретном уровне сервлета или суперклассе сервлета?

  4. Как разрабатываются шаблоны веб-сайтов? by JSP include бирка?

  5. Являются ли объекты DAO доступными в определенном сервлете, созданном, когда он впервые создан или лежит в другом слое, например, созданном в doGet/doPost?

  6. Должно ли каждая маленькая операция в DAO восстановить соединение с DataSource или лучше передать соединение в конструкторе DAO?

  7. Все ли данные переданы JSP по запросу.setAttribute или есть лучший способ?

  8. Должен ли я переходить только на объекты/коллекции домена JSP или передавать весь DAO/другой медиатор для восстановления данных?

  9. Должен ли мы достичь единственного объекта соединения для цельной цепи запроса-ответа? Если да, как это достичь?

+2

Это очень много вопросов. –

+0

просмотрите сами –

ответ

-1

1) Пул соединений будет доступен, как только сервер запущен, для этого нужно указать «Ресурс» тег в «context.xml» .Intially 10 соединений будут доступны (по умолчанию).

2) Вы можете передать объект соединения, ниже пример даст вам какой-то ясности

class A { 
    public static DataSource getConnection() { 
    Context initContext = new InitialContext(); 
    Context envContext = (Context)initContext.lookup("java:/comp/env"); 
    DataSource dataSource = (DataSource)envContext.lookup("jdbc/testdb"); 
    return dataSource; 
    } 
    } 
    class B { 
    javax.sql.DataSource ds=(DataSource)A.getConnection(); 
    javax.sql.Connection con=ds.getConnection(); 
    } 

3) вы можете получить свои собственные исключения или предопределенные исключения, это зависит от сценария использования. Обычно исключения обрабатываются на любом уровне или вы можете каким-то образом подавить.

4) В jsp, jsp: включить использование является лучшим способом. Потому что включите свои недостатки.

5) Iam не ясно, о своем 5-м вопросе

6) уровень конструктора лучше всего, я надеюсь, или создать отдельный класс соединения делать исключение обработки, закрытие соединения и проход в that.it будет выглядеть великолепно.

7) у вас есть три области: приложение, запрос и сеанс. Не используйте request.setAttribute для everything.it имеет некоторые ограничения.

8) Передача данных в виде коллекций проста в обращении.

9) Я не знаю об этом.

примечание: если вы нашли какие-либо ошибки, не возражайте

Смежные вопросы