アフィリエイト広告を利用しています


スキル無しのシステムインストラクターから、システムエンジニアへの転身日記。
◇◆◇ 2013年取得資格
LPICレベル1
LPICレベル2
LPICレベル3 Core
LPICレベル3 Speciality 302
LPICレベル3 Speciality 303
LPICレベル3 Speciality 304

Cisco CCENT
Cisco CCNA

Java SE 7 Silver
Java SE 7 GOLD

OSS-DB Silver

◇◆◇ 2014年取得資格
HTML5 Professional レベル1

広告

posted by fanblog

Webアプリケーションを作りましょう! その4 JSPとサーブレットでWEBアプリ入門!後編


昨日、JSPを体験していただきましたが、JSPは、やはり手軽です。
HTMLと似た感覚で書けますので、ウェブデザイナーが動的ページを作る際に、
JSPでウェブページを作成し、本格的な処理はプログラマがサーブレットに処理を書く
といった分担ができるわけですね。

3.サーブレットを作成する

では、サーブレットのクラスを作成します。
サーブレットはプログラムなので、WEB-INF/srcに配置します。
上記を右クリックし、新規→クラス→名前に「TestServlet」としました。

ここでは詳しく触れませんが、Servletを動かすには、javax.servlet〜のAPIのimport文を記述します。
(しなくてかけないというわけではありません)
という私も、APIに関しては知識が浅く、たいして語れる知識も持ち合わせていません。

またまたぶっ飛びますが、Javaの重要な技術「継承」もひつようになります。
この「TestServlet」クラスは、親クラスとして「HttpServlet」クラスを継承しています。
継承をすると、親が持っている値やメソッドを自分が定義したように使えるようなイメージです。
例えば、人クラスが鳥クラスを継承すると、空を飛べる。みたいなイメージです。
下記に示すdoGetというメソッドは、「HttpServlet」のメソッドを継承しています。

throwsという表現も出てきますね。
ここでは例外が発生する可能性があるものを書いていると思ってください。

恐らくいないと思いますが、このサイトで1からJavaをやってみた人には、
いきなりぶっ飛んだ記述になってますが、お許しください。


package testWeb;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.annotation.WebServlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest ;
import javax.servlet.http.HttpServletResponse;

@WebServlet (name="testsrv" ,urlPatterns= "/testsrv")
public class TestServlet extends HttpServlet{
protected void doGet(HttpServletRequest req,HttpServletResponse resp)
throws IOException,ServletException{
resp.setContentType( "text/html;charset=UTF-8" );
PrintWriter out = resp.getWriter();
String msg = "Servlet動くかなぁ・・・" ;
out.println( "<!DOCTYPE html><html><head><meta charset='UTF-8' />" );
out.println( "<title>Servletで作る動的ページ</title>" );
out.println( "</head><body>" );
out.println(msg);
out.println( "</body></html>" );
}
}

コードの前に書いた補足を読み取れば、何とかコードは読み取れるレベルかな。
タグを打つにも、print文の中に入れなければなりません。
あとは、やたらimportしなければいけませんね。
補足してないところで言うと、
import javax.servlet.annotation.WebServlet;
を使うことで、サーブレットの場所を指定しています。

実行結果は、下記です。

WCP_03.jpg

昨日の記事と比較すればわかるように、ただ単に、ウェブページの内容を表示したいだけなら
JSPで作った方が楽です。逆にコードが多くなるなら、サーブレットのほうが楽ですね。
結局、JSPもサーブレットなのです。JSPは実行されるときに、サーブレットソースに変換されてから
コンパイルされて実行しているのに過ぎないのです。
だから、昔の人はJSPなんてなかったから、全部サーブレットで書いていたんだぞ!なんて話をこの間、聞きました。

この技術を応用すれば、ウェブ上で動的ページを作ることが可能なわけです。
意外と簡単でしょう。ウェブアプリ。
ただこれをセキュリティ面、処理速度、I/O、データストアなど、
商用レベルで設計、構築しなければならないと考えると難しくなるのですね。

次は、データベースと連携させてみましょうか。
これができれば、データの受け渡しができるようになるので、
さらにアプリケーションっぽくなりますね。


トラックバック

この記事へのトラックバックURL
※ブログオーナーが承認したトラックバックのみ表示されます。
https://fanblogs.jp/tb/2145796

コメント

お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

   
×

この広告は30日以上新しい記事の更新がないブログに表示されております。