4

我有一个 HTML 页面,它从用户那里获取用户名和密码并将其发送到 servlet。如果两者都正确,则 servlet 分派到 JSP 页面。

RequestDispatcher rD = request.getRequestDispatcher("dynamic/faculty/updatefaculty.jsp");
        rD.forward(request, response);

我分别检查了所有页面,并且所有页面都正常工作。CSS文件在jsp中加载,但是当我使用dispatch时,CSS文件没有在JSP中加载。

当然,我从 NetBeans 中的 BrowserLog 收到以下信息

Failed to load resource: the server responded with a status of 404 (Not Found) (04:11:01:478 | error, network)
 at http://localhost:8080/css/forms.css
4

3 回答 3

3

对于动态页面,您必须使用以下格式:

link href="${pageContext.request.contextPath}/css/sample.css"

静态响应没有值,使用下面的格式。这将盲目地重定向。 response.sendRedirect("sample.jsp");

于 2015-07-28T06:25:08.347 回答
2

为了简化您的需求:

更改您的updatefaculty.jsp

从:<link rel=stylesheet type="text/css" href="/css/forms.css">

至:<link rel=stylesheet type="/text/css" href="<%= request.getContextPath() %>/css/forms.css">

或者:<%= request.getContextPath() %>->${pageContext.request.contextPath}


说明:使用这个 - 您将允许 XYZ.jsp(无论您来自哪个 Web servlet)将 form.css 文件加载到您的页面。您仍然可以继续使用 RequestDispatcher.forward(request, response) 因为(我可能认为)您需要它来传递一些属性。

于 2019-06-18T21:46:14.697 回答
1

你可以试试这个而不是使用 dipatcher

response.sendRedirect("dynamic/faculty/updatefaculty.jsp");
于 2014-10-27T23:42:12.403 回答