首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转发(请求、响应)不转发URL

转发(请求、响应)不转发URL
EN

Stack Overflow用户
提问于 2015-04-16 21:28:02
回答 2查看 826关注 0票数 0

我正在使用Java做一个项目。我必须包括代码在一个已经发挥作用的网站。我正在使用Netbeans,服务器是Tomcat。我添加的代码非常类似于站点代码的某些部分。我必须创建一个新的控制器,它从数据库中读取并显示、添加、更新和删除信息。这个站点使用的是我们创建的不同的servlet,但是项目的一个必要条件是创建控制器servlet。这是控制器代码的一部分:

代码语言:javascript
复制
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);时,url不会被转发,当url存在时,我会得到一个404错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-17 04:42:25

在displayProducts()方法中,您已经将url定义为:

代码语言:javascript
复制
String url= "/maint/products.jps";

那不应该是个错误吗?

代码语言:javascript
复制
String url= "/maint/products.jsp";

文件扩展名是错误的对吗?

票数 0
EN

Stack Overflow用户

发布于 2015-04-17 04:47:00

404错误表示未找到所请求的页。您的返程网址是

代码语言:javascript
复制
String url= "/maint/products.jps";

请求页面的扩展是不正确的。应该是products.jsp

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29686300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档