我想知道为什么对于js或css或图像的404错误,容器/应用程序服务器不会在web.xml中配置的浏览器中显示错误页面。另外,如何知道哪个文件在web.xml中配置的错误页面中导致404错误。我需要在错误页面中使用户会话无效,但我想知道哪种类型的文件或哪个文件导致404错误。
我的Web.xml看起来像这样
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>page1.jsp</welcome-file>
</welcome-file-list>
<error-page>
<error-code>404</error-code>
<location>/page2.jsp</location>
</error-page>
</web-app>
page1.jsp: -
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript" src="abc.js"></script>
</head>
<body>
<%
System.out.println("page 1");
%>
</body>
</html>
在此示例应用程序中,abc.js不存在 page2.jsp: -
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
System.out.println("page 2");
System.out.println(request.getRequestURI());
%>
</body>
</html>
我得到的输出是: -
page 2
/Test404/page2.jsp
我想知道为什么第1页没有在控制台中打印出来。
此外,我想知道哪个文件(在本例中为abc.js)导致page2.jsp运行。
非常感谢任何帮助。 感谢
答案 0 :(得分:0)
我使用Xenu来查找这些内容。试试吧,你会喜欢它!