@ledsun blog

Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。

web.xmlの設定

JavaEEではweb.xmlファイルでアプリケーションの設定を書きます。ここではstruts2.2用の設定をします。

web.xmlの作成

  1. eclipseのメニューから、「File」−「New」−「File」を選択します。
  2. Enter or select the parent folder:欄に「HelloWorld/WEB-INF」を入力します。
  3. File name欄に「web.xml」を入力し、「Finish」を押下します。
  4. 次の内容を記入します。
<?xml version="1.0" encoding="UTF-8"?>
<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"
	id="WebApp_ID" version="2.5">

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

</web-app>

「プロジェクト設定に従いWARファイルを作成」を行い、Tomcatを起動すると次のようなエラーが表示されます。
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
これは必要なjarがlibフォルダに入ってないため発生します。

ライブラリファイルの追加

「WEB-INF/lib」フォルダ配下に、Struts2のライブラリファイルをコピーします。
struts-2.2.1.1-all.zipを解凍しlibディレクトリの中から、次のファイルをeclipse上の「WEB-INF/lib」ディレクトリ配下にドラッグ&ドロップしてコピーします。

  • commons-fileupload-1.2.1.jar
  • commons-io-1.3.2.jar
  • freemarker-2.3.16.jar
  • ognl-3.0.jar
  • struts2-core-2.2.1.1.jar
  • xwork-core-2.2.1.1.jar

javassist-3.14.0-GA.zipを解凍しjavassist.jarを「WEB-INF/lib」ディレクトリにコピーします。
再度「プロジェクト設定に従いWARファイルを作成」を行い、Tomcatを起動しエラーが消えたことを確認してください。