无法直接运行.jsp页面

时间:2016-06-06 07:02:05

标签: java eclipse jsp

我在使用最近出现的eclipse时遇到了问题。当我尝试运行任何.jsp文件时,我得到了

  

404错误资源不可用。

但是如果我运行.java文件,我会把页面加载起来。执行以下java代码我可以让页面运行但是在按下正确的按钮后它仍然不会重定向页面。除了我已经提到的那个之外,我没有得到任何其他错误消息。

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    response.setContentType("text/html");

    String action = null, address = null;
    address = "/WEB-INF/PhonebookMain.jsp";
    action = (String) request.getParameter("action");

    if(action == null){
        action = "nema";
    }
    if(action == "nema"){       
    }else
    {
        if(action == "Unos"){
            address ="/WEB-INF/Unos.jsp";
        }

        if(action == "Izmjena"){
            address = "/WEB-INF/Izmjena.jsp";
        }

    }
    RequestDispatcher dispatcher = request.getRequestDispatcher(address);
    dispatcher.forward(request, response);
}
}

2 个答案:

答案 0 :(得分:4)

这不是一个错误,它是一个功能。根据规范,WEB-INF下的所有资源都是外部无法访问的,因为这是您的类,配置等应保持私有的地方。

人们通常将他们的JSP放在WEB-INF之下,因为JSP是视图,因此永远不应该直接执行:所有请求应首先转到控制器,然后控制器转发到视图。这似乎就是你在这里所做的:servlet是一个调度到视图的控制器。因此,直接执行JSP没有多大意义:请求应首先通过控制器。

答案 1 :(得分:0)

/WEB-INF移除url并使用/something.jsp然后尝试

如果.jsp内的所有web-inf folder个文件都从那里复制并将其直接粘贴到web-content文件夹