Кто-либо может рекомендовать простую платформу веб-приложения Java? [закрытый]

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

65
задан 2 revs, 2 users 100% 17 June 2011 в 13:51
поделиться

21 ответ

Сам не пробовал, но я думаю

http://www.playframework.org/

имеет большой потенциал ...

исходящий из php и классический asp, это первый веб-фреймворк java, который звучит многообещающе для меня ....

Редактировать автор исходного вопроса - 2011-06-09

Просто хотел предоставить обновление.

Я выбрал Play и это было именно то, о чем я просил. Он требует очень небольшой настройки и работает сразу после установки. Необычно то, что он избегает некоторых распространенных передовых практик Java в пользу того, чтобы все было как можно проще.

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

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

В общем, если вы хотите создать веб-приложение с удобством и простотой сравнимый с фреймворком вроде Ruby on Rails, но на Java и с преимуществами инструментов Java (например, Eclipse), тогда Play Framework - отличный выбор.

50
ответ дан 24 November 2019 в 15:11
поделиться

(Обновленный для Spring 3.0)

я иду с Spring MVC также.

необходимо загрузить, Возникают здесь

Для конфигурирования веб-приложения для использования Spring, добавляет следующий сервлет к Вашему web.xml

<web-app>
    <servlet>
        <servlet-name>spring-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>spring-dispatcher</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

, тогда необходимо создать файл конфигурации Spring /WEB-INF/spring-dispatcher-servlet.xml

первая версия этого файла может быть столь же простой как:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
        http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/mvc     http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

   <context:component-scan base-package="com.acme.foo" />    
   <mvc:annotation-driven />

</beans>

Spring тогда автоматически обнаружит классы, аннотируемые @Controller

А, который простой контроллер тогда:

package com.acme.foo;

import java.util.logging.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/person")
public class PersonController {

    Logger logger = Logger.getAnonymousLogger();

    @RequestMapping(method = RequestMethod.GET)
    public String setupForm(ModelMap model) {
        model.addAttribute("person", new Person());
        return "details.jsp";
    }

    @RequestMapping(method = RequestMethod.POST)
    public String processForm(@ModelAttribute("person") Person person) {
        logger.info(person.getId());
        logger.info(person.getName());
        logger.info(person.getSurname());
        return "success.jsp";
   }
}

И details.jsp

<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<form:form commandName="person">
<table>
    <tr>
        <td>Id:</td>
        <td><form:input path="id" /></td>
    </tr>
    <tr>
        <td>Name:</td>
        <td><form:input path="name" /></td>
    </tr>
    <tr>
        <td>Surname:</td>
        <td><form:input path="surname" /></td>
    </tr>
    <tr>
        <td colspan="2"><input type="submit" value="Save Changes" /></td>
    </tr>
</table>
</form:form>

Это - просто верхушка айсберга относительно того, что может сделать Spring...

Hope это помогает.

48
ответ дан 7 revs 24 November 2019 в 15:11
поделиться

Вы попробовали DWR? http://directwebremoting.org

0
ответ дан Eduardo Campañó 24 November 2019 в 15:11
поделиться

Я не использовал его , AppFuse разработан для упрощения противной установки, которая идет с веб-разработкой Java.

1
ответ дан davetron5000 24 November 2019 в 15:11
поделиться

Мне нравится Spring MVC, использование 2,5 функций существует очень мало включенный XML.

5
ответ дан bpapa 24 November 2019 в 15:11
поделиться

Корректный ответ IMO зависит от двух вещей: 1. Какова цель веб-приложения, которое Вы хотите записать? Вы только сказали нам, что хотите записать его быстро, но не, что Вы на самом деле пытаетесь сделать. Например, этому нужна база данных? Он своего рода бизнес-приложение (подсказка: возможно, поиск "лесов")?.. или игра?.. или Вы просто экспериментируете с sthg? 2. С какими платформами Вы являетесь самыми знакомыми прямо сейчас? То, что часто занимает большую часть времени, читает документы и выясняет, как (действительно) работают вещи. Если Вы хотите сделанный быстро, придерживаетесь вещей, Вы уже знаете хорошо.

2
ответ дан emu 24 November 2019 в 15:11
поделиться

Гобелен 5 может быть установкой очень быстро использование архетипов знатока. Посмотрите Гобелен 5 учебных руководств: http://tapestry.apache.org/tapestry5/tutorial1/

2
ответ дан Paul Croarkin 24 November 2019 в 15:11
поделиться

Я действительно не вижу то, что является грандиозным предприятием с получением знатока + затмение для работы, пока Вы не должны изменять pom.xml слишком много:)

Большинство платформ, что у пользовательского знатока есть архетипы знатока, которые могут генерировать тупиковый проект.

, Таким образом, в основном шаги должны быть:

  1. знаток Установки
  2. Добавляет, что переменная пути к классу M2_REPO для затмения
  3. Генерирует проект с архетипом
  4. проект Импорта затмить

Что касается Калитки, нет никакой причины, почему Вы не могли использовать его без знатока. Хорошая вещь о знатоке состоит в том, что это заботится обо всех зависимостях, таким образом, Вы не имеете к. С другой стороны, если единственная вещь, которую Вы хотите сделать, состоит в том, чтобы моделировать несколько страниц, чем Калитка может быть излишеством. Но, должен Ваше приложение расти, в конечном счете, преимущества Калитки продолжали бы показывать с каждой добавленной формой, ссылкой или страницей:)

