Pull to refresh

(Java) Tomcat: делаем кросс-доменную сессию

Reading time 3 min
Views 12K
Website development *

Описание задачи:


Вы делаете проект на java под Tomcat. И решили организовать разделы своего сайта в виде поддоменов.
К примеру, на сайте www.domen.xx сделать разделы: mail.domen.xx, user.domen.xx и т.п. В какой-то момент разработки вы с удивлением обанружите, что пользовательская сессия вопреки ожиданиям существует строго в рамках одного домена. То есть юзер авторизовавшись на главной странице (www.domen.xx), переходя почту (mail.domen.xx), теряет авторизацию.

Дело в том, что сессия привязывается к клиенту через cookie с именем JSESSIONID и с пустым доменом. А когда домен не указан, браузер использует полный текущий домен. То есть сессия привязывается не к «domen.xx», а к «www.domen.xx». По неизвестной мне причине в Томкэте нет настроек позволяющих управлять этим поведением.

Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Comments 36

Отладка Java-сервлетов

Reading time 2 min
Views 7.5K
Java *
Несмотря на то, что я пишу на Java уже 2 месяца (о да, это срок :) ), я ни разу не запускал remote debugger. При разработке на GWT этого делать и не нужно — оно как-то само всё это делает. :) Но вот настала весна, моё GWT приложения распустилось, и хочет, чтобы я его выложил на сервер. Но вдруг выяснилось, что просто так оно работать не захотело. А почему, я понять не могу. И значит мне нужен дебагер.

Принцип работы наверное любого удалённого отладчика (remote debugger) прост — контейнер (это может быть и какой-либо сервлет-контейнер, и php-интерпритатор. Полагаю, что интерпритаторы Ruby, Perl, Python работают аналогичным образом), который выполняет приложение настраивается таким образом, что при запуске приложения он либо начинал слушать определенный порт, либо сам пытался коннектиться куда-либо.
Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Comments 5

Обзор системной архитектуры социальной сети Campus.ru

Reading time 11 min
Views 19K
Creative Media corporate blog
Представляю Вашему вниманию обзор высокоуровневой системной архитектуры социальной сети www.campus.ru, разработки компании ООО «Креатив Медиа». На мой взгляд, данный материал интересен тем, что позволяет оценить применимость рассмотренных подходов и технологий в разработке интернет-ресурсов. По крайней мере, когда наша компания начинала проект «Кампус», мне очень не хватало подобной информации.
Дальше очень много букв
Total votes 95: ↑88 and ↓7 +81
Comments 133

Java: Тестирование страниц ВебПриложений при помощи JWebUnit и Cargo Container

Reading time 4 min
Views 4.3K
Java *
В бытность мою j2ee программистом, приходилось разрабатывать сайты с достаточно большим количеством страниц, использующие для визуализации ajax и прочие красивости. Контроллеры можно было протестировать при помощи JUnit и моковых запросов\ответов. Но для огромного количества ftl шаблонов и их JavaScript кода такой вариант не подходил.

...
Total votes 22: ↑16 and ↓6 +10
Comments 9

Maven — автоматизация сборки проекта

Reading time 4 min
Views 121K
Website development *
Уже давно я слышал об инструменте для автоматизации сборки проекта — Ant, но как-то не мог найти ему реального применения в проектах на PHP. Компилить вроде ничего не надо, внешние библиотеки вполне можно подключить через svn:externals, оставались только тесты, которые свободно выполнялись через $ phpunit AllTests.php, да перенос изменений на рабочий сервер (svn export + небольшой самописный скрипт). Даже достаточно хорошая статья об использовании ant в eclipse не подвигла меня на использование сего инструмента, да еще и build файлы писать не хотелось…

Вобщем все как всегда. Какая-то подобная штука вроде бы и не помешала бы, но все и так хорошо работало и лень было изучать псевдопомогающую технологию. Так было до тех пор, пока я не познакомился с Java…

Читать дальше →
Total votes 42: ↑37 and ↓5 +32
Comments 56

Видеоурок — Java + Intellij IDEA 9 + GWT 2.0 + Apache Tomcat

Reading time 1 min
Views 11K
Java *
Записал видеоурок, думаю многим начинающим он пойдёт на пользу и ответит на многие вопросы.

image

Скачать в разрешении 1280x800 можно здесь Размер 32 мегабайта.

Вы узнаете, как создать приложение на GWT в среде Intellij IDEA 9. Мы напишем простой асинхронный запрос, сгенерируем число на сервере, отправим ответ клиенту и выведем результат на экране.

Далее, всё задеплоим на сервер Apache Tomcat и покажем работающий пример.

Конечно, многие нюансы опущены. Всё-таки урок для начинающий гвт-шников!
Удачи в программировании!

ПС. Один момент сглючил при сжатии видео, когда нужно было скопировать библиотеку gwt-servlet.jar с папки GWT 2.0 в папку WEB-INF/lib.
Total votes 43: ↑34 and ↓9 +25
Comments 31

Настраиваем Tomcat для работы с JSF2 и другими компонентами Java EE 6

Reading time 7 min
Views 20K
Java *
Данная статья описывает по шагам как настроить Tomcat (на текущий момент версия 6.0.26) на работу с разными компонентами Java EE 6.Вы можете пропустить чтение этой статьи и сразу получить настроенный Tomcat и пример приложения.
подробности
Total votes 30: ↑27 and ↓3 +24
Comments 11

Установка jira на ubuntu

Reading time 4 min
Views 36K
System administration *
image

image

Если вкраце то jira — это система управления проектами, но установить её дело далеко незаурядное. Читать долгие англоязычные мануалы весьма утомительно, русских статей в интернетах мало сейчас будем исправлять.

Начнем
Total votes 16: ↑10 and ↓6 +4
Comments 5

Использование apr_socket_sendfile() из сервлетов под Tomcat

Reading time 4 min
Views 2.1K
Java *
В этом топике расскажу о маленьком, но эффективном способе передачи файлов пользователю из сервлета по HTTP протоколу. Используется:
  • Apache Tomcat
  • Apache Portable Runtime Library
  • Apache Tomcat Native Library
  • Ваш сервлет, которому нужно отдавать файлы пользователю
Читать дальше →
Total votes 31: ↑23 and ↓8 +15
Comments 15

Создаем воркспейс для IntelliJ IDEA из мавен проекта

Reading time 4 min
Views 25K
Java *
Sandbox
Давным-давно я работал в одной большой компании, мы писали JEE приложения. Тогда еще была IntelliJ IDEA 4.0. Один из проектов состоял примерно из 30 модулей. Создание воркспейса с нуля занимало кучу времени, поэтому воркспейс хранился в svn. Кто-то сидел на IDEA 4.0, кто-то на IDEA 5.0, и когда кто-то комитил свои iml'ки и ipr'ки в svn, то другие жутко сердились из-за того, что слетали их личные настройки, поэтому у всех был свой личный воркспейс, а новые программисты мучались с уже нерабочим из svn.

Потом появился мавен и maven-idea-plugin, стало возможно создавать воркспейс из мавен проекта. Потом появился плагин «Maven Integration»: интеграция мавена и IDEA, стало возможно открывать сразу мавен проект.

В начале 2010 года у меня была пара проектов примерно с 20 модулями каждый, и я тратил немного времени на их настройку. Сейчас у меня 20 проектов, в каждом около 50 модулей, у каждого проекта есть несколько бранчей и тэгов. Было очень трудно создавать и переключаться между воркспейсами. Другим программистам тоже было трудно, они тоже тратили много времени на создание и настройку воркспейса. Было ощущение, что программисты совсем не тем занимались.
Читать дальше →
Total votes 8: ↑5 and ↓3 +2
Comments 8

Vertical Scaling in Java Cloud

Reading time 2 min
Views 1.2K
Jelastic corporate blog
Хочу поделится результатами внутренних тестов вертикального автоматического масштабирования памяти в Jelastic — облачный хостинг для Java приложений.
В данном примере симитировано поведение web приложения, которое работает на базе Tomcat сервера. Измерения проводились при различных нагрузках. Нагрузка изменялась путем увеличения количества подключенных клиентов. Измерения показаний проводились через админку владельца приложения.
детали под катом
Total votes 13: ↑12 and ↓1 +11
Comments 24

Пишем deploy-скрипт для Grails

Reading time 5 min
Views 3.3K
Groovy & Grails *

Зачем нужен deploy-скрипт


Grails-приложения очень легко собираются в WAR. Делается это так:

grails war

Помимо того, что WAR собирается, очень хочется этот WAR еще и установить на сервер. В нашем случае это Tomcat. Установка вручную требует некоторой возни:
  1. Остановить сервер. Убить процесс, если он не остановился сам.
  2. Удалить старые файлы приложения (на всякий случай)
  3. Скопировать новый WAR на сервер. Иногда его нужно переименовывать (скажем, в ROOT.war)
В Maven эту работу может проделать, например, cargo plugin. Но с ним много приключений и настройки, причем он не особо учитывает особенности сервере.

Мы также можем использовать shell-скрипт. Но зачем писать на неудобном языке shell, когда есть замечательный кроссплатформенный язык Groovy?

Подробности
Total votes 6: ↑4 and ↓2 +2
Comments 4

Jelastic is the new kind of Java hosting platform

Reading time 2 min
Views 1.4K
Jelastic corporate blog
Jelastic — облачный хостинг для ранее разработанных или новых Java приложений.

