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にないと正しく動かない。実行
リンクをクリック
よし、動いてるみたいだ。
さて、何作ろかな。。