名も知らぬ島の人たちは

 

 

Java言語 プログラミング

 

9月22日

 

 

 月曜日1時間目に開設されるが、この授業はさらに

月曜日5時間目に演習・講義があることをお知らせします。

ちょうど前期のプログラム演習とおなじような形になります。

 

教科書

明解 JSP&Servlet プログラミング入門, 出版社: 秀和.システム

 

参考書10日で覚えるJSPサーブレット

これは非常に良い本で教科書として予定していたが、2年前にでたものでシステムがもはや古くなった。

この授業が終わったあとは

Java Webプログラミング徹底入門

柏原正三著

技術評論社

をぜひ読んでほしい。わからないところが出てきたらぼくに聞いてもいいよ。

ぼくも最近勉強始めたところだけどね。この本ではサーブレットが先に書いてある。

JSPやアップレットはそれに付随したものという考えである。じつはこの方がまともな考えだと思う。

JDKのインストール

 

Windowsのばあい簡単だと思うがそれでも、

jdk 環境変数の設定

TomCatのインストール

TomCatのインストール確認するのにはなぜか再起動が必要であった。

 

1日目  2日目 (windows2日目 (unix)  3日目 4日目  5日目 

6日目   7日目           8日目   9日目

 

 

作業1

Tomcatwebappsの下に

------------mysamples

        |

        |

        WEB-INF

        |

        |

        classes

というようにディレクトリを作成する。

作業2 server.xmlの設定

     confというディレクトリのなかにあるserver.xml275行目に次を追加する。

大事なファイルなのでバックアップを取っておこう

 

テキスト ボックス: <Context path=”/samples” docBase=”mysamples” debug=”0”
        reloadable=”true” crossContext=”true”>
       </Context>

 

 

 

 

 

 

 

  作業3    3.3JSPを実行してみよう。

教科書p.38 Samples.jspを作成し、mysamples の下におき

http://localhost:8080/samples/Sample.jsp

を実行。エラーがあればそれを修正し、正しく実行できるまでくりかえす。

 

ここで気をつけなくてはいけないのは、設定ファイルを変更したときはこれを反映させるために

必ず、Tomcatの再起動が必要である。Stop Tomcat, Start Tomcatを実行してから、urlを実行する必要がある。

 

必ずできるので根気よくやろう。Server.xmlの文法は間違っていないか。

 

 

 

 

 

 

 

 

 

 

 

 

java言語プログラミング

1日目 HelloWorldの実行。

%mule HelloWorld.java &

として右のプログラムを入力する。

% javac HeloWorld.java

としエラーがあればそれを修正。

エラーがなければ、HelloWorld.classができている。

%java HelloWorld

としてこれを実行。次に、このプログラムの先頭に

package javabasic

の行を追加して、コンパイルを実行。エラーになるので、

%mkdir javabasic

%mv HelloWorld.java javabasic/

%javac javabasic/HelloWorld.java

%java javabasic/HelloWorld

としてうまくいくことを確認。

説明:package によりひとつのまとまったクラスの集まりを定義する。mainを含むclassを最初に実行することにより

package内のclass を参照しながら実行できる。classごとにデバッグしたり開発者が協力してソフト開発ができる。

2行目 HelloWorld(){}はクラス名と同じメソッドでコンストラクタと呼ばれる。この場合何もしないものが作られる。

Java 言語プログラミング

 

この授業では、java言語を用いたネットワークプログラミングについて勉強していきます。

従来:JavascriptJava appletJava application言うように分類されてきた。

最初のjavascriptは、netscape社により開発されたものでjava とは名前がついているが言語体系(コンパイラなどのシステム)

として考えるとjavaとは別物であることに注意しておきたい。

Microsoft社ではVBscriptで対抗した。つまり、htmlを少し面白くするための修飾をするスクリプトというものである。

 

これらに対してJavaをデスクトップ上で実行するものはapplication、インターネットで実行するにはappletという形式を用いてきた。

 

Java Applet の実行方法

http://www.math.cs.musashi-tech.ac.jp/~arimoto/literacy2003/12/applet.html

に従い実行してみよう

 

 

最近サーバサイドアップリケーションの開発手段として上記2つのほかに

javaによるwwwアプリケーション制作には

JSP

servlett

という仕組みができてきました。本講座ではこれをまなびます。

 

html からjspを呼び出す仕掛けも見ておきましょう

http://www.math.cs.musashi-tech.ac.jp/~arimoto/literacy2003/html/webpage.html#jsp

 

最初はjavaについて

(1)歴史:

Sun Microsystems社により1995年5月に正式発表された。その後バージョンアップが繰り返され

JDK 1.0,1.2 ,1.3・・・現在の最新はjdk 2.0

マイクロソフト社ダウンロードページ参照。

.

(2)

(1)オブジェクト指向

  クラスを基本としたプログラム体系。

部品を組み立てるようにプログラムできる。

部品を改良できるしかけがある

 

(2)C++より簡単、ポインターがないなど。敷居が低い。最初に勉強するのによい。

(3)プラットフォーム非依存

(4)マルチスレッド(並列処理)に対応

(5)豊富なクラスライブラリ

 

 

java言語プログラム。

そのためには、例によりコンパイルして実行というやり方の説明です。

プログラムはクラスファイルよりなります。

 

 

情報の獲得:

仮想パスから絶対パスを返す

テキスト ボックス: out.print(request.getRealPath(/basic/chap2/source/src));

out.print(request.getContextPath();
out.print(request..getServletPath();


 

 

 

 

 

 

 

問題:Jspのソースを表示するプログラムを書きなさい。

プチリファレンスp.80、山田基礎p.88,encode.jsp参照

 

 

メモ:

out.println(aaa);

はJSPの暗黙オブジェクト

<%= aaa %>

System.out.println();

java 本来の外部出力

 

 

 

今日も名もない歌を唄ってる

 

 

java言語プログラミングでjsp/servletを取り上げることのいいわけ:

 

java言語は3年のプログラム演習(志田先生)で学ぶ。

JSP・サーブレットは

javaがわからなくともjspサーブレットの仕組みがわからないわけでない」

javaがわからなくともjspサーブレットの仕組みはわかる」

 

java言語、html、そして一番重要なのは、xmlという複数の言語体系から

成り立っており、

論理的なプログラム部分java,

 クライアントとのインターフェイス(見かけ)はhtml

そしていろいろな設定ファイルはxmlで書かれる。

サーブレットを学ぶには、まずこれら部分部分を学んでから、そのあとでやるというのもひとつのやり方である。

しかし、これらの部分部分も相当奥が深くマスターするのに時間がかかり何のためにこの言語の勉強しているのだろうと

疑問を投げかけてくる学生諸君も多い。またプログラム部分はやさしいものでも、wwwアプリケーションを先に学んで

全体像をシステムとして把握しておき、それぞれの部分の特性を理解すること

の意味は大きいと考える。部分をひとつひとつマスターしても全体は理解できない。

全体を俯瞰的に見ておき、それぞれの技術の必要性、勉強の動機付けとするのである。

総合的な体系を理解してほしい。

そこで、java言語の勉強より先にこの授業を行うことを計画した。

もちろん取り上げた例題に登場するjava言語の意味については

そのつど説明する。

さあ、今日からダイナミックなホームページをつくろうぜ。

CGIを許可してない?自分でアパッチ動かそう。

覚えたこと即実行してほしい。