Heim >Java >javaLernprogramm >So lösen Sie das Problem, dass ein Java-Webprojekt nicht auf HTML-Dateien zugreifen kann
Da das JavaWeb des Bloggers schnell ist, ist er mit einigen Wissenspunkten nicht sehr vertraut, also auch Anscheinend bin ich heute auf dieses Problem gestoßen: Tomcat kann nicht auf die HTML-Datei zugreifen.
404 wird beim Ausführen immer angezeigt. Jedes Mal, wenn so etwas passiert, ist es ärgerlich und verwirrend. Obwohl dieses Problem bei einigen Projekten eigentlich keine großen Auswirkungen hat, wird mein Projektverzeichnis dadurch sehr unübersichtlich. Im Allgemeinen besteht das Problem darin, dass, wenn Sie es nicht lösen, eine Reihe statischer Ressourcen in einem Ordner angezeigt werden. Dies kann dazu führen, dass es später einen halben Tag dauert, einige Projektdateien zu finden.
Aus Unachtsamkeit habe ich einige HTML-Dateien unter WEB-INF abgelegt. Da auf die Ressourcen unter WEB-INF nicht direkt zugegriffen werden kann (WEB-INF ist das Sicherheitsverzeichnis der Webanwendung von Java, ist es nur für den Server geöffnet und für den Client unsichtbar), kann nur über Anforderungen und Weiterleitung darauf zugegriffen werden. Daher ist der Zugriff im Browser nicht möglich (eine Umleitung ist ebenfalls nicht möglich).
Wie oben erwähnt, ist der direkte Zugriff nicht möglich. Wir können jedoch über Weiterleitungen und Anfragen auf HTML-Dateien zugreifen. In diesem Projekt verwendet der Blogger den Anforderungszugriff. Mit anderen Worten: Das Front-End sendet zunächst ein Signal an das Back-End, das anzeigt, dass ich eine bestimmte Webseite anfordern muss. Dann reagiert das Backend entsprechend und springt anschließend wieder zur entsprechenden Schnittstelle.
public class regist extends ssm.ViewBaseServlet{//继承了一个类,这个类就是用来解析html时用的。 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.processTemplate("/user/regist",req,resp);//调用了类的方法,其实这个地方可以选择转发更方便! }
Konfiguration von web.xml:
<servlet-name>jump</servlet-name> <servlet-class>database.jump</servlet-class> </servlet> <servlet-mapping> <servlet-name>jump</servlet-name> <url-pattern>/jump</url-pattern> </servlet-mapping>
Oder fügen Sie ein @WebServlet("/login") in der Java-Datei hinzu.
Natürlich können wir statische Ressourcen auch außerhalb von WEB-INF auf der gleichen Ebene platzieren wie statische. Wenn sie außerhalb platziert werden, müssen Sie im Allgemeinen einen Interceptor/Filter verwenden, um die Berechtigungsüberprüfung abzuschließen und legitime Benutzer zu ermitteln .
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass ein Java-Webprojekt nicht auf HTML-Dateien zugreifen kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!