Maison > Java > javaDidacticiel > Comment résoudre le problème selon lequel le projet Web Java ne peut pas accéder aux fichiers HTML

Comment résoudre le problème selon lequel le projet Web Java ne peut pas accéder aux fichiers HTML

WBOY
Libérer: 2023-04-27 20:34:12
avant
1717 Les gens l'ont consulté

Le problème des pièges et les raisons

Le problème des pièges

Parce que le JavaWeb du blogueur est un cours intensif, il n'est donc pas très familier avec certains points de connaissances, le problème d'aujourd'hui se pose donc - Tomcat ne peut pas accéder au fichier html.

404 apparaîtra toujours lors de l'exécution. Chaque fois que cela se produit, c'est ennuyeux et déroutant. Bien que ce problème n'ait en réalité pas un grand impact sur certains projets, il rendra mon répertoire de projets très encombré. D'une manière générale, le problème est que si vous ne le résolvez pas, un tas de ressources statiques apparaîtront dans un seul dossier. Cela peut prendre une demi-journée pour retrouver certains fichiers de projet plus tard.

La raison de l'écueil

Par négligence, j'ai mis certains fichiers html sous WEB-INF. Étant donné que les ressources sous WEB-INF ne sont pas accessibles directement (WEB-INF est le répertoire de sécurité des applications Web de Java, il est uniquement ouvert au serveur et invisible pour le client.), elles ne sont accessibles que via des requêtes et des transferts. Il n’est donc pas accessible sur le navigateur (la redirection n’est pas non plus possible).

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

Solution

Comme mentionné ci-dessus, l'accès direct n'est pas accessible. Mais nous pouvons accéder aux fichiers HTML via des transferts et des requêtes. Dans ce projet, le blogueur utilise l'accès sur demande. En d’autres termes, le front-end envoie d’abord un signal au back-end, indiquant que je dois demander une certaine page Web. Ensuite, le backend réagit en conséquence, puis revient pour accéder à l'interface correspondante.

public class regist extends ssm.ViewBaseServlet{//继承了一个类,这个类就是用来解析html时用的。
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     super.processTemplate("/user/regist",req,resp);//调用了类的方法,其实这个地方可以选择转发更方便!
    }
Copier après la connexion

Configuration 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>
Copier après la connexion

Ou ajoutez un @WebServlet("/login") dans le fichier Java.

Bien sûr, nous pouvons également placer les ressources statiques en dehors de WEB-INF au même niveau que les ressources statiques. Généralement, si elles sont placées à l'extérieur, vous devez utiliser un intercepteur/filtre pour terminer la vérification des autorisations et déterminer les utilisateurs légitimes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal