Java 类javax.servlet.http.HttpServletMapping 实例源码
项目:Servlet-4.0-Sampler
文件:PushCacheFilter.java
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = ((HttpServletRequest) request);
HttpServletMapping mapping = ((HttpServletRequest) request).getHttpServletMapping();
String resourceURI = mapping.getMatchValue();
if (mapping.getServletName().equals("jsp")) {
// Push resources
resourceCache.keySet().stream()
.filter(resourceURI::contains)
.findFirst()
.ifPresent(s -> resourceCache.get(s)
.forEach(path -> httpServletRequest.newPushBuilder().path(path).push()));
// create empty resource list if absent
resourceCache.putIfAbsent(resourceURI, Collections.newSetFromMap(new ConcurrentHashMap<>()));
} else {
// Add resource
resourceCache.keySet().stream()
.filter(httpServletRequest.getHeader("Referer")::contains)
.forEach(page -> resourceCache.get(page).add(resourceURI));
}
chain.doFilter(request, response);
}
项目:Java-EE-8-Sampler
文件:PushCacheFilter.java
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = ((HttpServletRequest) request);
HttpServletMapping mapping = ((HttpServletRequest) request).getHttpServletMapping();
String resourceURI = mapping.getMatchValue();
if (mapping.getServletName().equals("jsp")) {
// Push resources
resourceCache.keySet().stream()
.filter(resourceURI::contains)
.findFirst()
.ifPresent(s -> resourceCache.get(s)
.forEach(path -> httpServletRequest.newPushBuilder().path(path).push()));
// create empty resource list if absent
resourceCache.putIfAbsent(resourceURI, Collections.newSetFromMap(new ConcurrentHashMap<>()));
} else {
// Add resource
resourceCache.keySet().stream()
.filter(httpServletRequest.getHeader("Referer")::contains)
.forEach(page -> resourceCache.get(page).add(resourceURI));
}
chain.doFilter(request, response);
}
项目:ee8-sandbox
文件:MyServlet.java
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
HttpServletMapping mapping = request.getHttpServletMapping();
response.getWriter()
.append("Mapping match:")
.append(mapping.getMappingMatch().name())
.append("\n")
.append("Match value:")
.append(mapping.getMatchValue())
.append("\n")
.append("Pattern:")
.append(mapping.getPattern());
}
项目:Servlet-4.0-Sampler
文件:ServletMapping.java
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpServletMapping servletMapping = request.getHttpServletMapping();
response.getWriter()
.append("<html><body>")
.append("Value Matched: ").append(servletMapping.getMatchValue())
.append("<br/>")
.append("Pattern Used: ").append(servletMapping.getPattern())
.append("<br/>")
.append("Mapping Matched: ").append(servletMapping.getMappingMatch().name())
.append("<br/>")
.append("</body></html>");
}
项目:Java-EE-8-Sampler
文件:ServletMapping.java
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpServletMapping servletMapping = request.getHttpServletMapping();
response.getWriter()
.append("<html><body>")
.append("Value Matched: ").append(servletMapping.getMatchValue())
.append("<br/>")
.append("Pattern Used: ").append(servletMapping.getPattern())
.append("<br/>")
.append("Mapping Matched: ").append(servletMapping.getMappingMatch().name())
.append("<br/>")
.append("Servlet Name: ").append(servletMapping.getServletName())
.append("<br/>")
.append("</body></html>");
}
项目:ee8-sandbox
文件:ServletA.java
public static void printCurrentMappingDetails(HttpServletRequest request,
PrintWriter out) throws IOException {
HttpServletMapping forwardMapping = (HttpServletMapping) request.getAttribute(RequestDispatcher.FORWARD_MAPPING);
HttpServletMapping includeMapping = (HttpServletMapping) request.getAttribute(RequestDispatcher.INCLUDE_MAPPING);
HttpServletMapping asyncMapping = (HttpServletMapping) request.getAttribute(AsyncContext.ASYNC_MAPPING);
out.print("<p> " + request.getHttpServletMapping() + "</p>");
out.print("<p> FORWARD_MAPPING: " + forwardMapping + "</p>");
out.print("<p> INCLUDE_MAPPING: " + includeMapping + "</p>");
out.print("<p> ASYNC_MAPPING: " + asyncMapping + "</p>");
out.print("<hr />");
}