Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Зачем бы мне мог понадобиться сервер приложений? - усложнить учебный проект на spring :) 
:(
    Опции темы
unreger
Дата 22.7.2009, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 14.6.2007
Где: Tomsk

Репутация: нет
Всего: нет



Архитектурные вопросы.
Есть проект в учебных целях. HSQL-Hibernate-JPA-Spring-Echo3+Jetty
Вот его applicationContext. Куда имеет смысл расширяться? Чего не хватает чтобы было как у настоящих приложений?
Зачем такому приложению может понадобиться application server?
Как тут лучше использовать spring security (учитывая что страница всего одна и та генерится средствами Echo3, т.е разграничение будет по действиям )?
Код

<?xml version="1.0" encoding="UTF-8" ?>

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:security="http://www.springframework.org/schema/security"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:jee="http://www.springframework.org/schema/jee"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
            http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
            http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.4.xsd
              ">

    <!--<security:http auto-config="true">
        <security:intercept-url pattern="/**" access="ROLE_USER"/>
    </security:http>-->

    <context:annotation-config/>
    <context:component-scan base-package="nb"/>
    <tx:annotation-driven/>
    <bean id="dataSource"
          class="org.springframework.jdbc.datasource.DriverManagerDataSource"
          p:driverClassName="org.hsqldb.jdbcDriver"
          p:url="jdbc:hsqldb:file:persistence-db/test"
          p:username="sa" p:password=""/>
    <bean id="entityManagerFactory"
          class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
          p:dataSource-ref="dataSource"
          p:jpaVendorAdapter-ref="jpaAdapter">
        <property name="loadTimeWeaver">
            <bean
                    class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
        </property>
    </bean>
    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"
          p:entityManagerFactory-ref="entityManagerFactory"/>
    <bean id="jpaAdapter"
          class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"
          p:database="HSQL"
          p:showSql="true"/>
    <bean id="userDetailsService" class="org.springframework.security.userdetails.jdbc.JdbcDaoImpl">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <!-- моё -->

... всякие классы отвечающие за визуальные блоки...
...офрмлены как бины...эээ...чтобы были бины для опытов

    <bean id="dictionarySelectorActionListener" class="nb.echo3.actionListener.DictionarySelectorActionListener"/>
    <bean id="dictionarySelector" class="nb.echo3.forms.dictionary.DictionarySelector" scope="prototype"
          p:actionListener-ref="dictionarySelectorActionListener"/>

    <bean id="textBoxAndOkButton" class="nb.echo3.forms.dictionary.TextBoxAndOkButton" scope="prototype"/>
    <bean id="buttonCommandPanel" class="nb.echo3.forms.dictionary.ButtonCommandPanel" scope="prototype"/>
....

</beans>


PM MAIL   Вверх
Старовъръ
Дата 22.7.2009, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.5.2008

Репутация: 1
Всего: 10



Application Server - это штука, которая развертывает твое приложение, ты его уже используешь. Тот же Томкат, хоть и считается всего лишь контейнером сервлетом, но часто относится и к апп серверам(особенно если в приложении используется спринг).
Цитата
Чего не хватает чтобы было как у настоящих приложений?
Настоящее приложение - это увеличенная копия твоего, так что не переживай, и так уже много чего впихнул.
Цитата
Как тут лучше использовать spring security (учитывая что страница всего одна и та генерится средствами Echo3, т.е разграничение будет по действиям )?
Мм.. лучше бы увеличил количество страниц, сделал бы регистрацию, авторизацию - вот этого не хватает...

Это сообщение отредактировал(а) Старовъръ - 22.7.2009, 22:59
PM MAIL WWW   Вверх
unreger
Дата 22.7.2009, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 14.6.2007
Где: Tomsk

Репутация: нет
Всего: нет



Цитата

Application Server - это штука, которая развертывает твое приложение, ты его уже используешь. Тот же Томкат, хоть и считается всего лишь контейнером сервлетом, но часто относится и к апп серверам(особенно если в приложении используется спринг).

эээ...вот у меня работает Jetty, который сервлет-контейнер, правильно?
Jetty согласно web.xml запускает DispatcherServlet, он в свою очередь запускает единственный сервлет - точку входа в echo3
там вызывается 
Код

public Window init() {
        Window window = new Window();
        window.setTitle("NB");
        //setStyleSheet(NBStyle.DEFAULT_STYLE_SHEET);

        WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(MainApplicationServlet.getActiveConnection()
.getUserInstance().getSession().getServletContext());
        MainApplicationContent mainForm = (MainApplicationContent) wac.getBean("mainForm");
        window.removeAll();
        window.setContent (mainForm.getContentPane());

        return window;
    }

и все, дальше уже работает исключительно echo3
и зачем бы тут мог понадобится application server?

про Spring Security
echo3 это как swing для веба, поэтому страница одна и она генерится, остальное происходит внутри 
появляются разные окошки, кнопки, лисенеры, поэтому разграничить доступ по веб-страницам нельзя
но в конструкторах визуальных элементов и в обработчиках событий я могу проверять права
конечно можно обойтись без фильтров SS, а просто в сессию записывать юзера после логина
но возможно в будущем я захочу сменить View, скажем на wicket, там уже будет разграничение и по страницам тоже
вот не могу сообразить какую функциональность из SS лучше выбрать и какую ее часть реализовать





Это сообщение отредактировал(а) unreger - 22.7.2009, 23:56
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0433 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.