Лучшая платформа веб-приложений для Java? [закрытый]

В Java все переменные, которые вы объявляете, на самом деле являются «ссылками» на объекты (или примитивы), а не самими объектами.

При попытке выполнить один метод объекта , ссылка просит живой объект выполнить этот метод. Но если ссылка ссылается на NULL (ничего, нуль, void, nada), то нет способа, которым метод будет выполнен. Тогда runtime сообщит вам об этом, выбросив исключение NullPointerException.

Ваша ссылка «указывает» на нуль, таким образом, «Null -> Pointer».

Объект живет в памяти виртуальной машины пространство и единственный способ доступа к нему - использовать ссылки this. Возьмем этот пример:

public class Some {
    private int id;
    public int getId(){
        return this.id;
    }
    public setId( int newId ) {
        this.id = newId;
    }
}

И в другом месте вашего кода:

Some reference = new Some();    // Point to a new object of type Some()
Some otherReference = null;     // Initiallly this points to NULL

reference.setId( 1 );           // Execute setId method, now private var id is 1

System.out.println( reference.getId() ); // Prints 1 to the console

otherReference = reference      // Now they both point to the only object.

reference = null;               // "reference" now point to null.

// But "otherReference" still point to the "real" object so this print 1 too...
System.out.println( otherReference.getId() );

// Guess what will happen
System.out.println( reference.getId() ); // :S Throws NullPointerException because "reference" is pointing to NULL remember...

Это важно знать - когда больше нет ссылок на объект (в пример выше, когда reference и otherReference оба указывают на null), тогда объект «недоступен». Мы не можем работать с ним, поэтому этот объект готов к сбору мусора, и в какой-то момент VM освободит память, используемую этим объектом, и выделит другую.

18
задан Jonas 17 June 2011 в 13:44
поделиться

14 ответов

Существует много больших веб-платформ для Java, но если Ваш поиск чего-то, что подобно направляющим, смотрит Grails. Это использует Groovy, который является динамическим языком, но использует Java VM.

Выезд их быстрый запуск , чтобы определить, является ли это тем, что Вы хотите.

14
ответ дан 30 November 2019 в 05:45
поделиться

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

0
ответ дан 30 November 2019 в 05:45
поделиться

Передает, Grails.

Просто загрузка это с Grails.org и начинают работать через примеры и скринкасты. Парни, которые делают его просто, были куплены SpringSource, таким образом, это, как гарантируют, будет ездить по различным местам!

1
ответ дан 30 November 2019 в 05:45
поделиться

Я читал о Шве JBoss, и это кажется хорошим также

0
ответ дан 30 November 2019 в 05:45
поделиться

Гобелен выглядит очень прохладным... после того, как Вы приложили БОЛЬШОЕ усилие для установки его.

0
ответ дан 30 November 2019 в 05:45
поделиться

Я соглашаюсь с другими людьми, которые предлагают чаши Грааля - я использую его на нескольких приложениях теперь, и это - самая близкая вещь, я нашел к Java приправленный рубин на направляющих. Тем не менее почему бы не использовать JRuby? Мое понимание - то, что у них есть направляющие, работающие на нем теперь.

1
ответ дан 30 November 2019 в 05:45
поделиться

Я действительно любил использовать Grails, он делает широкое применение платформ Spring и Быть в спящем режиме. Путем это разделяет образцовое представление, и контроллер является большим. GORM (реализация объектного реляционного отображения (ORM) Grails) удивителен и существуют планы выделить его в ее собственный отдельный продукт.

безопасность является очень легким использованием , плагин безопасности Spring Acegi

Также стоящий взгляда на Доступный для поиска плагин , который реализует полнотекстовый поиск очень быстро и легко.

1
ответ дан 30 November 2019 в 05:45
поделиться

Struts для исков.

2
ответ дан 30 November 2019 в 05:45
поделиться

Это зависит от того, что Вы хотите сделать, но короткий ответ: мальчик, там! Обратите внимание, однако, что ответ не указывает, хорошо ли несметное число опций или плохо. Серверное сообщество Java склонно быть намного более фрагментированным, и в то время как нет то, что много альтернатив направляющим, используемым в фактической практике для Ruby, каждого из ожиданий сторона Java, кажется, довольно хорошо укомплектованы. Как Taylor Marshall упомянул, существует Struts, который чаще всего используется в промышленности (поскольку это - самое старое все еще используемое OSS контейнер MVC, о котором я знаю. Но никому, кажется, больше не нравится Struts. Экс-Джакарта меню на Apache Джакартская страница показывает много Платформ веб-приложений, что они вывели, включая Гобелен , Турбина , и Скорость . Существует также Калитка (очень достойное сравнение Калитки, и Гобелен доступен здесь ). О, и Поверхности Сервера Java . И SpringMVC. Гобелен и Калитка (в особенности), кажется, делают успехи, в то время как у всех, кажется, есть страшная история о JSF. Ваш пробег будет абсолютно варьироваться здесь, и eesh, смотрящий на ссылки в просто этом ответе, возможно, Groovy был бы более простым.

5
ответ дан 30 November 2019 в 05:45
поделиться

мне нравятся чаши Грааля, но существует много этих вещей там, матовые raible семы, чтобы иметь хороший дескриптор на них:

7
ответ дан 30 November 2019 в 05:45
поделиться

Я не уверен, саркастичны ли Вы или нет, но если Вы не, вот частичный список веб-Платформ Java:

  1. Поверхности Сервера Java (официальная спецификация Sun), различные реализации доступны
  2. сланец Apache Struts
  3. Apache
  4. Гобелен Apache
  5. Калитка Apache
  6. платформа OpenSymphony WebWork
  7. Spring MVC

, только использовавшая несколько из них, я не могу действительно сказать Вам, какой является лучшим. Spring MVC является моим любимым для большего количества содержания, ориентировал сайты, но я буду использовать JSF, если это будет больше традиционное веб-приложение (приложение с веб-интерфейсом).

шутка среди Java-разработчиков, обычно, не если существует платформа/библиотека для определенного приложения, но который из десятков опций использовать.

3
ответ дан 30 November 2019 в 05:45
поделиться

Смотрите на Spring. Я думаю, что это сделает что угодно, что Ruby on Rails может сделать (можно также добавить, в спящем режиме для ORM).

15
ответ дан 30 November 2019 в 05:45
поделиться
2
ответ дан 30 November 2019 в 05:45
поделиться

Я только начал работать с Groovy / Grails, и он неплохо выглядит. Что приятно, так это то, что вы можете использовать всю существующую технологию Java.

1
ответ дан 30 November 2019 в 05:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: