UbuntuとeclipseでStruts2の開発環境を作る(その2)

UbuntuとeclipseでStruts2の開発環境を構築してみる(その2)では、Struts2の簡単なサンプルを作って動作確認を行う。
※ここでの設定はVPS側ではなく、自宅Ubuntuの設定だよ。

 

今回作成するファイル

  • Struts2Test1/WEB-INF/web.xml
  • Struts2Test1/WEB-INF/src/struts.xml
  • Struts2Test1/WEB-INF/src/test1/St2Test.java
  • Struts2Test1/index.jsp
(「Struts2Test1」はプロジェクトディレクトリ)

 

必要なLib

 

 

http://struts.apache.org/2.x/index.htmlからダウンロードする。今回必要になるのは以下のものになる。

  • commons-fileupload-1.2.2.jar
  • commons-io-2.0.1.jar
  • commons-lang-2.5.jar
  • commons-logging-1.1.1.jar
  • freemarker-2.3.16.jar
  • javassist-3.11.0.GA.jar
  • ognl-3.0.1.jar
  • struts2-core-2.2.3.jar
  • xwork-core-2.2.3.jar

 

まずは、

Eclipseを起動→ファイル(F)→新規(N)→その他(O)→Java→Tomcatプロジェクトを作成する。

ここではプロジェクト名を「Struts2Test1」として作る。


 

 

 

 

 

 

 

 

以下の4つのファイルを所定の場所に作成する。

Struts2Test1/WEB-INF/web.xml

<?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>struts2test</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        <init-param>
   		 	<param-name>actionPackages</param-name>
   		 	<param-value>com.pg2se.sample.action</param-value>
  		 </init-param>
    </filter>
 
    <filter-mapping>
        <filter-name>struts2test</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
 
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
 
</web-app>

 

Struts2Test1/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="Struts2TEST" extends="struts-default">
 
        <action name="msg" class="test1.St2Test">
            <result name="OK">/index.jsp</result>
        </action>
    </package>
</struts>

 

Struts2Test1/WEB-INF/src/test1/St2Test.java

package test1;
 
public class St2Test {
 
    private String retMsg;
 
    public String getRetMsg() {
        return retMsg;
    }
 
    public void setRetMsg(String message) {
        this.retMsg = message;
    }
 
    public String execute() throws Exception {
        this.setRetMsg( "Struts2は動いてるみたいだ!!" );
         //
        System.out.print(getRetMsg());
        return "OK";
    }
 
}

 

Struts2Test1/index.jsp

<%@ 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>Struts2の確認テスト</title>
</head>
<body>
<a href="msg.action">Struts2の稼働確認テスト</a>
<br />
<s:property value="retMsg" />
</body>
</html>

 

Eclipse上はこんな感じになるはず。

 

 

 

 

 

 

 

 

ディレクトリ上はこんな感じ

 

 

 

 

 

 

全部作成したら、ビルドする。

ビルドすることで「WEB-INF/src/struts.xml」が「WEB-INF/classes/struts.xml」にコピーされる。
struts.xmlはWEB-INF/classesにないと正しく動かない。

実行

 

 

 

 

 

 

 

 

 

 

リンクをクリック

 

 

 

 

 

 

 

 

 

 

よし、動いてるみたいだ。

さて、何作ろかな。。

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です