Table des matières
总结
Maison interface Web tutoriel HTML JSP引入外部文件遇到的一个问题_html/css_WEB-ITnose

JSP引入外部文件遇到的一个问题_html/css_WEB-ITnose

Jun 21, 2016 am 08:46 AM

今天搭建了一个项目,框架式Spring、SpringMVC和Mybatis,在JSP中引入js文件和css文件的时候发现一直引入不了,后来发现是SpringMVC的一个配置导致的,也就记录一下,目录结构是这样的:

project.jpg

引入外部文件的方式:

<script type="text/javascript" src="${ctx}/js/jquery.min.js"></script><script type="text/javascript" src="${ctx}/js/bootstrap.min.js"></script><script type="text/javascript" src="${ctx}/js/bootstrap-paginator.js"></script><script type="text/javascript" src="${ctx}/js/wiki.js"></script><link rel="stylesheet" type="text/css" href="${ctx}/css/bootstrap.min.css" /><link rel="stylesheet" type="text/css" href="${ctx}/css/shopin-list.css" />
Copier après la connexion

在jsp中定义了ctx的路径,也就是项目的根路径:

<%request.setAttribute("ctx", request.getContextPath());%>
Copier après la connexion

这样也是为了方便管理,在实际应用中,我们只需要这样引用就可以了:

<%@ include file="common/header.jsp"%>
Copier après la connexion

但是自己觉得这样没什么问题,但是fireBug一直报404错误,找不到js文件和css文件,我也找不到头绪,也想了很久,才发现在web.xml中拦截了所有的路径:

<servlet-mapping>        <servlet-name>shopin-wiki</servlet-name>        <url-pattern>/</url-pattern>    </servlet-mapping>
Copier après la connexion

又在springmvc配置文件中给做了资源映射:

<mvc:resources location="/WEB-INF/css/" mapping="/css/**"/><mvc:resources location="/WEB-INF/js/" mapping="/js/**"/>
Copier après la connexion

但是路径是在/WEB-INF/css/下,就会导致我现在放在webapp目录下的文件找不到。

总结

因为web.xml在项目启动的时候会加载在web.xml文件中配置的springmvc控制器,默认拦截了所有的url,但是静态资源我不想让拦截,我就可以在springmvc配置文件中配置资源映射,标签的意思就是我的页面引用到/css/**的资源都会从/WEB-INF/css/这个目录下寻找,自己理解是这样的,理解的比较肤浅, 底层实现自己还是不知道如何实现的。

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Difficulté à mettre à jour la mise en cache des pages Web officielles du compte: comment éviter l'ancien cache affectant l'expérience utilisateur après la mise à jour de la version? Difficulté à mettre à jour la mise en cache des pages Web officielles du compte: comment éviter l'ancien cache affectant l'expérience utilisateur après la mise à jour de la version? Mar 04, 2025 pm 12:32 PM

Difficulté à mettre à jour la mise en cache des pages Web officielles du compte: comment éviter l'ancien cache affectant l'expérience utilisateur après la mise à jour de la version?

Comment utiliser les attributs de validation du formulaire HTML5 pour valider l'entrée utilisateur? Comment utiliser les attributs de validation du formulaire HTML5 pour valider l'entrée utilisateur? Mar 17, 2025 pm 12:27 PM

Comment utiliser les attributs de validation du formulaire HTML5 pour valider l'entrée utilisateur?

Comment ajouter efficacement les effets de course aux images PNG sur les pages Web? Comment ajouter efficacement les effets de course aux images PNG sur les pages Web? Mar 04, 2025 pm 02:39 PM

Comment ajouter efficacement les effets de course aux images PNG sur les pages Web?

Quelles sont les meilleures pratiques pour la compatibilité entre les navigateurs dans HTML5? Quelles sont les meilleures pratiques pour la compatibilité entre les navigateurs dans HTML5? Mar 17, 2025 pm 12:20 PM

Quelles sont les meilleures pratiques pour la compatibilité entre les navigateurs dans HTML5?

Quel est le but du & lt; datalist & gt; élément? Quel est le but du & lt; datalist & gt; élément? Mar 21, 2025 pm 12:33 PM

Quel est le but du & lt; datalist & gt; élément?

Quel est le but du & lt; Progress & gt; élément? Quel est le but du & lt; Progress & gt; élément? Mar 21, 2025 pm 12:34 PM

Quel est le but du & lt; Progress & gt; élément?

Quel est le but du & lt; mètre & gt; élément? Quel est le but du & lt; mètre & gt; élément? Mar 21, 2025 pm 12:35 PM

Quel est le but du & lt; mètre & gt; élément?

Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Mar 20, 2025 pm 06:05 PM

Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez?

See all articles