【发布时间】:2015-12-25 07:29:28
【问题描述】:
我写了一个 REST Web 服务方法setToken(@Context HttpServletRequest request, @Context HttpServletResponse response, @PathParam("token") String token)、HeaderFilter 和SampleServlet。下面是网络服务类
`@Path("/服务")
公共类服务{
/*@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 Web 服务方法,我使用request.getRequestDispatcher("/secure").include(request, response); 调用SampleServlet,并且我使用的URL 是http://localhost:8080/xxxx/xxxx/service/val/zzzz。 zzzz 是要传递的值。 HeaderFilter 和 SampleServlet 的 URL 模式是 /secure。现在的问题是 HeaderFilter 没有被调用,而是直接调用了“SampleServlet”。我做错什么了吗???请帮我解决这个问题。
【问题讨论】:
-
你能分享你的web.xml吗
标签: java web-services rest servlets servlet-filters