Action.execute

Strutsでは、Action.executeでリクエスト処理をする。

Action (Apache Struts API Documentation)

Struts1はJava8で動かすのが無難なので、

bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action$ sudo dnf install java-1.8.0-openjdk java-1.8.0-openjdk-devel

Java8をインストール。

bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action$ sudo dnf install ant

今回はantも入れる。

bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action$ mkdir src
bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action$ cd src/
bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action/src$ mkdir -p com/bgstation0/struts/sample/action
bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action/src$ cd com/bgstation0/struts/sample/action/
bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action/src/com/bgstation0/struts/sample/action$ vi MainAction.java

ディレクトリ掘って、MainAction.javaを開いて、

こう書く。

bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action$ mkdir WebContent
bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action$ cd WebContent/
bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action/WebContent$ vi index.jsp

index.jspはこの位置で開いて、

こう書く。

bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action/WebContent$ mkdir WEB-INF
bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action/WebContent$ cd WEB-INF/
bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action/WebContent/WEB-INF$ vi web.xml

web.xmlは、

こう書く。

bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action/WebContent/WEB-INF$ vi struts-config.xml

struts-config.xmlは、

こう書く。

bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action/WebContent/WEB-INF$ mkdir lib
bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action/WebContent/WEB-INF$ ls
lib  struts-config.xml  web.xml
bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action/WebContent/WEB-INF$

libディレクトリもつくってこのように。

bg1@vbox:~$ wget https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-all.zip
Saving 'struts-1.3.10-all.zip'
HTTP response 200 OK [https://archive.apache.org/dist/struts/1.3.10/struts-1.3.10-all.zip]
struts-1.3.10-all.zi 100% [===============================================================================================>]   44.38M    7.51MB/s
                          [Files: 1  Bytes: 44.38M [5.60MB/s] Redirects: 0  Todo: 0  Errors: 0                             ]
bg1@vbox:~$

Strutsのzipをダウンロード。

bg1@vbox:~$ unzip struts-1.3.10-all.zip

で解凍。

bg1@vbox:~$ cd struts-1.3.10/
bg1@vbox:~/struts-1.3.10$ cd lib/
bg1@vbox:~/struts-1.3.10/lib$ ls
antlr-2.7.2.jar              commons-fileupload-1.1.1.jar  oro-2.0.8.jar             struts-faces-1.3.10.jar
bsf-2.3.0.jar                commons-io-1.1.jar            standard-1.0.6.jar        struts-mailreader-dao-1.3.10.jar
commons-beanutils-1.8.0.jar  commons-logging-1.0.4.jar     struts-core-1.3.10.jar    struts-scripting-1.3.10.jar
commons-chain-1.2.jar        commons-validator-1.3.1.jar   struts-el-1.3.10.jar      struts-taglib-1.3.10.jar
commons-digester-1.8.jar     jstl-1.0.2.jar                struts-extras-1.3.10.jar  struts-tiles-1.3.10.jar
bg1@vbox:~/struts-1.3.10/lib$

このjar達を

bg1@vbox:~/struts-1.3.10/lib$ cp *.jar ~/project/cloud/github.com/Sample/struts/Action/execute/src/Action/WebContent/WEB-INF/lib/

ここにぶちまける。
あとは、

bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action$ vi build.xml

ここのbuild.xml

こう書く。

bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action$ ant war
Buildfile: /home/bg1/project/cloud/github.com/Sample/struts/Action/execute/src/Action/build.xml

compile:
    [mkdir] Created dir: /home/bg1/project/cloud/github.com/Sample/struts/Action/execute/src/Action/build/WEB-INF/classes
    [javac] Compiling 1 source file to /home/bg1/project/cloud/github.com/Sample/struts/Action/execute/src/Action/build/WEB-INF/classes

war:
      [war] Building war: /home/bg1/project/cloud/github.com/Sample/struts/Action/execute/src/Action/dist/Action.war

BUILD SUCCESSFUL
Total time: 1 second
bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action$

warができたので、

bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action$ sudo cp dist/Action.war /var/lib/tomcat/webapps/
bg1@vbox:~/project/cloud/github.com/Sample/struts/Action/execute/src/Action$ sudo systemctl restart tomcat

デプロイ。

こうなる。
こうなる。

こうなる。

Sample/struts/Action/execute/src/Action at master · bg1bgst333/Sample · GitHub