EclipseなしでStrutsを動かそうとして挫折中

f:id:hiroga_cc:20170923160637p:plain

jspファイルを読み込んでいる時に、ActionやActionFormと関係するところがうまく動かないらしい。。。

2017/09/26 追記: WEB-INF直下のclassesフォルダに/helloが位置するようにクラスファイルを配置したらうまくいきました。

そもそもの背景

前にStrutsを使ってた時、そういえばEclipse任せ&プロジェクトの既存の設定任せで全然勉強してなかったことに気がついた。 なのでEclipseなしでStrutsのアプリを立てている。モダンなWAFとの比較もしたい。

やったこ

  • StrutsのWebアプリのひな形作成
  • jspファイル、Actionファイル、ActionFormファイルの編集
  • Tomcatの導入
  • Gradleでビルド

気がついたこと/ 困っていること

StrutsのWebアプリの作成

このチュートリアルに従ってやってるんだけど、このフォルダ構成は一般的なんだろうか。 前に使ってたところはどうだったっけ? www.atmarkit.co.jp

struts-config.xmlの設定が煩雑。railsがフォルダ構成を決めていることのメリットがちょっとわかった。 これが設定より規約か… ルーティングは、tornadoやflaskだとアプリ側で記載するから、

jspファイル、Actionファイル、ActionFormファイルの編集

jspがActionとかActoinFormを呼び出すときのエラーって、Pythonでjinja2とか使っても起きるんだろうか?

formはpythonだとdformってのがあるらしい。後で試したい。

Tomcatの導入

こちらを参考にさせていただいた。

koulog.hatenablog.com

まず、コマンドを自分で設定するっていうのが斬新だった! brew install hoge したら hoge が使えるようになるのに慣れてたせいで、

ln -s /usr/local/tomcat8.5.11/bin/startup.sh /usr/local/bin/tomcat-start

はほんと勉強になった。こうなってたのねえ。

Gradleでビルド

めっちゃ新鮮!もっと使いこなしたい。 こちらを参考にさせていただきました。 qiita.com

こんな感じになった。

apply plugin: 'java'

sourceSets.main.java.srcDirs = ['WEB-INF/src']

repositories {
    mavenCentral()
}

dependencies {
        compile 'javax.servlet:servlet-api:2.5',
                'org.apache.struts:struts-core:1.3.10'
}

依存性の注入を今は手作業でやってる。なんとかしたい。 あと、結果のクラスファイルは手作業でソースファイルと同じところにコピーし直してる。(これ動かない原因かな…?) 紐ついてるライブラリも、importするクラスファイルから逆に調べられるようになりたいなー。 どうしたらいいのかしら。