Как создать URL в сервлете? - PullRequest
4 голосов
/ 12 марта 2009

Я хочу знать, как создать URL в сервлете. У меня есть сервлет входа в систему, и каждый раз, когда я добавляю пользователя, я хочу gen. URL для каждого профиля пользователя. Может кто-нибудь помочь мне, пожалуйста?

Ответы [ 4 ]

7 голосов
/ 12 марта 2009

Самый простой способ - объявить отображение сервлета следующим образом:

  <servlet-mapping>
    <servlet-name>UsersSelvlet</servlet-name>
    <url-pattern>/Users/*</url-pattern>
  </servlet-mapping>

Теперь, когда вы получаете запрос на MyApp / Users / UserId, вы читаете путь запроса, получите userId и проверьте, существует ли пользователь. Если нет, вы возвращаете «Не найдено». В противном случае вы вернетесь на страницу пользователя.

Это быстрая и грязная реализация службы RESTful.

2 голосов
/ 18 марта 2009

Я думаю, что решение kgiannakakis очень хорошее. Я просто хочу добавить некоторые детали, потому что, читая комментарий Agusti-N, у меня есть подозрение, что, возможно, он что-то упустил.

Допустим, у вас есть UsersServlet , описанный kgiannakakis, jsp с именем showUserProfile.jsp и userBean , который имеет все свойства профиля пользователя. нужно было показать в JSP.

Когда новый пользователь регистрируется в вашем приложении, вам не нужно делать ничего больше, чем вы уже делаете сейчас. Просто зарегистрируйте нового пользователя в БД и забудьте сервлет входа .

Теперь предположим, что я зарегистрировался в вашем приложении под своим именем пользователя alexmeia .

Когда кто-то вводит цифру в URL yourApp / Users / alexmeia , UsersServlet называется . Этот сервлет получает имя пользователя alexmeia из URL запроса, проверяет в БД, это имя пользователя существует, и если оно существует , загрузите все свойства этого пользователя в userBean .

После этого перешлите на showUserProfile.jsp , который показывает профиль пользователя, считывающий его из userBean.

Очевидно, что если пользователь alexmeia не находится в БД, вы можете перенаправить его на общий файл userNotFound.jsp или перейти на домашнюю страницу и показать сообщение и т. Д. ...

Это работает для всех зарегистрированных пользователей одинаково. Вам не нужно создавать действительно новый URL для каждого нового пользователя.

1 голос
/ 12 марта 2009

Звучит так, как будто вы захотите изучить технологии REST . Есть учебник , на который вы можете взглянуть.

0 голосов
/ 12 марта 2009

Вам нужно переписать URL? Возможно, что-то вроде this , но вместо RMI создайте свой собственный идентификатор пользователя

...