Отличительные особенности

  • 100% поддержка стандартного стека технологий — нет привязки к проприетарному API платформы
  • визуальный конструктор топологий — визуализация при создании топологий окружений
  • вертикальное масштабирования — наличие которого является критически важным для определенного вида приложений
  • широкий набор баз данных и серверов приложений — в ближайшем будущем этот набор будет расширен еще больше



Мы продолжаем развитие Jelastic и рады сообщить о увеличении посадочных мест на борту.
Читать дальше →
Total votes 29: ↑29 and ↓0 +29
Comments 34

Jelastic — easy and fast swap domains between environments

Reading time 2 min
Views 902
Jelastic corporate blog
Jelastic Easy To ManageПри обновлении приложения до более новой версии необходимо максимально быстро с минимальными задержками и потерями запросов произвести переключение потока пользователей на новую версию. Для решения этой проблемы в разных проектах используются разные подходы. Одним из таких подходов является смена привязки главного домена к окружению с более новой версией приложения.
Как происходит процесс обновления в таком случае? Очень просо — вы настраиваете полноценную работу новой версии приложения в отдельном окружении, а потом производите смену привязки домена к другому IP, или проще говоря переключаете поток пользователей на обновленное окружение. Конечно в этом случае будут возникать
проблемы с кешем DNS серверов. Давайте проанализируем что предлагает Jelastic (Java Elastic Cloud Platform) для решения задачи обновления приложений и как обойти проблему DNS кеша.
Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Comments 12

По следам поста «Быстрая разработка веб-приложений на Java»

Reading time 2 min
Views 8.3K
Java *
Sandbox
image
Мотивом написания данной статьи послужило прочтение поста «Быстрая разработка веб-приложений на Java» и небольшой когнитивный диссонанс, возникший после прочтения и вопрос, который продолжает попрежднему мучать меня — Зачем такие сложности? Если есть WTP!

Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 38

Отказоустойчивый кластер для Java приложений

Reading time 5 min
Views 20K
Server Administration *
Sandbox
Со времени запуска проекта прошло некоторое время и настало время наращивать вычислительные мощности для работы приложения. Было принято решение построить для этого кластер, который в дальнейшем можно будет легко масштабировать. Таким образом нам надо настроить кластер для распределения запросов между серверами.

Для этого мы будем использовать 4 сервера на Linux CentOS 5.5, а так же Apache, Tomcat6, mod_jk, Heartbeat.
web1, web2 сервера — для распределения запросов средствами Apache и отказоустойчивости средствами Heartbeat. tomcat1, tomcat2 сервера — Tomcat сервера для Java-приложения.
Читать дальше →
Total votes 11: ↑6 and ↓5 +1
Comments 12

Jelastic — Java cloud platform for hosted service providers

Reading time 1 min
Views 1.3K
Jelastic corporate blog


Это наш новый промо-ролик для хостинговых компаний. Он раскрывает не все наши преимущества и функциональность, но довольно понятно и вкратце объясняет что мы делаем и зачем. На текущий момент у нас есть два крупных партнера — это хостинговые компании в Европе и в США. Скоро будут объявлены официальные пресс релизы по этому поводу. Есть ряд заинтересованных хостеров в Японии, Австралии и других странах. Jelastic старается сделать облачный хостинг более распространенным решением, дабы дать разработчикам максимальную свободу и независимость при выборе поставщика облачных услуг.
Total votes 27: ↑24 and ↓3 +21
Comments 11

Jelastic — Cloud Java Hosting. Статистика использования серверов Tomcat, GlassFish и Jetty. Популярность Java 6 vs Java 7

Reading time 1 min
Views 4.9K
Jelastic corporate blog
Как и обещали ранее, предоставляем статистику по серверам веб-приложений для Java. Статистические данные отображают текущий срез использования серверов в облачной Java Hosting платформе Jelastic. В статистической выборке участвовало более 2000 окружений. Справедливости ради, стоит отметить что сервера GlassFish и Jetty были добавлены позже. Это обстоятельство влияет на конечную статистику. Тем не менее, мы должны показать текущее состояние, для того чтобы провести анализ изменений в следующем месяце.



Распределение серверов по регионам
Читать дальше →
Total votes 31: ↑28 and ↓3 +25
Comments 5

Jelastic PaaS — статистика использования баз данных, серверов и JVM в ноябре

Reading time 2 min
Views 1.8K
Jelastic corporate blog
Мы продолжаем делиться с вами статистикой использования программного стека на платформе Jelastic. Какими же были предпочтения девелоперов в прошлом месяце?

Статистика использования баз данных MySQL, MariaDB, PostgreSQL и MongoDB

Начнем с SQL баз. Как и прежде MySQL остается неоспоримым лидером. PosgreSQL занимает второе почетное место, за ней следует MariaDB. Единственная среди наших NoSQL баз, MongoDB показала очень хороший результат в ноябре.



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



Текущие цифры
Читать дальше →
Total votes 34: ↑32 and ↓2 +30
Comments 18