[英]Forward(request,response) doesn't forward the URL
我正在使用Java servlet进行项目。 我必须在已经正常运行的站点中包含代码。 我正在使用Netbeans,服务器是Tomcat。 我添加的代码与站点代码的某些部分非常相似。 我必须创建一个新的控制器,该控制器从数据库中读取并显示,添加,更新和删除信息。 该站点使用我们创建的不同servlet起作用,但是该项目的必要条件是创建控制器servlet。 这是控制器代码的一部分:
public class MaintController extends HttpServlet {
@Override
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
String requestURI = request.getRequestURI();
String url = "/maint";
if (requestURI.endsWith("/displayProducts")) {
url = displayProducts(request, response);
} else if (requestURI.endsWith("/addProduct")) {
url = addProduct(request, response);
} else if (requestURI.endsWith("/editProduct")) {
url = editProduct(request, response);
} else if (requestURI.endsWith("/deleteProduct")){
deleteProduct(request, response);
}
getServletContext()
.getRequestDispatcher(url)
.forward(request, response);
}
private String displayProducts(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
HttpSession session = request.getSession();
List<Product> products = ProductDB.selectProducts();
session.setAttribute("products", products);
out.println(products);
String url= "/maint/products.jps";
return url;
}
关键是调试该站点,我可以看到,输入以/displayProducts
的URL时,可以访问displayProducts
函数,读取产品并返回URL,但是当控件转到getServletContext().getRequestDispatcher(url).forward(request, response);
该网址未转发,并且该网址存在时出现404错误。
我可以在displayProducts()方法中看到,您已经定义了如下网址:
String url= "/maint/products.jps";
那不是错字吗?
String url= "/maint/products.jsp";
文件扩展名是错误的吧?
404错误表示找不到请求的页面。 您的返回网址是
String url= "/maint/products.jps";
请求页面的扩展名不正确。 应该是products.jsp
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.