Посоветуйте , Пожалуйста, Как Оптимальнее Такое Сделать.

Тема в разделе "Java", создана пользователем serg777, 28 окт 2013.

  1. serg777

    serg777 New Member

    Регистрация:
    28 окт 2013
    Сообщения:
    4
    Симпатии:
    0
    Что хочу сделать для себя:
    Небольшой ( без дальнейшего развития и роста ) сайтик :
    1. через http:// обращаюсь к сайту.
    1.1. Выбираю из Menu по какому параметру буду искать, ввожу, что именно найти. Сервер ищет в Mysql и возвращает ответ.
    1.2 Выбираю из Меню режим Корректировки/Воода и вношу информацию для изменения или добавления. Сервер выполняет эту информацию и возвращает в броузер результат Успешно или Не успешно. Если Не Успешно, то с информацией - о причине.
    ( сайт будет на opensuse12.3)

    Это совсем первые шаги в использовании java+web.
    Из того, что попробовал
    - NetBeans7.4 +Tomcat.
    - создал сервлет и из сервлета вызвал JSP

    Для себя понял так, что:
    - Сервлеты выполняются на стороне сервера, в tomcat ( они не передаются в броузер на станцию. поэтому в них можно вписать логин и пароль для достпа к СУБД MySQL. т.е. содержимое написанного в сервлете не доступно пользователю )
    - JSP - они, как обычные HTML-страницы, затягиваются на станцию пользователя и выполняется код на стации. т.е. их код пользователь может видеть.
    Прваильно понял ?

    В размышлениях - первоначальный диалог с пользователем для предоставления Выбора менюшек и приема запроса реализовывать при помощи СЕРВЛЕТОВ , а JSP использовать только для возвращеия результата ?

    Сергей
     
  2. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    В целом, верно, но вот вписывать логины/пароли в код нехорошо, такие вещи надо держать в настройках.

    Не совсем. В JSP присутствует смесь HTML (CSS, JS) и серверного кода (Java и специальные теги). Серверный код выполняется, внезапно, на сервере, пользователю приезжает только результат его выполнения в виде HTML/CSS/JS/и т.п. Вообще, если правильно помню матчасть, веб-сервер в ходе работы приложения компилирует JSP страницы в обыкновенные сервлеты, так что JSP можно рассматривать просто как UI-ориентированный способ записи сервлетов.

    В наше время в моде подход MVC, которого и советую придерживаться. В рамках такой архитектуры JSP будут служить для формирования слоя представления (View), на сервлетах же можно сооружать контроллеры.
     
  3. serg777

    serg777 New Member

    Регистрация:
    28 окт 2013
    Сообщения:
    4
    Симпатии:
    0
    Почитал.
    Не осознал внятно, как следcтвие - не понял как перенести на то, что делаю.

    Вопрос-1:
    такой подход будет сильно плохим ?:
    - По обращению http://mysite , будет запускаться на выполнение index.jsp
    - В Index.jsp будет вызывать MainForm.jsp
    - В MainForm.jsp будет реализован главный экран - там поля, куда можно ввести информацию для поиска
    - После ввода шаблона для поиска и нажатия Enter из mainForm.jsp будет вызываться myservlet, который:
    + подключиться к mysql.
    + сделает нужный запрос
    + запустиь answer.jsp для вывода на экран ответа
    ?

    Вопрос-2:
    как в MainForm.jsp реализовать не только ввод строки для поиска , а и предоствить возможность выбора из списка ( список - это столбец из таблцы mysql )
    ?

    Вопрос-3:
    Судя по всему - многократно из различных мест, разных javaservlet будут создаваться подключения к mysql .
    Их следует сразу закрывать, перед тем, как запускать jsp для вывода ответа на экран ?
     
  4. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Да, в целом, нормально. Для пущей красоты можно сделать так, чтобы все входящие запросы принимал один сервлет, который будет уже их перенаправлять другим сервлетам или JSP-страницам (в зависимости от того, что делаем).
    К слову, дабы не изобретать велосипедов, можно посмотреть в сторону различных web-фреймворков для java (типа Struts или Spring), там все это уже реализовано.

    Я бы делал как-то так:
    1. создаем какой-нибудь класс (MainFormModel, например), в котором будет свойство, содержащие список значений для формы.
    2. в сервлете, который примет запрос на отображение индексной страницы (и, соот-но, MainForm.jsp) создаем экземпляр MainFormModel и в него кладем список, вытащенный из БД.
    3. полученный экземпляр MainFormModel кладем в аттрибуты сессии или запроса
    4. на jsp-странице с помощью EL добираемся до MainFormModel и списка внутри бина, после чего строим из него нужный HTML (select, как я понимаю, в данном случае).
    пример

    Лучше закрывать: соединение с БД - дорогой ресурс, держать его открытым без нужды не стоит. В общем случае лучше делать так: открыли соединение, вытащили нужные данные и сразу закрыли, чтобы соединение оставалось занятым как можно меньше времени.
     
Загрузка...
Похожие Темы - Посоветуйте Пожалуйста Как
  1. KhNarg
    Ответов:
    5
    Просмотров:
    893
  2. IllusionYes
    Ответов:
    0
    Просмотров:
    988
  3. megobite
    Ответов:
    3
    Просмотров:
    1.494
  4. Shandrik
    Ответов:
    0
    Просмотров:
    1.359
  5. RadoXX
    Ответов:
    2
    Просмотров:
    1.438

Поделиться этой страницей