|
|
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
Доброе утро всем участникам форума! Пишу веб приложение на Servlets + JSP. Решил не придумывать велосипед и использовать патерн (MVC). Стркутура приложения такова: LoginServlet-->ControllerServlet (который и пернаправляет запросы на JSP). При удачном логине и перходе от LoginServlet к ControllerServlet используется сессия, кусочки кода к Вашему вниманию: LoginServlet: Код: plaintext 1. 2. 3. 4. 5. ControllerServlet: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. далее из ControllerServlet пересылка на jsp: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. и все работает отлично, НО! тогда в систему можно и не логиниться - в браузере можно просто набрать, например: http://localhost:8080/app1/jsp/showUserAccounts.jsp - и все откроется. ВОПРОС: Как правильно организовать пересылку запросов на JSP, чтобы открывались JSP только залогиненным юзерам, т.е. я так понимаю надо правильно организовать передачу сессии, а как? Помотите начинаешему! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 09:32 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
Недавно обсуждалось. Почитайте про фильтры... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 09:54 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
Когда вы набираете в адресной строке браузера URL, то автоматически запрашивается метод doGet(). Что вам мешает в данном методе вашей странички написать проверку: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 10:17 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
RequestDispatcher ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 10:23 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
To Sherst: дык у меня и так в ControllerServlet в методе doGet написано: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Или я Вас не правильно понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 10:36 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
Так ясен перец, если обратится сразу к jsp страничке, то она откроется, т.к. в ней нету никаких проверок. Чтобы сделать так, как ты хочешь, нужно поставить проверку в самой jsp странице. По-моему так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 16:14 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
...Вот я и спрашиваю как на jsp странице реализовать проверку сессиии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 16:21 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
new_jabber...Вот я и спрашиваю как на jsp странице реализовать проверку сессиии? используй для этого фильтр ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 16:25 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
использовать фильтр который будет все запросы направлять диспетчеру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 16:37 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
В начале JSP страницы можно вставить вот что: if(session == null)||(!((String)session.getAttribute("loggedIn")).equals("true")) response.sendRedirect(loginUrl); Может чего со скобками напутал, но идея в том, чтобы проверять на наличие сессии и определенного атрибута. Если чего-то нет, то переходим на начальную страницу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 22:06 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
Шалун В начале JSP страницы можно вставить вот что Но будет ли это удовлетворять правилам Model2 (LoginServlet-->ControllerServlet ->JSP)? Наверное автор это хотел уточнить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2006, 09:50 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
Шалун, спасибо вам! помог ваш код (как Вы и говорили немного со скобками трабл был, но я поправил): Код: plaintext 1. 2. только появилась новая проблема :) Например, чтобы протестить работу сессии, я не логинясь в браузере набираю:http://localhost:8080/app1/jsp/Menu.jsp - выдает сообщение об ошибке: type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) root cause java.lang.NullPointerException org.apache.jsp.jsp.Menu_jsp._jspService(org.apache.jsp.jsp.Menu_jsp:63) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) note The full stack trace of the root cause is available in the Apache Tomcat/5.5.15 logs. неужели надо писать в ControllerServlet: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. и на каждой jsp: Код: plaintext 1. 2. 3. 4. Наверно я зашел в тупик! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2006, 10:19 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
Тогда, действительно, надо ставить фильтр, который будет отслеживать все обращения к jsp -страницам и проверять на наличие сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2006, 10:22 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
Извините, может я не в тему влез, но если вы решили не изобретать велосипед, то почему взялись его изобретать? Почему не взяли готовый framework типа Struts и т.п., где подобные вопросы уже реализованы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2006, 10:23 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
Видите ли, Артем1, я не давно самостоятельно прошел теоретический курс по JSP и Servlets + DB, и мне бы очень хотелось закрепить на практике полученые знания. Тут Deady кому-то на форуме советовал в качестве учебного проекта: "есть БД по учету пользователей, необходимо разработать страницу по регистрации и аутентификации пользователей (то есть я могу зарегиться и войти в защищенную часть), а так же приложение для управления пользователями (то есть я вхожу в защищенную часть под суперпользователем, смотрю кто зарегился, кто онлайн, меняю данные, назначаю роли итп). причем вид защищенной части зависит от выделенных пользователю ролей." вот этот топик - http://sql.ru/forum/actualthread.aspx?tid=325460 Вот и пытаюсь реализовать... Многие пишут, что лучше бы еше подучить технологий (ejb) и потом взяться за эту задачу, но мне кажеться тяжеловато будет. хотелось бы сначала jsp + servlet потренировать. А вы как думаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2006, 10:46 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
Да вот еще один вопросик, многие советуют обратиться к фреймворкам, но мне кажеться к ним надо переходить, когда основы хорошо знаешь? Я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2006, 10:50 |
|
||
|
Как правильно перенаправить на jsp
|
|||
|---|---|---|---|
|
#18+
Да, в случае варианта изучения технологии вы выбрали совершенно правильный подход. Я бы поступил аналогично. ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2006, 11:08 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33933928&tid=2148353]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
193ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 280ms |
| total: | 543ms |

| 0 / 0 |
