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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вызов из Jsp java-приложения 
V
    Опции темы
Grelloo
Дата 5.4.2006, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Очень простой вопрос: как из 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 я не знаю
PM MAIL ICQ   Вверх
onsh76
Дата 5.4.2006, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Встречный вопрос: а для чего Вам это нужно?
PM MAIL   Вверх
Grelloo
Дата 6.4.2006, 01:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



В статьях
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)
PM MAIL ICQ   Вверх
FatherFrost
Дата 6.4.2006, 07:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


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

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



Насколько я понял, есть веб-сервис для регистрации нового пользователя. К нему необходимо написать JSP клиент... Тогда нет нелбходимости вызывать другую java-программу. Тебе нужно создать прокси сборку и подключить ее к твоему клиентскому веб-приложению. Далее создаешь одну jsp-страницу с формой для ввода нового юзера и сервлет, который в методе, к примеру, doPost() будет вызывать метод веб-службы для сохранения инфы о новом юзере в БД. Т.е. нет необходимости писать консолное приложение, обращающееся к БД. В место него д.б. сервлет...


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
onsh76
Дата 6.4.2006, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Grelloo,
Следуй совету FatherFrost, в jsp не надо создавать никакой бизнес логики: вынеси её в сервлет, либо в обозначенный класс-контроллер, если работаешь с веб фрэймворком (типа Struts, SpringMVC etc).

PM MAIL   Вверх
Grelloo
Дата 7.4.2006, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ладно, как лучше перейти на сервлет, может с помощью forward?
PM MAIL ICQ   Вверх
FatherFrost
Дата 7.4.2006, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


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

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



Grelloo, в web.xml расписываешь маппинг для сервлета, т.е. задаешь ему url, а в jsp или хтмл для формы ввода инфы о новом юзере свойство action="url_сервлета" метод для формы укажи POST и все будет ок.
Если не разберешься сам, то вечером кину пример для передачи инфы со страницы в сервлет. Если сложности с клиентом, то приведи код своей службы и клиентского приложения... Я тогда набросаю примерно сервлет и выложу сюда.


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
Grelloo
Дата 7.4.2006, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Было бы неплохо, спасибо за помощь
PM MAIL ICQ   Вверх
FatherFrost
Дата 8.4.2006, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


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

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



Итак. Начинаем с добавления в web.xml настроек маппинга сервлета (привожу для Томката):
Код

.........
<servlet>
        <servlet-name>AddUser</servlet-name>
        <servlet-class>
            myPackage.AddNewUserServlet
        </servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>AddUser</servlet-name>
        <url-pattern>/newUser</url-pattern>
    </servlet-mapping>
......


Таким образом, мы задали удобочитаемый url для нашего сервлета: http://your_host/your_web_app/newUser

Теперь пишем форму для заполнения:
Код

<FORM action='<%=response.encodeURL("newUser")%>' method="post">
<label>Логин:</label>
<input name="Login" class="input">
<label>Пароль:</label>
<input name="Password1" type="password" class="input">
<input name="Password2" type="password" class="input">
<input type="submit" name="commit" value="ОК" >
</form>


Таким образом у нас есть форма для заполнения инфы (логин и пароль). Все параметры передаются в сервлет методом ПОСТ.
Теперь в сервлете тебе нужно из запроса вытянуть эти параметры и работать с ними:

Код

.....
protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        
    String account = request.getParameter("Login");//логин
    String password1 = request.getParameter("Password1");//пароль
    String password2 = request.getParameter("Password2");//подтверждение пароля
    //Далее идет код обращения к твоему веб-сервису как и в обчном приложении
    


Если, что не поймешь спрашивай... В понедельник стучи в асю.

Это сообщение отредактировал(а) FatherFrost - 8.4.2006, 10:01


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
Grelloo
Дата 8.4.2006, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Классно, очень подробно. Теперь буду разбираться с Hibernate
PM MAIL ICQ   Вверх
FatherFrost
Дата 8.4.2006, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


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

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



Рад, что смог помочь.


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
triclosan
Дата 26.9.2006, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



у меня работает без добавления в web.xml настроек маппинга сервлета - просто пишу:

Код

<%@ page import = "MyPackage.MyClass"%>
<jsp:useBean id="user" class="MyPackage.MyClass" scope="session"/>


так корректно?
PM MAIL   Вверх
FatherFrost
Дата 28.9.2006, 06:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


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

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



triclosan, но здесь сервлета как такого у тебя нет. Ты просто пользуешься бином и все.


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0525 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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