List of usage examples for javax.servlet RequestDispatcher FORWARD_SERVLET_PATH
String FORWARD_SERVLET_PATH
To view the source code for javax.servlet RequestDispatcher FORWARD_SERVLET_PATH.
Click Source Link
From source file:cn.edu.zjnu.acm.judge.config.JudgeHandlerInterceptor.java
@ModelAttribute public void addAttributes(HttpServletRequest request, @RequestParam(value = "url", required = false) String url, Authentication authentication) { if (Boolean.TRUE.equals(request.getAttribute(APPLIED_ONCE_KEY))) { return;//from www . ja v a 2 s . c o m } request.setAttribute(APPLIED_ONCE_KEY, true); if (!StringUtils.isEmptyOrWhitespace(url)) { request.setAttribute(BACK_URL_ATTRIBUTE_NAME, url); } else { String uri = getString(RequestDispatcher.FORWARD_SERVLET_PATH, HttpServletRequest::getServletPath, request); String query = getString(RequestDispatcher.FORWARD_QUERY_STRING, HttpServletRequest::getQueryString, request); if (query != null) { uri = uri + '?' + query; } request.setAttribute(BACK_URL_ATTRIBUTE_NAME, uri); } Optional.ofNullable(authentication).map(Authentication::getName).map(mailMapper::getMailInfo) .ifPresent(mailInfo -> request.setAttribute("mailInfo", mailInfo)); }
From source file:org.ireland.jnetty.webapp.RequestDispatcherImpl.java
private void doForward(HttpServletRequest request, HttpServletResponse response, HttpInvocation invocation) throws ServletException, IOException { // Reset any output that has been buffered, but keep headers/cookies response.resetBuffer(); // Servlet-3_1-PFD 9.4 //Wrap the request ForwardRequest wrequest = new ForwardRequest(request, response, invocation); // If we have already been forwarded previously, then keep using the established // original value. Otherwise, this is the first forward and we need to establish the values. // Note: the established value on the original request for pathInfo and // for queryString is allowed to be null, but cannot be null for the other values. if (request.getAttribute(RequestDispatcher.FORWARD_REQUEST_URI) == null) { // ??,//from w ww .j ava 2s .c o m wrequest.setAttribute(RequestDispatcher.FORWARD_REQUEST_URI, request.getRequestURI()); wrequest.setAttribute(RequestDispatcher.FORWARD_CONTEXT_PATH, request.getContextPath()); wrequest.setAttribute(RequestDispatcher.FORWARD_SERVLET_PATH, request.getServletPath()); wrequest.setAttribute(RequestDispatcher.FORWARD_PATH_INFO, request.getPathInfo()); wrequest.setAttribute(RequestDispatcher.FORWARD_QUERY_STRING, request.getQueryString()); } boolean isValid = false; try { invocation.getFilterChainInvocation().service(wrequest, response); isValid = true; } finally { if (request.getAsyncContext() != null) { // An async request was started during the forward, don't close the // response as it may be written to during the async handling return; } // server/106r, ioc/0310 if (isValid) { finishResponse(response); } } }