web.xmlについての疑問。
ひさしぶりにTomcatをいじっていて、気になることがあったのでメモしときます。
Tomcaは6.0を使っていました。
Tomcat6.x系はServlet2.5/JSP2.1を実装しています。
で、こっから疑問なんすけど、
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
の部分があるじゃないですか、web.xmlの先頭の部分。
Tomcatの場合、
(Tomcatに限らず、他のAPサーバでも無視してよい?)
試しに
<web-app>
としても問題なく動きました。
そーゆーもんすかね。
#じゃー書かなくて良いじゃん。
なぜ、疑問を抱いたかというと、
Servletのバージョンを指定できると私は認識しています。
(この時点で認識間違ってる??)
さらに、さきほど図で示したように、
Tomcat5.x系はServlet2.4、
Tomcat6.x系はServlet2.5の実装だと認識してます。
Tomcat6.x系(Servlet2.5の実装)にデプロイしたアプリケーションの内部のweb.xmlに、
<web-app version="2.4">
と定義されていた場合、
A.エラーになる、
あるいは、
B.Tomcatのバージョンが6.x系であっても、Servlet2.4の実装として振る舞う、
のかと思っていました。
#なんか書きかけで中途ですが、時間がないので、今日はここまで。