В моем сервлете я хотел бы перейти на другой сервлет, чтобы вызвать путь, определенный в web.xml
.Как переместить путь web.xml изнутри сервлета?
Так, например, в моем web.xml
, я определил:
<servlet-mapping>
<servlet-name>User</servlet-name>
<url-pattern>/user/*</url-pattern>
</servlet-mapping>
Я хотел бы, чтобы мой сервлет карту
request.getRequestDispatcher("/user/" + user.getUsername()).forward(request, response);
Однако, когда я иду в сервлет, который должен запустите этот путь, страница, которую он возвращает, пуста. Смысл, в пути есть что-то не так. Я знаю, что он достигает этого кода, потому что я поставил перед ним инструкции Sysout.
Кто-нибудь знает, почему это неправильно отображается? Я перепробовал все логическое сочетание это кажется
ДОБАВЛЕНО
Это код сервлета, который должен обрабатывать этот путь
String pathInfo = request.getPathInfo();
Pattern urlPattern = Pattern.compile("^/([^/]+)$");
Matcher matcher = urlPattern.matcher(pathInfo);
if (matcher.matches()){
String userPath = matcher.group(1);
my_proj.components.User user = UserManager.getUserByUsername(userPath);
request.getSession().setAttribute("user", user);
request.getRequestDispatcher("/resources/jsp/user_home.jsp").forward(request, response);
}
попробовать удаленную отладку: http://javarevisited.blogspot.com/2011/02/how-to-setup-remote-debugging-in.html Кроме того, попробуйте добавить некоторые протоколирования. – msknapp
@Arvind нет, просто пустая белая страница, как будто ничего не произошло (но код Sysout на одной строке над рассылкой печатает на консоли) – CodyBugstein
@Imray, sop lines не будет печатать на странице, используйте response.getWriter() для распечатать содержимое на странице с сервлета (просмотр). – Arvind