| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Вызов из Jsp java-приложения |
| Автор: Grelloo 5.4.2006, 22:02 |
| Очень простой вопрос: как из Jsp-страницы вызвать метод, который находиться в main классе java-приложения. В java-файл без main я знаю как попасть (на примере метода addzip файла FormBean.java). <jsp:useBean id="formHandler" class="foo.FormBean" scope="request"> <jsp:setProperty name="formHandler" property="*"/> <%! String name; %> <% name=formHandler.addzip(name, " hello"); %> А вот как быть с main я не знаю |
| Автор: onsh76 5.4.2006, 23:57 |
| Встречный вопрос: а для чего Вам это нужно? |
| Автор: Grelloo 6.4.2006, 01:57 |
| В статьях http://forum.vingrad.ru/index.php?showtopic=64473 http://forum.vingrad.ru/index.php?showtopic=42367 показано создавать и использовать веб-сервисы. Эти примеры у меня работают. Мне в задании указано сделать веб-сервис с JSP-страницей для регистрации нового пользователя. Вот я и не могу понять как мне соединить JSP-страницу и веб-сервис. Если можно, то укажите кусок кода (например для соединения jsp-страницы и веб-сервиса созданного по ссылке http://forum.vingrad.ru/index.php?showtopic=42367) |
| Автор: FatherFrost 6.4.2006, 07:17 |
| Насколько я понял, есть веб-сервис для регистрации нового пользователя. К нему необходимо написать JSP клиент... Тогда нет нелбходимости вызывать другую java-программу. Тебе нужно создать прокси сборку и подключить ее к твоему клиентскому веб-приложению. Далее создаешь одну jsp-страницу с формой для ввода нового юзера и сервлет, который в методе, к примеру, doPost() будет вызывать метод веб-службы для сохранения инфы о новом юзере в БД. Т.е. нет необходимости писать консолное приложение, обращающееся к БД. В место него д.б. сервлет... |
| Автор: onsh76 6.4.2006, 09:06 |
| Grelloo, Следуй совету FatherFrost, в jsp не надо создавать никакой бизнес логики: вынеси её в сервлет, либо в обозначенный класс-контроллер, если работаешь с веб фрэймворком (типа Struts, SpringMVC etc). |
| Автор: Grelloo 7.4.2006, 14:55 |
| Ладно, как лучше перейти на сервлет, может с помощью forward? |
| Автор: FatherFrost 7.4.2006, 15:08 |
| Grelloo, в web.xml расписываешь маппинг для сервлета, т.е. задаешь ему url, а в jsp или хтмл для формы ввода инфы о новом юзере свойство action="url_сервлета" метод для формы укажи POST и все будет ок. Если не разберешься сам, то вечером кину пример для передачи инфы со страницы в сервлет. Если сложности с клиентом, то приведи код своей службы и клиентского приложения... Я тогда набросаю примерно сервлет и выложу сюда. |
| Автор: Grelloo 7.4.2006, 16:56 |
| Было бы неплохо, спасибо за помощь |
| Автор: FatherFrost 8.4.2006, 10:00 | ||||||
Итак. Начинаем с добавления в web.xml настроек маппинга сервлета (привожу для Томката):
Таким образом, мы задали удобочитаемый url для нашего сервлета: http://your_host/your_web_app/newUser Теперь пишем форму для заполнения:
Таким образом у нас есть форма для заполнения инфы (логин и пароль). Все параметры передаются в сервлет методом ПОСТ. Теперь в сервлете тебе нужно из запроса вытянуть эти параметры и работать с ними:
Если, что не поймешь спрашивай... В понедельник стучи в асю. |
| Автор: Grelloo 8.4.2006, 10:33 |
| Классно, очень подробно. Теперь буду разбираться с Hibernate |
| Автор: FatherFrost 8.4.2006, 10:37 |
| Рад, что смог помочь. |
| Автор: triclosan 26.9.2006, 22:22 | ||
у меня работает без добавления в web.xml настроек маппинга сервлета - просто пишу:
так корректно? |
| Автор: FatherFrost 28.9.2006, 06:08 |
| triclosan, но здесь сервлета как такого у тебя нет. Ты просто пользуешься бином и все. |