web.xmlでtaglib-locationを設定する理由
質問させてください。
strutsでwebプログラミングの勉強をしています。
タグライブラリを使用する際に、web.xmlに<taglib-location>なるものを以下のように記載する必要があることを学びました。
<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
これを設定する理由はなんでしょうか?
素人考えでは、シンプルにtaglib-uriに記載しているところにライブラリファイルを置けばよい気がします。
セキュリティ関係の理由があるのでしょうか?(確か、WEB-INF以下のディレクトリは利用者から見れない設定だったと記憶しています)
初歩的な質問の気もしますが、どなたか教えていただけると幸いです。
以上よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
タグライブラリを使用するためのuriの指定方法は3つあります。
今回のようにweb.xmlに<taglib>を使い定義する方法を用いた場合ですが、<taglib-uri>に指定するのは実際の物理パスではなく、論理的な識別子です。
そして、<taglib-location>に書くのは<taglib-uri>に指定したuriにマッピングするTLDファイルの物理パスです。
つまり/tags/struts-htmlというuriを指定すると<taglib-location>に指定したtldファイルを参照するという仕組みになっています。
<taglib-uri>に定義した任意のURIを指定すれば<taglib-location>にあるtldファイルを参照してくれるというわけです。
<taglib-uri>には任意のURIを指定できるので好きなようにURIを設定できます。
ただし、一般的にはhttp://ドメイン名/~のようにURL形式で定義するのが推奨されているようです。
No.2
- 回答日時:
>これを設定する理由はなんでしょうか?
externalizing resources と呼ばれるものです。
一般的には、separation of concerns(日本語訳は「関心の分離」)によって、リコンパイルせずに後で内部情報を変更できるようにすることが目的ですが(ローカライゼーションとか)、このケースではセキュリティ確保という面もあります。
なお今のバージョンのStruts1(ver1.3.x)では、struts-taglib.jar をパス内のどこかにコピーしてやれば、web.xmlは、
<%@ taglib
uri="http://struts.apache.org/tags-html"
prefix="html" %>
でOKです。(warファイルにする時には/WEB-INF下にコピーする必要がありますが)
http://struts.apache.org/1.3.10/userGuide/config …
5.4.3.1 Configure the Struts JSP Tag Libraries (Servlet 2.3/2.4)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー メールサーバーについて詳しい方、メールサーバーの管理業務経験のある方、教えてください。 3 2022/11/12 18:24
- 統計学 母平均の検定(両側t検定)の問題 2 2023/03/14 20:02
- ドメイン・サーバー・クラウドサービス 独自ドメインでのNSレコード設定 1 2023/07/12 18:36
- その他(IT・Webサービス) WEBサイト内のファイルを探す方法は? 1 2022/11/11 16:38
- UNIX・Linux redmineにメールを飛ばす方法 1 2022/09/13 22:02
- Visual Basic(VBA) Excelのマクロコードについて教えてください 1 2022/03/27 12:02
- その他(Microsoft Office) 漫画喫茶のローカルフォルダに自分の家と同じマイクロソフトのonedriveを設置する事はできる? 1 2023/07/13 23:55
- Web・クリエイティブ グラフィックデザインの著作権について 3 2023/08/04 23:17
- その他(パソコン・スマホ・電化製品) Webページ印刷時にヘッダー・フッターをつけたい 1 2022/04/25 21:35
- ハッキング・フィッシング詐欺 webサイトでIPアドレスを抜く方法を聞きたいです。 1 2022/06/09 17:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TomcatでのHTMLの表示
-
web.xmlのwelcomefileについて
-
hibernate.cfg.xmlの配置場所に...
-
org.xml.sax.SAXParseException...
-
contextタグ内のsourceタグにつ...
-
【Tomcatが突然動かなく...
-
Tomcatを再起動するとエラーと...
-
Eclipseのアンインストールの仕方
-
Eclipseで、プロジェクト名のと...
-
html上で、バッチやexeファイル...
-
シンボルが見つかりませんとい...
-
split関数で区切り文字がない場合
-
vs codeはオフラインでも使用で...
-
classファイルについて
-
Eclipse(JAVA)のデバッグで他...
-
JAVAにのeclipseに関する質問で...
-
マイクラjavaでForgeを入れたい...
-
コンパイル時にエラーが出てし...
-
earファイルを展開する方法
-
Eclipseでクラスファイルが生成...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
org.xml.sax.SAXParseException...
-
TomcatでのHTMLの表示
-
ibatis初心者 設定エラー
-
【Tomcatが突然動かなく...
-
contextタグ内のsourceタグにつ...
-
struts使用時のソースの位置
-
アップロードした画像の格納先...
-
web.xmlでtaglib-locationを設...
-
Tomcatを再起動するとエラーと...
-
web.xmlでのエラーページ
-
TomcatとEclipseのweb.xml[]に...
-
hibernate.cfg.xmlの配置場所に...
-
Tomcat6のコネクションプーリン...
-
System.exitをwebで使うと良く...
-
Tomcatのエラーページをカスタ...
-
Java -- Ant replaceタスク 予...
-
dockerのdocker-compose.ymlフ...
-
StrutsのDataSourceの使い方。...
-
Tomcatでいうアップロードフォ...
-
Eclipse、Tomcat、Mysql で開...
おすすめ情報