Apache Struts でHello World

ひょんなことでApache StrutsでWebサーバーをたてることになったのでHello Worldのやり方。

最終的なコード: st34-satoshi/hello-struts: Apache Struts Hello World

Apache Strutsとは

フリーオープンソースのWebフレームワーク。JavaでWebアプリケーションを作るときの選択肢の一つになる。

公式ページ: Welcome to the Apache Struts project

準備

こちらのサイトを参考にHello Worldを表示する。サイト通りだとうまくいかないこともあった。

Eclipse Packages | The Eclipse Foundation – home to a global community, the Eclipse IDE, Jakarta EE and over 350 open source projects…

Eclipseのダウロード

Eclipseがなくても良いかわからないが、開発用にインストールする。(追記: Eclipseなしでも大丈夫だった)

installerをインストールしてEclipse IDE for Java Developersをインストールする。

Eclipse Packages | The Eclipse Foundation – home to a global community, the Eclipse IDE, Jakarta EE and over 350 open source projects…

Mavenのインストール

mvnコマンドを実行できるように。

最初にJDKをインストールする。JDK Installation Guide

こちらのサイトを参考にインストールする。MacにMavenをインストールする – Qiita

apache-maven-3.9.3-bin.tar.gzをインストールして、/usr/local/libに移動する。README.txtを参考に、インストールする。JAVA_HOMEはJDKをインストールしたときに勝手に設定されていた。

詰まった箇所

~/.zshrcにパスを通すところでミスって mvn command not foundがずっと出ていた。

~/.zshrcにexport PATH=”/usr/local/lib/apache-maven-3.9.3/bin:$PATH” を追加してsource ~/.zshrcで反映させる。

Hello Worldを表示する

Eclipseでプロジェクトを作成

hello_strutsなどの名前でプロジェクトを作成する。

プログラミング

pom.xml (細かい書き方はわかってないけど一応動く)

<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mcnz</groupId>
  <artifactId>jetty-maven-plugin</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <!-- Hello World in Struts with a struts.xml file -->
  <dependencies>
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-core</artifactId>
      <version>2.5.5</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-convention-plugin</artifactId>
      <version>2.5.10</version>
    </dependency>
  </dependencies>

  <build>
	<finalName>hello-struts</finalName>
    <plugins>
		<plugin>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>9.4.7.v20170914</version>
            <configuration>
                <webApp>
                    <contextPath>/${build.finalName}</contextPath>
                </webApp>
                <stopKey>CTRL+C</stopKey>
                <stopPort>8999</stopPort>
                <scanIntervalSeconds>10</scanIntervalSeconds>
                <scanTargets>
                    <scanTarget>src/main/webapp/index.jsp</scanTarget>
                </scanTargets>
                <resources>
                <resource><directory>./src/main/webapp</directory></resource>
              </resources>
            </configuration>
        </plugin>
    </plugins>
  </build>

</project>

src/main/webapp/index.jsp

<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Basic Struts 2 Application - Welcome</title>
  </head>
  <body>
    <h1>Welcome To Struts 2!</h1>
  </body>
</html>

実行

$ mvn jetty:run

ブラウザを開く: http://localhost:8080/hello-struts/index.jsp

終わりに

難しかったけど実行できて良かった。

新しく始めるプロジェクトでStrutsを使うことはなさそうかなぁ。

Comments

タイトルとURLをコピーしました