Я написал метод веб-службы REST setToken(@Context HttpServletRequest request, @Context HttpServletResponse response, @PathParam("token") String token)
, HeaderFilter
и SampleServlet
. Ниже класс веб-службы `@Path ("/ сервис") Класс обслуживания общественного {Вызов фильтра перед сервлетом из REST Webservice
/*@Context
private ServletContext servletContext;
@Context
private HttpServletRequest request;
@Context
private HttpServletResponse response;*/
@Path("/val/{token}")
@GET
@Produces("application/xml")
public String setToken(@Context HttpServletRequest request, @Context HttpServletResponse response, @PathParam("token") String token) throws ServletException, IOException {
String value=token;
if(request==null){
System.out.println("Request null");
}
System.out.println("Token: " + value);
if(request!=null){
request.setAttribute("param", value);
Wrapper requestWrapper = new Wrapper(request);
requestWrapper.addHeader("Authorization", token);
request.getRequestDispatcher("/secure").include(requestWrapper, response);
}
return "<token>"+ "<value>"+value+" token value"+"</value>" + "</token>";
}
}`
От метода веб-службы setToken
звоню SampleServlet
с помощью request.getRequestDispatcher("/secure").include(request, response);
и URL я использую есть http://localhost:8080/xxxx/xxxx/service/val/zzzz. zzzz - это значение, которое необходимо передать. Шаблон URL для HeaderFilter
и SampleServlet
есть/secure. Теперь проблема HeaderFilter
не вызывается и вызывается непосредственно «SampleServlet». Я что-то делаю неправильно? Пожалуйста, помогите мне пройти через это.
вы можете поделиться своим web.xml –