Heim  >  Artikel  >  Java  >  So lösen Sie das Problem, dass ein Java-Webprojekt nicht auf HTML-Dateien zugreifen kann

So lösen Sie das Problem, dass ein Java-Webprojekt nicht auf HTML-Dateien zugreifen kann

WBOY
WBOYnach vorne
2023-04-27 20:34:121660Durchsuche

Auf Grubenproblemen und -gründen herumtrampeln

Auf Grubenproblemen herumtrampeln

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.

Grund, in die Falle zu treten

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).

Java Web项目访问不到html文件怎么解决

Lösung

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen