本文整理匯總了Java中javax.servlet.ServletRequest.getRequestDispatcher方法的典型用法代碼示例。如果您正苦於以下問題:Java ServletRequest.getRequestDispatcher方法的具體用法?Java ServletRequest.getRequestDispatcher怎麽用?Java ServletRequest.getRequestDispatcher使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.servlet.ServletRequest
的用法示例。
在下文中一共展示了ServletRequest.getRequestDispatcher方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: include
import javax.servlet.ServletRequest; //導入方法依賴的package包/類
/**
* Perform a RequestDispatcher.include() operation, with optional flushing
* of the response beforehand.
*
* @param request The servlet request we are processing
* @param response The servlet response we are processing
* @param relativePath The relative path of the resource to be included
* @param out The Writer to whom we are currently writing
* @param flush Should we flush before the include is processed?
*
* @exception IOException if thrown by the included servlet
* @exception ServletException if thrown by the included servlet
*/
public static void include(ServletRequest request,
ServletResponse response,
String relativePath,
JspWriter out,
boolean flush)
throws IOException, ServletException {
if (flush && !(out instanceof BodyContent))
out.flush();
// FIXME - It is tempting to use request.getRequestDispatcher() to
// resolve a relative path directly, but Catalina currently does not
// take into account whether the caller is inside a RequestDispatcher
// include or not. Whether Catalina *should* take that into account
// is a spec issue currently under review. In the mean time,
// replicate Jasper's previous behavior
String resourcePath = getContextRelativePath(request, relativePath);
RequestDispatcher rd = request.getRequestDispatcher(resourcePath);
rd.include(request,
new ServletResponseWrapperInclude(response, out));
}
示例2: doFilter
import javax.servlet.ServletRequest; //導入方法依賴的package包/類
@Override
public void doFilter(ServletRequest reg, ServletResponse res, FilterChain chain) throws IOException,
ServletException {
RequestDispatcher reqDispatcher = reg.getRequestDispatcher("deny.html");
String remoteIP = reg.getRemoteAddr();// 獲取訪問服務器的IP
String[] ips = null;
boolean isAllow = false;
Pattern pattern = null;
if (!StringUtils.isEmpty(notFilteredIPs)) {
ips = notFilteredIPs.split(";");
for (String ip : ips) {
pattern = Pattern.compile(ip);
if (pattern.matcher(remoteIP).find()) {
isAllow = true;
break;
}
}
} else {
isAllow = true;
}
if (isAllow) {
// 如果不是要過濾的IP就放行,交給下一個Filter
chain.doFilter(reg, res);
} else {
logger.error("訪問服務器的IP:" + remoteIP + " , 該IP地址無法訪問");
// 如果是要過濾的IP,就通過reqDispatcher跳轉到錯誤頁麵。
reqDispatcher.forward(reg, res);
}
}
示例3: include
import javax.servlet.ServletRequest; //導入方法依賴的package包/類
/**
* Perform a RequestDispatcher.include() operation, with optional flushing
* of the response beforehand.
*
* @param request
* The servlet request we are processing
* @param response
* The servlet response we are processing
* @param relativePath
* The relative path of the resource to be included
* @param out
* The Writer to whom we are currently writing
* @param flush
* Should we flush before the include is processed?
*
* @exception IOException
* if thrown by the included servlet
* @exception ServletException
* if thrown by the included servlet
*/
public static void include(ServletRequest request, ServletResponse response, String relativePath, JspWriter out,
boolean flush) throws IOException, ServletException {
if (flush && !(out instanceof BodyContent))
out.flush();
// FIXME - It is tempting to use request.getRequestDispatcher() to
// resolve a relative path directly, but Catalina currently does not
// take into account whether the caller is inside a RequestDispatcher
// include or not. Whether Catalina *should* take that into account
// is a spec issue currently under review. In the mean time,
// replicate Jasper's previous behavior
String resourcePath = getContextRelativePath(request, relativePath);
RequestDispatcher rd = request.getRequestDispatcher(resourcePath);
rd.include(request, new ServletResponseWrapperInclude(response, out));
}