サイト検索
検索
サイトメニュー
Menu
RTB SoftLab ラテベ ソフトラボ (ラテベラボ)
私の知っているソフトの操作を解りやすく、解説していきます。
サイト検索
検索
サイトメニュー
Menu

投稿日:2020年10月2日

更新日:2020年9月29日

今までとこれからの内容

Visual Studio Code環境で、デバッグ環境は整いました。

Visual Studio Codeでの初めてのJAVA

これからは、Java+Tomcatの勉強になります。

今回の目標は!

  1. Java+Tomcatの概念を学ぶ!
  2. 出来れば、一つプログラムを作る!

たぶん、このぐらいではないでしょうか!?

早速、作業開始!

Java+Tomcatとは

まず、記事を書いてて思うことがあります!

題名を書いても、自分で説明出来ないことです(笑)

今の私の知識は!

  • .netアプリではなく、Webでシステム開発が出来る。
  • Javaは、ビルド(コンパイル)しないと動かない。
    • classファイルに変換される。
  • 関連して、JSPがある。これは、HTMLのようなものと考えている。
  • JSPもビルドが必要である。
    • classファイルに変換される?(でも、jspはクライアントでは?)
  • JSPがクライアント側で動くプログラムであり、Javaはサーバ側で動くプログラムである。
  • 昔的?ないい方をすると、クラサ型のシステムが構築できる。
    • 2層構造?3層構造?みたいな感じ?(笑)

大体、こんな感じの知識しかありません(笑)。(情けないですね~www^^;)

早々、この記事を書くために、ググります♪

  • Java + Tomcatとはで、検索!
    • サーブレットコンテナのひとつ!
      • フムフム!まったく解りません(笑)
      • Webサーバで動くJavaプログラムの事をサーブレットと言うみたいです。
      • サーブレットコンテナとは、今回の場合Tomcatの事を言うみたいです。

今回は、
「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
を参照させていただきました。

ありがとうございます。

