Быстрый старт - FAQ по пакету web-разработчика Struts Framework |
Kickstart FAQ
Здесь приведены ответы на обычные часто задаваемые новичками вопросы. Для того, чтобы ознакомиться с всесторонним FAQ, с возможностями поиска, посетите наших друзей на JGuru.
Зачем нам нужен Struts?
Технологии Java оказывают разработчикам серьезную поддержку в создании и эксплуатации web-приложений для современных web-сайтов и корпоративных интранет-приложений. Struts сочетает в единой среде использование Java Servlets, Java ServerPages, библиотек тэгов и поддержку ресурсов для сообщений. В результате мы имеем кооперативную, синергетическую платформу, удобную как для командной разработки, так и для индивидуальных разработчиков.
Как Struts работает?
Java сервлеты спроектированы для обработки результатов запросов, сделанных в Web-браузерах. Java ServerPages спроектированы для создания динамических web-страниц, которые могут превратить сайты-афиши в реальные приложения. Struts использует особый сервлет как распределительный щит, который пересылает запросы от web-браузеров к соответствующим Java ServerPages. Это делает гораздо проще проектирование, разработку и эксплуатацию web-приложений.
Совместим ли Struts с другими технологиями Java?
Да. Struts активно поддерживает промышленные стандарты. Наш ведущий разработчик является членом JSR052, группы экспертов компании Sun для разработки стандартной библиотеки JSP тэгов. Основной критерий проектирования – то, что Struts должен быть совместим с платформой Sun J2EE. Фактически, Struts действует как интегратор java-технологий, таким образом, что они могут быть использованы в “реальном мире”.
Кто написал Struts?
Struts был создан Craig R. McClanahan и подарен Apache Software Foundation в мае 2000. Craig является основным разработчиком и Struts и Tomcat 4, официальной справочной реализации контейнера для java-сервлетов. Используя стабильные релизы Struts и Tomcat, Craig в настоящее время работает как Implementation Engineer для компании Sun, создавая их новый Web Services Pack. Множество активных разработчиков проекта Struts вместе работают по всему земному шару. Разработчикам Java всегда рады в этом проекте. Struts является частью проекта Apache Jakarta, с обычной для этого проекта миссией “обеспечивать open source решения на платформе Java c качеством, присущим коммерческим”. 17 разработчиков работали над релизом Struts 1.0.
Почему он называется Struts?
Это ссылка на архитектурный смысл термина - “подпорка, распорка”. Оставаясь невидимыми, эти части являются важной составляющей зданий, домов и мостов.
Как лицензируется Struts?
Struts – это охраняемое авторским правом программное обеспечение, выпускаемое под лицензией "free-to-use-license" от Apache Software Foundation. Эта лицензия появляется в начале каждого файла с исходными кодами. Копия лицензии для справок находится здесь.
Может ли Struts использоваться в коммерческих продуктах?
Да. Единственным требованием, которое описано в лицензии Apache Software Foundation является включение в начало каждого файла с исходными кодами соответствующего текста, а также файла LICENSE в корневом каталоге дистрибутива проекта.
Помимо этого, приветствуются такие формы сотрудничества, как исправления, улучшения кода, новые функции и даже просто пожелания новой функциональности.
Где я могу получить копию Struts?
Наилучшим местом для загрузки Struts является jakarta.apache.org/struts. Самые последние сборки (nightly builds) в данный момент очень стабильны и рекомендуется начать использование Struts с них.
Как установить Struts?
Чтобы разрабатывать приложения с использованием Strtuts, обычно вы должны просто добавить STRUTS JAR файл в вашу среду разработки Java. После этого вы сможете использовать классы Struts как часть вашего собственного приложения. В дистрибутиве поставляется пустое приложение Struts (blank Struts application), которое вы можете использовать для осуществления своих замыслов.
Так как доступны полные исходные коды для Struts, то мы тажке поставляем полные инструкции для компилирования вашего собственного STRUTS JAR с чистого листа (В действительности это проще, чем выглядит!).
Ваше приложение Struts может легко распостраняться с использованием стандартных WAR-файлов. В большинстве случаев, вы просто копируете WAR-файл на ваш сервер приложений, и он устанваливается автоматически. Если это не так, то взгляните на полные пошаговые инструкции по установке для различных сервлет-контейнеров.
Когда мне нужно добавлять "struts.jar" в classpath?
Когда вы компилируете приложение, которое использует Struts, достаточно добавить "struts.jar" в classpath, который видит ваш компилятор – но не нужно включать его в переменную среды окружения CLASSPATH.
Почему мы подчеркиваем это различие? Потому, что если вы используете сервлет-контейнер на компьютере разработчика для тестирования вашего приложения, то “struts.jar” не должен быть в переменной среды окружения CLASSPATH, когда вы запускаете сервлет-контейнер. Причина этого в том, что каждое web-приложение должно иметь свою собственную копию классов Struts, и контейнер будет “смущен”, если Struts будет также в переменной среды окружения.
Есть несколько общих подходов для разрешения этой ситуации:
Используйте ANT для сборки вашего проекта – он может легко собирать пути (classpaths) для компилятора. Именно таким образом производится сборка Struts, Tomcat и большинства других Java-проектов.
Используйте IDE (Integrated Debugging Environment), где вы настраиваете свой "class path", отличный от содержащегося в переменной среды окружения.
Используйте командный скрипт (shell script), который временно добавит struts.jar в classpath во время компиляции, например javac -classpath /path/to/struts.jar:$CLASSPATH $@
Где я могу получить помощь по Struts?
Пакет Struts включает в себя users guide , которое дает людям представление о этой среде и лехащих в ее основе технологиях. Различные компоненты также имеют свои собственные подробные руководства разработчика, которые рассматривают более глубокие вопросы. Подробная документация Javadocs включена в пакет наряду с полными исходными кодами проекта. Список рассылки Struts (Strut's mailing list) является очень активным, и в не всегда рады сообщениям от новых пользователей Struts.
Также существует множество примеров, статей и книг, посвященных Struts. Cмотрите страницу ресурсов Resources page чтоб получить текущий список ссылок. Два самых полезных ресурса – архив списка рассылки (mailing list archives) и форум о Struts на Jguru (Struts Forum at JGuru).
Можно ли получить платную техническую поддержку?
Не существует официальной платной техподдержки по Struts, хотя многие сторонние организации предлагают различные формы техпоодержки. Список консультантов по Struts можно найти на старнице ресурсов(resources page).
Существуют ли интернет-провайдеры, которые могут разместить мои Struts приложения?
Смотрите список провайдеров для Java&Strtuts на Resources page.
Какие web-сайты уже используют Struts (Powered by Struts)?
For a listing of some Struts-powered Web sites available to the public, visit our Resources page.
В чем разница What's the difference between Jakarta Struts and Jakarta Turbine?
Смотрите следующие ссылки:
< http://www.mail-archive.com/struts-user@jakarta.apache.org/msg03206.html >
< http://www.mail-archive.com/general@jakarta.apache.org/msg00495.html >
< http://jakarta.apache.org/velocity/ymtd/ymtd.html >
Почему библиотека тэгов Struts не является частью проекта Jakarta Taglibs?
Разработку обоих продуктов началась примерно в одно и то же время. Вплоть до релиза 1.0, казалось логичнее разрабатывать библиотеку тэгов вместе с контроллером. Сейчас, когда релиз 1.0 уже выпущен, активно разрабатывается стандартная библиотека тэгов JSP (Java ServerPages Standard Taglib – JSPTL). Как только JSPTL стабилизируется, библиотека тэгов Struts будет пересмотрена. Тэги, которые напрямую не связаны со средой разработки могут поддерживаться в Jakarta Taglibs
Development of both products began about the same time. Leading up to the release of 1.0, it was thought better to continue to develop the taglibs alongside the controller. Now that 1.0 is out, the Java ServerPages Standard Taglib is in active development. Once work on the JSPTL stabilizes, the Struts taglibs will be revisited. Tags which are are not linked directly to the framework may be hosted at Jakarta Taglibs instead.
Куда я могу сообщать об ошибках и пожеланиях о новых функциях?
You can research and report outstanding fixes and feature requests using Jakarta Bugzilla.
If you are unsure if this is in actual problem, feel free to bring it up on the list first. But to be sure an issue is resolved, always report it to Bugzilla.
Struts also maintains a TODO list outlining features being planned or developed.
Каким образом принять участие в разработке Struts?
Struts распостраняется Apache Software Foundation. Это те же люди, что распостраняют web-сервер Apache. Как и все проекты ASF, Struts управляется в стиле "meritocracy", где привествуется вклад каждого. Пользователи могут помогать другим пользователям в списках рассылки, посылая сообщения об ошибках,и запрашивая новую функциональность. Разработчики могут помочь, присылая исправления, новый код и документацию. Наиболее активные разработчики могуть стать Committers, которые принимают действительные решения связанные с кодом Strutts.
Вы можете начать с присоединения к списку рассылки пользователей Struts. Если вам там понравится, то подпишитесь на список разработчиков Struts. Если вы найдете какие-либо проблемы в Struts, или обнаружите отсутсувующую, но необходимую функциональность, вы можете внести запись в базу данных Bugzilla.
Когда будет выпущен следующий релиз?
Коротко – он обязательно будет.
Here is the truth regarding releases:
Jakarta products are released on the basis of merit, and ~not~ according to a strict timetable. The volunteers devote whatever time they can to working on the product. But all volunteers have real jobs and real lives, that do take precedence. Since Struts does have have paid personnel working on the project, we simply cannot make date-orientated commitments.
All Jakarta products must circulate a public beta before release. If a beta is not in circulation, then it's a good bet that a release is not forthcoming any time soon. Products sometimes go through several betas before final release. So if this is beta 1, then it still may not be released any time soon.
The bottom line is that Jakarta takes releases very seriously. We do not compromise the quality of our software by watching the calendar (and then ship something ready or not). A release is ready when it is ready.
That may sound flip, but it ~is~ the truth. The delivery of production-quality, leading-edge software is not something anyone can prognasticate. If anyone tries, they are lying to you. That, we won't do ;-)
What we ~will~ do is release all of our development software as soon as it is developed. This way you can judge for yourself how quickly the development is proceeding, and whether what is being developed will meet your needs. If you need a feature right now, you can use the nightly build, or roll your own patch. There are no private CVS's or a private development lists. What you see is what we got. If you are following the DEV list, then you know everything the developers know. Really, you do.
Как отписаться от списка рассылки?
С того адреса, на который вы подписывалсиь на список рассылки, пошлите пустое сообщение на адрес < struts-user-unsubscribe@jakarta.apache.org>.
Далее – Введение в руководство пользователя (Users Guide)
Copyright (c) 2000-2002, Apache Software Foundation