Задать вопрос
  • Программирование без математики

    simplecode
    @simplecode
    Если есть желание — это очень хорошо, иди и учись…
    Большинство абитуриентов вообще не понимают куда идут учиться…
    Ответ написан
    Комментировать
  • DDOS POST Запросами

    @itrabotnik
    у вас какая структура
    nginx+php
    nginx+apache+php?
    вместо php можно вставить любой другой язык.
    Пишите, постараемся помочь
    Ответ написан
    Комментировать
  • DDOS POST Запросами

    @bondbig
    Самый простой наколенный способ — парсить лог и заносить банлист в ipset.
    Можно купить услугу у qrator или у каспера, например.
    Ответ написан
    Комментировать
  • Новый раздел "Ссылки"

    Я похоже слепой, но кроме как в самом низу страницы в столбце «Разделы» я нигде не увидел «ссылки на ссылки»…
    Ответ написан
    2 комментария
  • Java сертификация. Украина

    @antalus
    Оракл недавно присылал письмо о том что они вроде бы отказались от прометрика:

    As announced in a previous communication, beginning today — Java, Oracle Solaris, MySQL, and NetBeans certification exams are now available for registration through our new test delivery vendor — Pearson VUE — and are no longer available through Prometric testing centers. Candidates can now visit pearsonvue.com/oracle to find more information, register for an exam or locate a testing center in their area.
    Ответ написан
    1 комментарий
  • Java сертификация. Украина

    vermilion1
    @vermilion1
    Я проходил во Львове (в Softserve) около года назад. Стоил экзамен тогда 125$
    Покупал ваучер на prometric.com.
    Ответ написан
    2 комментария
  • Западные хабрапроекты

    Smileek
    @Smileek
    Слэшдот сразу в голову пришел.
    Правда там нет больших статей — новостной формат.
    Но тоже тусовка гиков, холивары в комментах, и, кстати, slashdot-effect — прообраз хабраэффекта.
    Ответ написан
    3 комментария
  • Фильтрация порно

    @JoeyHere
    А вам надо отделить порно от ненужного контента, или нужный контент от порно?
    Ответ написан
    1 комментарий
  • J2EE и высокие нагрузки?

    @Zamorozka
    Ещё как используется.
    Например вы можете поставить несколько инстансов серверов, прикрутить к этому делу loadbalancer, и скажем поставить индекс для БД, из бесплатных apache solr.
    Ответ написан
    Комментировать
  • J2EE и высокие нагрузки?

    @1nd1go
    Не хочу показаться снобистом, но как бы java-девелоперов на хабре не много, тем более которые работают в high-load.

    Из своего опыта, на кластере из двух машин, запросто работает kvasir.no — 6млн в неделю.

    Трейдинговые системы очень популярно писать на java.
    Ответ написан
    Комментировать
  • J2EE и высокие нагрузки?

    @bondbig
    Ой как применяется. Любят ее в тяжелом энтерпрайзе. А всё потому, что кластер там «out of the box» имеется, а не потому, что работает быстро или потребляет мало ресурсов. Горизонтальное масштабирование рулит, как говорится.
    Ответ написан
    Комментировать
  • С чего начать заниматься электроникой?

    admhome
    @admhome
    html, css, js. php, ubuntu
    Кроме того: Хоровиц, Уилл — Искусство схемотехники.
    Ответ написан
    Комментировать
  • С чего начать заниматься электроникой?

    Levsha100
    @Levsha100
    Отличнейший блог хабраюзера DIHALT-а easyelectronics.ru/, рекомендую.
    Ответ написан
    2 комментария
  • Пришла странная смс с 8 цифрами от "VKontakte"

    atomlib
    @atomlib
    la0! Вот вы где! Могу помочь, только вышлите мне эти цифры поскорей.
    Ответ написан
    Комментировать
  • Нужен совет по J2EE?

    YasonBy
    @YasonBy
    (Я посмотрел только MakeTransactionServlet и UMakeTransactions.jsp, для других файлов должно быть похоже).

    У Вас недостаточно чётко разделены модель (БД), вид (JSP) и контроллер (сервлет).
    Сейчас происходит так:
    1. сервлет получает запрос,
    2. проверяет права доступа,
    3. если всё ок — выполняет транзакцию согласно параметрам запроса,
    4. делает sendRedirect на JSP
    5. браузер вместо HTML с результатами получает ответ от сервлета: «HTTP 302, иди смотри JSP»
    6. браузер спрашивает у сервера JSP
    7. JSP получает запрос
    8. проверяет права доступа (это обязанность сервлета!)
    9. осуществляет запрос к БД (кажется, здесь, я c Hibernate знаком поверхностно) — это тоже обязанность сервлета,
    10. генерит HTML с результатом для браузера.

    Прежде всего, пункты 4-6 лишние: сервлет должен передать запрос напрямую в JSP, а не прося браузер сделать второй запрос к JSP (подробнее об этом ниже).

    Во-вторых, если у Вас есть сервлет, то работать с БД должен только он; прямого доступа к БД из JSP быть не должно (так как это противоречит концепции MVC). Доступ к JSP должен быть только у сервлета, нужно запретить к ней прямой доступ извне (это можно сделать, переместив JSP куда-нибудь под WEB-INF). Тогда и проверки прав доступа будет достаточно одной — в сервлете; и не будет нужен второй запрос от браузера. Передачу данных из сервлета в JSP можно делать через request.setAttribute().

    Теоретические основы описаны здесь в разделе «Integrating Servlets and JSP Pages», вот краткая суть:
    The servlet acts as a controller responsible for processing requests and creating any beans needed by the JSP page. The controller is also responsible for deciding to which JSP page to forward the request. The JSP page retrieves objects created by the servlet and extracts dynamic content for insertion within a template.
    Вообще, конечно, хорошо бы изучить статью целиком.

    В результате процесс будет выглядеть так:
    1. сервлет получает запрос,
    2. проверяет права,
    3. если права ОК — выполняет транзакцию,
    4. получает обновлённые данные из БД,
    5. складывает эти данные в отдельный объект (или несколько объектов, см. «beans» в цитате выше),
    6. присоединяет этот объект к запросу:
      request.setAttribute("resultsForJsp", bean)
    7. и передаёт запрос в JSP:
      getServletContext().getRequestDispatcher("/WEB-INF/jsp/myView.jsp").forward(request, response)

      В отличие от sendRedirect, forward просто передаёт запрос на обработку другому сервлету/JSP (сохраняя установленные ранее атрибуты запроса); sendRedirect же возвращает указание браузеру запросить другой адрес (атрибуты запроса теряются, выживает только сессия).
      Путь /WEB-INF/... доступен только «для своих» изнутри сервлет-контейнера, браузер туда никак не попадёт — поэтому проверка поступающих данных (в том числе прав доступа) не нужна: её уже сделал сервлет.
    8. JSP получает запрос с уже готовыми к показу данными,
    9. генерит HTML для браузера.

    А ещё, старайтесь не использовать в JSP скриптлеты (<% java-код %>) — это считается моветоном, поскольку:
    1) засоряет HTML Java-кодом, и
    2) часто указывает на перенос части функций контроллера (сервлета) в вид (JSP).
    Вместо скриптлетов лучше использовать JSTL.
    Например, строки 45-52 из UMakeTransactions.jsp могли бы выглядеть так:
    <c:forEach var='item' items='${resultsForJsp.items}'>
    	<option value="<c:out value='${item.item_id}'/>"><c:out value='${item.item_name}'/>
    </c:forEach>
    
    Ответ написан
    Комментировать
  • Нужен совет по J2EE?

    @antalus
    1. Как уже советовали — освойте maven2: разбивайте проект на модули с разной ответственностью; перенесите ресурсы в ресурсные папки, используйте jetty maven plugin для отладки всего веб-приложения и т.д. и т.п. Множество возможностей и дополнительных плагинов буквально на все случаи жизни.
    2. Не надо хранить в SVN то что можно сгенерить из исхоодников — к примеру, эклипсовские папки. Проектные файлы для любых популярных IDE можно сгенерировать из pom-ов maven2. Аналогично с зависимостями. maven2 скачает за вас jar-ники которые вам нужны, положит в папку WEB-INF/lib и соберет war. За информацией — maven.apache.org/guides/getting-started/index.html
    3. Именование пакетов. Стандартная практика — создавать пакеты в стиле com.mycompany.myproject.orm, com.mycompany.myproject.util и т.д., не бойтесь создавать вложенность.
    4. Именование полей класса, user_id — плохая идея, используйте везде camel case. В целом, изучите и придерживайтесь Java Code Conventions java.sun.com/docs/codeconv/CodeConventions.pdf
    5. Для небольшого тестового проекта рекомендую использовать вместо Оракла встраиваемую базу, например HSQLDB
    Ответ написан
    1 комментарий
  • Нужен совет по J2EE?

    Fafnir
    @Fafnir
    Используйте maven (родительский pom и дочерние для под-проектов). Используйте Spring. Если хотите что-то поделать для веба, советую Play! c ним будем проще начать. Ну и удачи!
    Ответ написан
    Комментировать
  • Нужен совет по J2EE?

    @Zamorozka
    На вкладке Downloads только JPG со схемой БД и архив со скриптом sql.
    J2EE я там не увидел.
    Ответ написан
    2 комментария
  • Взаимодействие форм и сервлета?

    YasonBy
    @YasonBy
    Правильнее будет, конечно, оформить всё в одном :)

    Согласно подходу модель-вид-контроллер (один из основных шаблонов проектирования веб-приложений), такой сервлет будет контроллером. Единственная точка входа позволяет легко контролировать доступ к приложению, делать предварительную обработку запроса, и направлять его нужным обработчикам.

    Это относится не только к описанному случаю страницы с несколькими формами, но и приложению в целом. В частности, так работают фреймворки Spring и Struts.
    Ответ написан
    5 комментариев