なんか、私の勉強方法(知りたいことがちがうようなぁ~^^;

わかった!概念は、後回しとします(笑)

実践あるのみで、後から概念をつけていき方法とします(笑)

いきなり実践と言っても、ちょっとだけ検索!

ということで、いきなり実践サイトの検索し、そのサイトのデモを作ることで、理解する方法としました。

いろいろ検索してわかったこと!(間違いもあるかもしれませんが…)

  • プログラムの置き場所は、下記である。
    • Tomcatのインストール先のwebppsフォルダーの中!
    • D:\Tomcat\Tomcat\webapps
  • Jspとweb.xml、javaのファイルがあれば実行可能!

なるほど!

では、作ってみます♪

早速実践

手順は!

Helloのフィルダーを作成

D:\Tomcat\Tomcat\webapps\Hello

そのフォルダーをVSCodeで開く

(ファイルメニューのフォルダーを開く)

フォルダーを開いた状態
フォルダーを開いた状態

ファイルメニューから新規ファイルを作成する

Javaコードを書いて、HelloServlet.javaで保存する。

保存場所:D:\Tomcat\Tomcat\webapps\Hello\WEB-INF\classes\

HelloServlet.java
HelloServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet {
    public void service(HttpServletRequest req,
        HttpServletResponse res)
        throws ServletException, IOException {

        PrintWriter out = res.getWriter();

        out.println("<HTML>");
        out.println("<BODY>");
        out.println("<H3>Hello World!</H3>");
        out.println("</BODY>");
        out.println("</HTML>");

    }
}

同じ様にして、web.xmlを作成する。

保存場所:D:\Tomcat\Tomcat\webapps\Hello\WEB-INF\

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>HelloServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/HelloServlet</url-pattern>
    </servlet-mapping>
</web-app>

jspを同じようにして作る。

保存場所:D:\Tomcat\Tomcat\webapps\Hello\

<HTML>
	<BODY>
	
	<H3>
	<%
		out.println("Hello World!");
	%>
	</H3>
	
	</BODY>
</HTML>

ビルドバッチを作成し実行。(z01-02 Hello World)

保存場所:D:\Tomcat\Tomcat\webapps\Hello\

その前に、現在の環境変数

変数名パス
CATALINA_HOMED:\Tomcat\Tomcat
CLASSPATHD:\Tomcat\Tomcat\lib
JAVA_HOMED:\Java\jdk1.8.0_261
JRE_HOMED:\Java\jdk1.8.0_261\jre
Path%JAVA_HOME%\bin
Path%JAVA_HOME%\jre\bin
Path%JAVA_HOME%
Path%CLASSPATH%\servlet-api.jar
Path%CLASSPATH%
システム環境変数の設定
(将来使うものも含む)

バッチのファイル名は、なんでもOK!

rem	d:
rem	cd Tomcat\Tomcat\webapps\Hello
	javac -encoding UTF-8 -classpath %CLASSPATH%/servlet-api.jar .\WEB-INF\classes\HelloServlet.java

	cmd /k
ビルド実行後
ビルド実行後

なにかしら、コードに問題がある場合は、ここでエラーになります。

上記を実行すると!

D:\Tomcat\Tomcat\webapps\Hello\WEB-INF\classes\に、HelloServlet.classのファイルが作成されます。
このファイルが実行形式のファイル!

テスト

Tomcatを起動して、下記でアクセスする

Tomcatの起動方法が解らない方は、こちらで、説明しています。

実行されました(祝♪)

JAVA実行結果
JAVA実行結果
Jsp実行結果
Jsp実行結果

もう私は、JAVAのプロです♪(冗談です^^;)

ここで、終わったらコピペしただけなので、意味がありませんね♪
ということで、コード(ソース)も使いながら、まとめます。

ソースの理解

HelloServlet.java

こんな感じで、コメントをつけて、理解しました。

HelloServlet.javaの分析
HelloServlet.javaの分析

web.xml

web.xmlの理解
web.xmlの理解

HelloJsp.jsp

HelloJsp.jspの理解
HelloJsp.jspの理解

こんな感じだと思います♪

んっ!これって~!?

  • VSCode赤表示は、エラーの事?

懸案が増えましたね~^^;

とりあえず、動いたので、これで良しとしましょう~わら

ちなみに!VSコード(F5)から実行した場合

エラーがでて、先に進みませんでした。

VSコードから実行した場合。
VSコードから実行した場合。

まぁ~。赤字でエラーが出ているので、別の方法があるのでしょう!

予想では!

ハマった所

概念は、弱いです(笑)

今回は、ハマりはしませんが、このままでは懸案がすごく増える予感www^^;

参考サイト

ありがとうございました♪

残っている懸案

分類懸案結論完了
Javavoidって?Returnなし完了
Javamainは、.netと同じmain?
javaPHPでいうとたぶんechoかな?echo!完了
VSCodeターミナルにでてきたけど、
ブラウザはどうするの?
javathrows ServletException, IOException 
java日本語が文字化け。UTF-8の指定でしょうたぶん!
VSCodeVSCode赤表示は、エラーの事?
これからの懸案一覧

懸案増えましたね~www^^;

今回のまとめ

とりあえず、概念は、ムリ!

動いたのよしとするが、懸案が色々と(笑)

でも、なんとなくわかってきているかも(笑)

ちょっと重要かも!

  • JAVAは、ビルドしても、内容が変わらない!
    • JAVAの入替は、Tomcat再起動が必要である。
  • Jspは、プログラムを保存した時で入れ替わり可能である。

今回参照したサイトは、いいかも知れません♪
このサイトをどしどし進めて、問題点のみを記事にするかな?

どんどん、JAVAに浸かっていきますよ~(笑)

さて、がんばりますよ~♪
(でも、ハマりたくないよ~(笑))

RTB カレンダー

31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
通販サイト(ECサイト)デモへ
ラテベラボブログへ
ナノシスへ

RTBアーカイブ(旧 Widget 版)

RTB ポストランキング (旧)

RTBアーカイブ(旧 Widget 版)