|
|
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток Работаем над проектом Java(JSP, Servlet, JSTL) + Tomcat + Oracle. Вопрос: Стоит ли использовать какой-нибудь из framework'ов (Struts, JSF, Spring) и если да, то какой посоветуете, например с точки зрения надежности в работе и в простоте использования. Заранее спасибо всем за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 10:54:36 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
Незанаю насчет Struts 2 (не знаком), но сравнивать Struts 1.1 и Spring imho не корректно, это просто решения из разных весовых категорий. У спринга собсвенно своих два web frameworks: spring web MVC и spring portlet MVC. Вот Struts 1.1 можно сравнивать с spring web MVC, но это совсем небольшая часть spring. Если эти вещи сравнивать, то даже здесь spring web MVC намного гибче Struts. 1. Комманды в spring просто pojo, ни от кого не должны наследоваться. 2. Для того чтобы определенить какому controller передавать в spring`е это интерфейсы и можно подставить свою реализацию, в struts жестко зашито что на основе url. 3. Struts все-таки jsp центричная вещь. В spring View лучьше отделены, можно все предаставление переписать, а потом просто заменить ViewResolver, при этом сомсем не придется что то делать в контроллерах. 4. Попратьве если я ошибаюсть, но struts ActionForm нормально умеет работать только со строками, с другими типами все не так уж хорошо. Т.е. получаться что это просто некоторый буфер для хранения строк, и передавать его на уровень сервисов не очень красиво (появляется зависимость уровня сервисов от struts). 5. Нет interceptors. Так что если Struts или Spring, то лучьше Spring. Хотя на web уровне spring может легко использовать struts, а на уровне сервисов и persistence использовать все helper классы spring`а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 11:22:38 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
На сколько я знаю в JDeveloper есть поддержка и Struts и JSF Я бы всётаки стал изучать JSF, всё как никак SUN'ом декларируется как стандарт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 12:16:55 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
Spring. Struts конечно прост и надёжен, ну уж больно он прост=) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 12:21:44 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
jikezНа сколько я знаю в JDeveloper есть поддержка и Struts и JSF Я бы всётаки стал изучать JSF, всё как никак SUN'ом декларируется как стандарт. Как уже припарил этот дурацкий аргумент - "стандарт". J2EE стандарты тихонько плачут в углу, когда появляется более или менее адекватная opensource альтернатива. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 12:25:28 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
Blazkowicz Как уже припарил этот дурацкий аргумент - "стандарт". J2EE стандарты тихонько плачут в углу, когда появляется более или менее адекватная opensource альтернатива. +1 у меня тож есть альтернатива))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 12:35:55 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
jikezНа сколько я знаю в JDeveloper есть поддержка и Struts и JSF Я бы всётаки стал изучать JSF, всё как никак SUN'ом декларируется как стандарт. У стандартов есть несколько неприятных особенностей: 1. Стандарты пытаються покрыть все, очень часто обрастая из-за этого ненужной сложностью, которая и используется очень редко. 2. Стандарт замораживает/останавливает развитие, пока не появиться новый стандарт. Ну и не все sun стандарты удачные, например sql часть в jstl. Мне кажется что за такое sun-овцем самим стыдно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 12:36:37 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
vas0 Ну и не все sun стандарты удачные, например sql часть в jstl. Мне кажется что за такое sun-овцем самим стыдно. Не важно где кому стыдно, но при использовании стандартов уж до боли приятно когда у тебя один и тот же проект деплоится под разными Application Server'ами без дополнительных танцев с бубнами. и не надо чесать репу когда у тебя в логах туева хуча эксепшенов по непонятным причинам :( я не агитирую за стандарты, просто мне структура JSF-приложений кажется более логичной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 13:42:31 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
vas01. Стандарты пытаються покрыть все, очень часто обрастая из-за этого ненужной сложностью, которая и используется очень редко. 2. Стандарт замораживает/останавливает развитие, пока не появиться новый стандарт. Ну и не все sun стандарты удачные, например sql часть в jstl. Мне кажется что за такое sun-овцем самим стыдно. По пункту №1 есть замечаточный пример. Это сервлеты. Все ими пользуются. Но хоть кто нибудть может сказать что он использует не HTTP реализацию сервлетов? Ага. Вот и думаешь после этого, а на кой было от HTTP абстрагироватся? 3. Есть ещё один важный пункт. http://rsdn.ru/Forum/Message.aspx?mid=2438762&only=1 . Которому дали хороший термин "Corner cases". Это разные неприятные мелочи. Которые либо не упомянуты, либо не продуманы спецификацией. Убогий Servlet URL маппинг. Не специфицированя кластеризация. Не специфицированый процесс деплоймента. Не понятная реализация песимистического лока в EJB3... и много другого, что не делает жизнь лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 13:44:04 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
jikezНе важно где кому стыдно, но при использовании стандартов уж до боли приятно когда у тебя один и тот же проект деплоится под разными Application Server'ами без дополнительных танцев с бубнами. и не надо чесать репу когда у тебя в логах туева хуча эксепшенов по непонятным причинам :( Это все миф и неверные догадки. Аргументирую: 1) Деплоймент дескрипторы зачастую надо переписывать. 2) Разные датасорсы, логирование и многое другое надо конфигурять на конкретном сервере. 3) Переезд любого серьезного приложения на другой сервер, требует как минимум детального тестирования на новом сервере. И чем больше привязка приложения к J2EE тем больше аспектов надо тестировать. А вот если к примеру проект использует не JSF а Spring MVC + Velocity. То все что касается web слоя будет одинаково работать на всех серверах. Потому что привязки к конкретному серверу там нет. Так что принцип "написано однажды - работает везде" для "нестандартных" решений работает гораздо лучше чем для "стандартных" J2EE решений. Потому что нестандартные действительно не зависят от сервера приолжений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 13:54:11 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
vas0 Ну и не все sun стандарты удачные, например sql часть в jstl. Мне кажется что за такое sun-овцем самим стыдно. Стыдно должно быть что они ее не доделали до конца и приходится этим самому заниматься ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 14:22:25 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
Blazkowicz Так что принцип "написано однажды - работает везде" для "нестандартных" решений работает гораздо лучше чем для "стандартных" J2EE решений. Потому что нестандартные действительно не зависят от сервера приолжений. Гениально, особенно если учесть то, что сервер приложений это реализация JEE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 14:34:20 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
vykhodtsev vas0 Ну и не все sun стандарты удачные, например sql часть в jstl. Мне кажется что за такое sun-овцем самим стыдно. Стыдно должно быть что они ее не доделали до конца и приходится этим самому заниматься вообще я имел ввиду вот это : Код: plaintext 1. 2. 3. 4. 5. Ползуйтесть люди, очень удобно с точки зрения тестирования и повторного использования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 14:46:32 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
vas0 vykhodtsev vas0 Ну и не все sun стандарты удачные, например sql часть в jstl. Мне кажется что за такое sun-овцем самим стыдно. Стыдно должно быть что они ее не доделали до конца и приходится этим самому заниматься вообще я имел ввиду вот это : Код: plaintext 1. 2. 3. 4. 5. Ползуйтесть люди, очень удобно с точки зрения тестирования и повторного использования А что, читать запрос из файла не получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 14:50:01 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
wessen А что, читать запрос из файла не получается? нет меня просто не вставляет, когда у меня jsp начинают рулить транзациями, да и вообще выполнять какую-либо бизнес логику. Плюс еще хочется как то исключения обрабатывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 15:07:15 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
vas0 вообще я имел ввиду вот это : Код: plaintext 1. 2. 3. 4. 5. нет меня просто не вставляет, когда у меня jsp начинают рулить транзациями, да и вообще выполнять какую-либо бизнес логику. Плюс еще хочется как то исключения обрабатывать. а это разве не из JSP? и не транзакции с логикой? или я не понял чивота... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 15:32:42 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
wessenГениально, особенно если учесть то, что сервер приложений это реализация JEE. Что тут гениального? J2EE не покрывает целый ряд аспектов, в результате чего каждый сервер реализует эти аспекты как угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 15:44:44 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
am_sasa а это разве не из JSP? и не транзакции с логикой? или я не понял чивота... там обсуждение началось вот с этого vas0 Ну и не все sun стандарты удачные, например sql часть в jstl. Мне кажется что за такое sun-овцем самим стыдно. потом я привел пример vas0 вообще я имел ввиду вот это Код: plaintext 1. 2. 3. 4. потом вопрос wessen А что, читать запрос из файла не получается? vas0 нет меня просто не вставляет, когда у меня jsp начинают рулить транзациями, да и вообще выполнять какую-либо бизнес логику. Плюс еще хочется как то исключения обрабатывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 16:14:02 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
Blazkowicz wessenГениально, особенно если учесть то, что сервер приложений это реализация JEE. Что тут гениального? J2EE не покрывает целый ряд аспектов, в результате чего каждый сервер реализует эти аспекты как угодно. Хочешь сказать, что приложение использовавшее хибер будет легче переносить, чем приложение использовавшее EJB? Может конечно оно и так, вот только нахрена тогда сервер приложений вообще нужен, если свести к минимуму использование J2EE? Я не случайно привер пример с хибером, т.к. дело с ним не имел, а вот с остальным, ejb, веб сервисы, JSF и т.д. никаких проблем при переносе не возникало, естетсвенно спецефичные для СП дескрипторы приходилось писать. А вот нестандартный хибер, судя по документации Jboss встроен туда намертво и думаю что геморой при переносе приложения его использующего, возникнет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 16:28:02 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
wessenХочешь сказать, что приложение использовавшее хибер будет легче переносить, чем приложение использовавшее EJB? Да. wessen Может конечно оно и так, вот только нахрена тогда сервер приложений вообще нужен, если свести к минимуму использование J2EE? Ну есть такие вещи как JMS, например. И сервлеты. Без этого сейчас никуда. К тому же сервер зачастую предоставляет ряд удобных возможностей в плате редеплоя и мониторинга. wessen Я не случайно привер пример с хибером, т.к. дело с ним не имел, а вот с остальным, ejb, веб сервисы, JSF и т.д. никаких проблем при переносе не возникало, естетсвенно спецефичные для СП дескрипторы приходилось писать. А вот замечательнейший пример между прочим. Давай разовьем тему. Итак есть EJB3 persistence. И есть всего 2 его реализации это Hibernate и TopLink. И на сколько бы тебе хибер не казался не стандартным, с этим ничего не попишешь он один из немногих кто реализует спеку EJB3 persistence(не помню какое там у неё точное название). Так вот. Взять к примеру какой-нить метод. EntityManager.lock. Я вот знаю, в случае хибера он ложиться на хибернейтовский метод lock который делает SELECT FOR UPDATE. Но теперь я хочу портировать своё приложение с JBoss на Oracle AS. И скажи мне с пол пинка. Что буде происходить на TopLink с вызовом "стандартного" метода EntityManager.lock? А если чур в TopLink не заглядывать а попытатся разобратся по спецификации и EntityManager API doc? Вот это-то и называется, здравтсуй жпа - новый год. Ты не знаешь что там реально происходит. И не сможешь угадать. И не сможешь предсказать заработает ли этот метод при переезде на другой сервер как тебе надо или нет. wessenА вот нестандартный хибер, судя по документации Jboss встроен туда намертво и думаю что геморой при переносе приложения его использующего, возникнет. Это тебя в какое-то словоблудие понесло. Хибернейт реализует "стнадартную" спеку EJB3. Это для тебя новость или сюрприз? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 17:47:06 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
vas0 нет меня просто не вставляет, когда у меня jsp начинают рулить транзациями, да и вообще выполнять какую-либо бизнес логику. Плюс еще хочется как то исключения обрабатывать. Нам проще - у нас бизнес логика на pl/sql. В jsp никакой логики нет, только вызов хранимых процедур. Вот с этим то и были проблемы, так как <sql:update> толком хранимки не поддерживает. Пришлось самому дописывать (а также еще некоторые вещи), впрочем ничего сложного. А исключения прекрасно обрабатываются через <c:catch>. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 21:09:18 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
Очень хорошая дискуссия, но участники увлеклись деталями. Хотелось бы услышать от каждого обобщение сказанного. Т.е. "я считаю, что Struts> JSF> Spring", "а я что Struts< JSF< Spring". Хочется услышать совет. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 23:14:28 |
|
||
|
Struts vs JSF vs Spring
|
|||
|---|---|---|---|
|
#18+
Рейтинг по web frameworks с которыми я знаком (это мое субъективнео мнение) 1. Tapestry 4.0 2. Spring MVC (это не весь spring) 3. Beehive 4. Struts 1.1 Вообще самому интересно как люди оценивають такие вещи как: Web Work, Struts 2, JSF, SEAM и какой бы рейтинг составили другие. Вообще при выборе framework, на мой взгляд очень многое зависит от IDE которую будешь использовать, насколько он хорошо со средой интегрирован, есть ли хорошие плагины и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2007, 08:28:22 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=646&tid=2146057]: |
0ms |
get settings: |
16ms |
get forum list: |
23ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
41ms |
get topic data: |
23ms |
get forum data: |
5ms |
get page messages: |
98ms |
get tp. blocked users: |
3ms |
| others: | 288ms |
| total: | 511ms |

| 0 / 0 |
