私は私の練習プロジェクトでいくつかの問題を抱えています。
サーブレット/JSP で書かれた小さなメディア ポータル プロジェクトがあります。このプロジェクトでは、「パスワードが正しくありません」、「そのようなユーザーは既に登録されています」などの状況を処理するために、いくつかのカスタム例外階層を作成しました。エラーをスローするサーブレットでは、次のようにスローします。
if (login.length() == 0) {
log.error("Login field is empty!");
throw new EmptyFieldException(i18n.getString("Login_field_is_empty!"));
}
また、次のようなエラーページがあります。
<%@ page contentType="text/html" pageEncoding="windows-1251" isErrorPage="true" import="java.util.ResourceBundle,java.io.*" %>
<%@ taglib uri="/WEB-INF/taglib.tld" prefix="taglib" %>
<!DOCTYPE html>
<%
ResourceBundle resources = ResourceBundle.getBundle("i18n.MediaPortal", request.getLocale());
%>
<html style="height:100%;">
<head>
<link rel="stylesheet" type="text/css" href="../css/style.css">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title><%= resources.getString("Login_page")%></title>
</head>
<body>
<div id="sidecolumn"> </div>
<div id="content">
<div><h1><%= resources.getString("You_have_encountered_an_error")%>.</h1></div>
<div><h3><%= exception.getMessage() %></h3></div>
</div>
<div id="sidecolumn"> </div>
<div id="footer"><taglib:sign/></div>
</body>
</html>
問題は、例外をスローしたときです-エラーページがスタイルをまったくロードしないことを除いて、すべて正常に動作します! テキストしかありません。しかし、エラー ページの URL に直接アクセスすると、スタイルが読み込まれます。問題は、サーブレットがステータス コード 500 で終了し、このコードが正しいことを理解していれば、style.css ファイルの読み込みをキャンセルすることです。
誰でも、この問題の解決策を教えてください。すべての回答に感謝します。