【IT支援部】struts2を使ってみる

Author:

下記環境でstruts2を使う。
(12/18)色々と修正しました

Windows 8 Professional
Eclipse 4.2Juno (Pleiades)
Tomcat 6.0.36 (Pleiades同梱)
JRE 1.6.0_37 (Pleiades同梱)
struts 2.3.7

事前にstrutsをダウンロードしておく。
pleiades all in one Javaをダウンロード。
ウィンドウ→設定→TomcatからTomcatホームを設定する。

tomcat_config

プロジェクト・エクスプローラー上で右クリック、新規→プロジェクトを選択。
JavaのTomcatプロジェクトを選択。
プロジェクト名をHelloWorldとする。

project_name

パースペクティブがJavaとか他になっていたらウィンドウのパースペクティブを開くからその他を開き、Java EEに切り替える。

pers_java
pers_javaee

先ほどダウンロードしたstruts2のlibから下記jarをHelloworld/WEB-INF/libにコピー。

asm-3.3.jar
asm-commons-3.3.jar
asm-tree-3.3.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang3-3.1.jar
commons-logging-1.1.1.jar
freemarker-2.3.19.jar
javassist-3.11.0.GA.jar
ognl-3.0.5.jar
struts2-convention-plugin-2.3.7.jar
struts2-core-2.3.7.jar
xwork-core-2.3.7.jar

eclipseのプロジェクト/エクスプローラーからHelloWorldを右クリック、リフレッシュを選択しておく。

WEB_INFを右クリック、新規→その他からXMLファイルを選択
WEB_INF配下にweb.xmlを作成。

webxml

内容は下記のように。

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" 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 http://
                     java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        </filter-class>
		<init-param>
		<param-name>actionPackages</param-name>
		<param-value>test.Hello</param-value> <!-- ※1 -->
		</init-param>
    </filter>

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

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

</web-app>

WEB_INF/srcを右クリック、新規→その他からXMLファイルを選択
WEB_INF/src配下にstruts.xmlを作成。
内容は下記の通り。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="HelloProject" extends="struts-default">

        <action name="Hello" class="test.Hello"> <!-- ※2 -->
            <result name="success">/index.jsp</result>
        </action>

    </package>
</struts>

WEB-INF/srcを右クリック、新規→パッケージを選択、
WEB-INF/src配下にパッケージを作成。(名前はweb.xmlの※1とstruts.xmlの※2に合わせる)

package

作ったパッケージを右クリック、新規→クラスを選択
名前をつける(拡張子不要、web.xmlの※1とstruts.xmlの※2に合わせる)

class

内容は以下のとおり。

package part1;

public class Hello {

    private String replyMsg;

    public String getReplyMsg() {
        return replyMsg;
    }

    public void setReplyMsg(String message) {
        this.replyMsg = message;
    }

    public String execute() throws Exception {
        this.setReplyMsg( "Struts 2の世界へようこそ" );
        return "success";
    }
}

HelloWorldを右クリック、新規→その他からJSPファイルを選択、
HelloWorld直下にindex.jspを作成。

indexjsp

内容は下記の通り。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC
 "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello!Project</title>
</head>
<body>
<a href="Hello.action">こんにちは</a>
<br />
<s:property value="replyMsg"/>
</body>
</html>

HelloWorldを右クリック、プロパティを開く。
TomcatのWARエクスポート設定からエクスポートするWARファイルに
tomcatのwebapps\HelloWorld.warと設定する。
.javaファイルをエクスポートはどちらでも良い。

war
HelloWorldを右クリック、Tomcatプロジェクトからプロジェクト設定に従いWARファイルを作成を選択。
操作が成功しました、と出れば成功。

http://localhost:8080/HelloWorld/にアクセスでき、リンク起動ができればOK

Share on Facebook
Pocket

コメントを残す