ひょんなことで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のダウロード
Eclipseがなくても良いかわからないが、開発用にインストールする。(追記: Eclipseなしでも大丈夫だった)
installerをインストールしてEclipse IDE for Java Developersをインストールする。
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