1.通过filter过滤器作为控制器转发页面失败。
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
//1.获取servletPath
HttpServletRequest req=(HttpServletRequest) request;
String servletPath=req.getServletPath();
System.out.println(servletPath);
String path=null;
//2.判断servletPath,若其等于"/product-input.action",则转发到
//WEB-INF/pages/input.jsp
if("/product-input.action".equals(servletPath)) {
path="/WEB-INF/pages/input.jsp";
}
if(path!=null) {
request.getRequestDispatcher(path).forward(request, response);
return;
}
//3.若其等于"/product-save.action"则
if("/product-save.action".equals(servletPath)) {
//1).获取请求参数
String productName=request.getParameter("productName");
String productDesc=request.getParameter("productDesc");
String productPrice=request.getParameter("productPrice");
//2).把请求信息封装为一个Product对象
Product product=new Product(null, productName, productDesc, Double.parseDouble(productPrice));
//3).执行保存操作
System.out.println("SavaProduct:"+product);
product.setProductId(1001);
//4).把Product对象保存到request中。
request.setAttribute("product", product);
path="/WEB-INF/pages/details.jsp";
}
chain.doFilter(request, response);
}
以下是details.jsp页面完整代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
ProductID:${requestScope.product.productId}
<br><br>
ProductName:${requestScope.product.productName}
<br><br>
ProductDesc:${requestScope.product.productDesc}
<br><br>
ProductPrice:${requestScope.product.productPrice}
<br><br>
</body>
</html>
Tomcat404错误。求大神解答。