Servlet2.3とServlet2.4の違い

Servlet2.3とServlet2.4の違い

JavaServlet2.3とServlet2.4の違い

Tomcat5.5 を使っているのに、web.xml を Servlet2.3 で定義していたので Servlet2.4/JSP2.0 を使うようにします。J2EE1.4 から web.xml のスキーマ定義が DTD からXML Schema になったようなので設定ファイルを書き換えました。

[Servlet2.3]

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

</web-app>
[Servlet2.4]

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
  version="2.4">

</web-app>

Tomcat を再起動したところ、どうやら JSP で jstl が読み込めない模様。Taglib の定義は下記の通りですが、JSP でエラー(Exception)が発生します。

<%@taglib prefix="c" uri="http://java.sun.com/jstl/core"%>

org.apache.jasper.JasperException: /xxxxx.jsp(26,84)
TLD又はタグファイル中のattribute指示子に従って属性valueはどんな式も受け付けません

Servlet2.4/JSP2.0 では jstl を指定する uri が違うようなので変更。やはり Webapp 配下に tld などは持っておいた方がいいのかなぁ。

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

最終更新日:

関連記事

人気記事

新着情報