『Webアプリ開発入門 Servlet/JSP編1: JavaでWebアプリケーションを作ろう (全10回)』
とうとうこの講座を受ける前に、6ヶ月の期限が来てしまった。
前回までのアルゴリズム入門編もかなり駆け足でやったから、
あんまり身にはなっていないだろうな。
これでとりあえずpaizaの契約は解除しよう。
一応、この講座のレッスン1はすべて無料だから、これだけは受けておくかな。
そうだった!?無料だと倍速ができないんだった。
倍速でやってきたから、やたら遅く感じるな😅
それと、このレッスンを自分の環境で試す場合には、
Tomcatをインストールする必要がある。
たぶん、以下のサイトが分かりやすいので、試してみる。
- How to Install Tomcat 9 on Ubuntu 20.04
https://tecadmin.net/install-tomcat-ubuntu-20-04/ - Ubuntu20.04 tomcat9をインストールする手順
https://mebee.info/2020/05/28/post-11921/
うん、たぶんなんかできた気がする。
とりあえず/opt/tomcatというディレクトリに一式インストールされてるし、
sudo /opt/tomcat/bin/startup.shでサーバーが起動してるしな。
イマイチまだサービスの登録とかよくわかんないけど、
Ubuntu起動時にスタートアップさせるかどうか、ってことだろうな。
だから、自分の意志で起動と停止をコントロールするため、
/opt/tomcatを/home/{$USER}にコピーして、
コピー先の所有者を{$USER}に変更しておいた。
あとは、このコピー先のtomcatに対して、編集とか起動とかやっていこう。
メモ
#01:Webアプリの初歩を理解しよう
- JavaでWebアプリを開発するには
- Servlet:サーバー上でJavaを実行する技術
- JSP(Java Server Pages):HTMLの中にJavaのコードを埋め込んで、動的にWebページを生成する技術
- Tomcat:ServletやJSPを実行するためのサーバー用アプリケーション - 参考になるWebサイト
- Javaの道>Servlet・JSP
http://www.javaroad.jp/servletjsp/index.html - Servletアプリ開発:目次 - Web系開発メモ
http://web-dev.hatenablog.com/entry/java/servlet/dev-restful-app/table-of-contents - Java Servlet - Wikipedia
https://ja.wikipedia.org/wiki/Java_Servlet - JavaServer Pages - Wikipedia
https://ja.wikipedia.org/wiki/JavaServer_Pages
- Javaの道>Servlet・JSP
#02:Tomcatを呼び出してみよう
- Tomcatの起動と停止
- 起動$ tomcat/bin/startup.sh
- 停止$ tomcat/bin/shutdown.sh
- 起動
- Tomcatへのアクセスhttp://(ドメイン):8080/
#03:Hello Worldをコンパイルしよう
- サーバー上で動作するHelloWorld
tomcat/webapps/mywork/HelloWorld.java - コンパイル操作
$ javac -classpath "../../lib/servlet-api.jar" HelloWorld.java
#04:ServletでHello Worldを出力しよう
- Servletの配置ディレクトリ/tomcat
/webapps
/mywork
HelloWorld.java (ソースコード)
/WEB-INF
web.xml
/classes
HelloWorld.class (クラスファイル)- ↑WEB-INFは、サーバーから呼び出せるが、ユーザーからはアクセスできない。WEB-INFの上位のディレクトリは、ユーザーが直接アクセスできるので、ソースコードは上記の位置に残さないようにする。
- web.xmlを作成するtomcat/webapps/mywork/WEB-INF/web.xml
- 配置先を指定してコンパイルする$ javac -classpath "../../lib/servlet-api.jar" -d WEB-INF/classes HelloWorld.java
- ブラウザからServletを呼び出す
#05:ルーティングを理解しよう
- サーバー上で動作するHelloServletの作成
tomcat/webapps/mywork/HelloServlet.java - web.xmlで、複数のアドレスを割り当てる
tomcat/webapps/mywork/WEB-INF/web.xml
#06:JSPで表示しよう
- JSP(JavaServer Pages)とは
Webアプリケーションで出力するHTMLのテンプレート- HTMLの中にJavaコードを記述できる
- Webページとして出力
- JSPによるサンプルプログラム
mywork/HelloTemplate.jsp- <%@ page language="java" ~ %>
- JSPの実行方法
JSPのコンパイルは、Tomcatが自動的に行うので、ブラウザからアクセスするだけで結果を表示することができる。
#07:ServletからJSPを呼び出そう
- ServletとJSPを連携させることで、Webアプリケーションの制御部分と表示部分を分けることができる。
- Servlet/JSPの配置ディレクトリtomcat/
- webapps/
- mywork/
- HelloWorld.java (ソースコード)
- ShowTemplate.java
- WEB-INF/
- web.xml
- classes/
- HelloWorld.class (クラスファイル)
- ShowTemplate.class
- views/
- index.jsp (JSPファイル) - JSPを呼び出すServletの作成tomcat/webapps/mywork/ShowTemplate.java
- Servletをコンパイルするjavac -classpath ~
- web.xmlの修正
tomcat/webapps/mywork/WEB-INF/web.xml - ブラウザからServletを呼び出す
#08:JSPの書き方を理解しよう
- JSPタグの種類
- <%@ %> JSPの宣言(ディレクティブ)
- <%! %> 変数やメソッドの宣言
- <%= %> 式の評価結果を出力
- <% %> コードを実行
- <%-- --%> コメント - ServletからJSPにデータを渡す
- tomcat/webapps/mywork/ShowTemplate.java
- request.setAttribute("message", "Hello World!");
- tomcat/webapps/mywork/WEB-INF/view/index.jsp
- <% String message = (String)request.getAttribute("message");%>
- tomcat/webapps/mywork/ShowTemplate.java
#09:具体例:RPGの行動選択メニューを作ろう その1
- web.xmlの修正
tomcat/webapps/mywork/WEB-INF/web.xml- /menu
- メニューのServlet
- tomcat/webapps/mywork/Menu.java
- Servletのコンパイル
- メニューのJSP
- tomcat/webapps/mywork/WEB-INF/view/menu.jsp
- アクセス
#10:具体例:RPGの行動選択メニューを作ろう その2
- web.xml
tomcat/webapps/mywork/WEB-INF/web.xml- /walk
- 「あるく」画面のServlet
tomcat/webapps/mywork/Walk.java- Servletのコンパイル
- 「あるく」画面のJSP
tomcat/webapps/mywork/WEB-INF/view/action.jsp
認定証
半年に亘るpaizaでのオンライン学習もひとまずこれで終了だな。
長かった😭
ちょっともう後半きつかったな〜😩
学習ステータス
特に変化なし
今後の予定
あとはまぁ、無料のC#入門編やるかどうかだな。
てか今度の仕事C#やるからほぼ必修なんだけど😅
でも他のテキストで勉強してもいいしな。
等倍の動画って眠くなるしな〜😴