2
ответ дан Matej Knopp 24 November 2019 в 15:11
поделиться

Мне нравится писать простые сервлеты + контейнер сервлета winstone . Оттуда я, которого шаблонная обработка устройства, повышаяющего характеристики, (скорость, XSLT, и т.д.) и доступ DB (в спящем режиме, закручивает, и т.д.) библиотеки, поскольку мне нужны они вместо того, чтобы заняться фактической платформой.

4
ответ дан Aaron Maenpaa 24 November 2019 в 15:11
поделиться

Платформа Дорожек является превосходной платформой. Единственная включенная конфигурация вставляет несколько строк в Вашем web.xml.

Это - очень прямая основанная на запросе веб-платформа Java.

5
ответ дан ScArcher2 24 November 2019 в 15:11
поделиться

Калитка Apache, Liftweb), требуют такой установки, конфигурация

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

5
ответ дан Sami 24 November 2019 в 15:11
поделиться

После многого болезненного опыта с Struts, Гобелен 3/4, JSF, Шов JBoss, GWT я буду придерживаться Калитки на данный момент. Место размещения калитки для Eclipse удобно, но не на 100% завершено, все еще полезно все же. Плагин MyEclipse для развертывания на Tomcat является первоклассным. Никакой Знаток просто не развертывается однажды, изменения автоматически копируются в Tomcat. Волшебство.

Мое предложение: Калитка 1.4, MyEclipse, Subclipse, Место размещения Калитки, Tomcat 6. Потребуется приблизительно один час для установки, но большая часть из этого будет загружать кота и плагины Eclipse.

Подсказка: не используйте Место размещения Калитки, освобождает, вручную установите Калитку 1.4, освобождает в проект.

Этот сайт взял меня приблизительно 2 часа для записи , http://ratearear.co.uk - не идет туда от работы!! И этот - работа приблизительно 3 дней http://tnwdb.com

Удача. Tim

2
ответ дан Tim Squires 24 November 2019 в 15:11
поделиться

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

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

Хотите добавить "удалить" действие к своему списку клиентов? Просто добавьте, что названный метод "удаляет" к Вашему потребительскому контроллеру, и это автосоединено проводом к URL/customers/delete.

Потребность связать Ваши параметры запроса на объект? Просто добавьте экземпляр целевого объекта к Вашему методу и Spring, MVC будет использовать отражение для привязки параметров, делая запись логики как легкую, как будто клиент передал объект со строгим контролем типов для начала.

Больной от всего принудительного разделения труда MVC? Просто имейте свой возврат метода пусто и запишите свой ответ непосредственно Писателю сервлета, если это - Ваша вещь.

6
ответ дан Kyle 24 November 2019 в 15:11
поделиться

Дорожки: довольно хороший. книга по этому появилась из прагматически настроенных программистов: http://www.pragprog.com/titles/fdstr/stripes . Никакой XML. Требует java 1.5 или позже.

гобелен: попробовали старую версию 3.x. Мне говорят, что текущая версия 5.x в бета-версии и довольно хороша.

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

BR,
~A

7
ответ дан anjanb 24 November 2019 в 15:11
поделиться

Проверьте WaveMaker для создания быстрого, простого веб-приложения. У них есть основанный на браузере разработчик перетаскивания для виджетов Dojo/JavaScript, и бэкенд составляет 100% Java.

8
ответ дан killdash10 24 November 2019 в 15:11
поделиться

Ваш ищут http://grails.org/

, Вы кодируете его с отличным, динамический язык, основанный на Java, и работает гладко вместе с кодом Java, классами и библиотеками. Синтаксис не должен ни трудно для изучения, ни далеко от Java. Дайте ему попытку, это - несколько минут для подъема веб-сайта и выполнения. Просто следуйте http://grails.org/Installation и http://grails.org/Quick+Start

Greetz, GHad

20
ответ дан GHad 24 November 2019 в 15:11
поделиться

Я действительно формирование канавок к Дорожки . Общая установка включает некоторое вырезание и вклейку XML в web.xml Вашего приложения, и затем Вы выключены. Никакая конфигурация не требуется, начиная с Дорожек платформа соглашения по конфигурации. Переопределение поведения по умолчанию выполняется с помощью аннотаций Java 1.5. Документация является замечательной. Я провел приблизительно 1-2 часа, читая учебное руководство и настраивая мое первое приложение.

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

28
ответ дан John Stauffer 24 November 2019 в 15:11
поделиться
0
ответ дан 24 November 2019 в 15:11
поделиться

The web4j tool markets itself as simple and easy. Some points about it:

  • uses a single xml file (the web.xml file required by all servlets)
  • no dependency on Maven (or any other 3rd party tool/jar)
  • full stack, open source (BSD)
  • smallest number of classes of any full stack java framework
  • SQL placed in plain text files
  • encourages use of immutable objects
  • minimal toolset required (JSP/JSTL, Java, SQL)
2
ответ дан 24 November 2019 в 15:11
поделиться

Grails is the way to go if you like to do the CRUD easily and create a quick prototype application, plays nice with Eclipse as well. Follow the 'Build your first Grails application' tutorial here http://grails.org/Tutorials and you can be up and running your own application in less than an hour.

2
ответ дан 24 November 2019 в 15:11
поделиться

Попробуйте Apache Click

Это как калитка, но многое более продуктивно и легко учиться.

3
ответ дан 24 November 2019 в 15:11
поделиться
Другие вопросы по тегам:

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