Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Простое web приложение
Список форумов
 ->  Основы веб-программирования на Java


 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
gordii4uk : 12
Новичок

СообщениеЯнв 31, 2012 12:29 
Ответить с цитатой
Пишу простое web приложение, файлообменник. Исключительно в образовательных целях. Хочется сделать все правильно и грамотно.
Делаю с использование модели MVC но без всякий Spring, Hibernate и тд. Все это будет следующим шагом.

1. View part состоит из нескольких jsp страниц (отображение файлов, регистрация пользователя, авторизация).
2. Controller - сервлет. Принимает команды от страниц, создает соответствующий объект который изменяет нашу модель. И в соответствии от результата делает forward на определенную страницу.
3. Model - классы бизнес логики которые изменяют модель и возвращают в контроллер path страницы на которую нужно сделать forward.

Вроде все хорошо но возникают некоторые вопросы как правильно реализовать некоторые вещи.

1. Передача команд от страниц к контроллеру. Сейчас это происходит через <input type="hidden" name="command" value="removeFile?file=123.txt">. Должны существовать более правильные способы.
2. Как я уже писал, после изменения модели происходит forward на определенный path. При этом url браузера не изменяется, и пользователь нажав F5 получает старую страничку. Нужно ли чтобы пользователь видел в адресной строке адрес типа myapp/registration.jsp, myapp/authorization.jsp и тд?

Извините если что не так написал. Я новичок в java. Спасибо
К началу Посмотреть профиль Отправить личное сообщение
gordii4uk : 12
Новичок

СообщениеФев 01, 2012 9:58 
Ответить с цитатой
Что никто не может помочь?
К началу Посмотреть профиль Отправить личное сообщение
mesier : 693
Постоянный посетитель
Откуда: Новокузнецк

СообщениеФев 01, 2012 10:02 
Ответить с цитатой
gordii4uk писал(а):
2. Как я уже писал, после изменения модели происходит forward на определенный path. При этом url браузера не изменяется, и пользователь нажав F5 получает старую страничку.

redirect
К началу Посмотреть профиль Отправить личное сообщение ICQ Number
gordii4uk : 12
Новичок

СообщениеФев 02, 2012 1:17 
Ответить с цитатой
А по первому вопросу поделится кто-то опытом?

Спасибо
К началу Посмотреть профиль Отправить личное сообщение
mesier : 693
Постоянный посетитель
Откуда: Новокузнецк

СообщениеФев 02, 2012 4:51 
Ответить с цитатой
gordii4uk писал(а):
А по первому вопросу поделится кто-то опытом? Спасибо

А что имеется в виду под "передача команд"?
Как делаешь ты - это передача данных формы. POST-запрос. И, в принципе, передача данных формы из хидден-полей имеет право на жизнь.. А как иначе передать, скажем, id записи в БД? Пользователю на него незачем смотреть, а тебе для работы - совершенно необходимый параметр.
Но прежде всего надо разобраться с архитектурой, действительно ли тебе нужны формы на странице. Ты действительно вводишь ручками какие-то данные в форму?
Если нет, то лучше GET-запросом отправляй свои "команды" через параметры. То есть ещё при подготовке веб-страницы в сервлете, создаешь ссылки вида, например <a href="blahblahblah.html?file=myfile.txt&act=delete">zap me</a>. Затем в сервлете в doGet обрабатываешь параметры запроса, вызываешь методы твоего сервис-класса для необходимых действий.
Как-то так..
К началу Посмотреть профиль Отправить личное сообщение ICQ Number
gordii4uk : 12
Новичок

СообщениеФев 02, 2012 15:35 
Ответить с цитатой
Спасибо.

Передачу get-ом я тоже делал. Просто думал может кто использует другие способы, хотел узнать чем они лучше, хуже.
К началу Посмотреть профиль Отправить личное сообщение
 
Начать новую тему  Ответить на тему
Страница 1 из 1
Список форумов
 -> Основы веб-программирования на Java


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru