TL;DR
派遣などで現場に行っていると「Javaの開発ができる人がいい」とよく言われる。
まぁJavaにも色々あるのだろうけれど、今どきは概ねWebシステムのサーバーサイドを挿していることが多い。(少なくとも自分の周りでは)
で、「Javaの開発」をできるようになるために、自分の理解のためにまとめてみた。
道のりは遠いが、他の事やりながらでも1年もあれば一通りのことは誰でもできるさ。
A.サーブレット
1.サーブレット(Java Servlet)とは
・Webサーバー(Tomcatで動作する)動的にページを生成して返すJavaプログラム。
2.記述方法
<サーブレットの例>
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World!</h1>");
for(int i=1;i<=10;i++) {
out.println("<p>["+i+"] : Hello World!</p>");
}
out.println("</body>");
out.println("</html>");
out.close();
3.サーブレットコンテナ
・サーブレットはサーブレットコンテナ上で動作しており、HTTPリクエストは
サーブレットコンテナが受け取ってサーブレットに命令を出す流れとなっている。
4.リクエストされた際のサーブレットの動作(GetとPost)
・HTTPリクエストがGetメソッドの場合はdoGetが呼び出される。
・HTTPリクエストがPostメソッドの場合はdoPostが呼び出される。
B.JSP
1.JSP(Java Server Pages)とは
・Javaによるサーバーサイトスクリプティングのためのテクノロジ。
HTMLの中にJavaコードを埋め込んで実行させることができる。
2.記述方法
・ASP.Netでいう.aspxファイルにインラインで記述するみたいに以下のような書き方ができる。
・・・よく似てる。
<JSPの例>
<body>
<%=message %>
<%
out.println("<br />");
out.println("<p>Hello World!</p><br />");
for(int i=0; i<10; i++){
out.println("<p>"+message + " No."+(i+1)+"</p><br />");
}
%>
</body>
<ASP.Netの例>
<body>
<form id="form1" runat="server">
<% For i As Integer = 1 To 20 Step 2%>
<div style="font-size: <% Response.Write(i)%>">
Hello World!<br />
</div>
<% Next%>
</form>
</body>
・いずれもブラウザには生成された後のHTMLのみが返されるところは同じ。
(クライアントからロジックを隠蔽できるという利点も同じようだ)
3.サーバー
・ASP.NetはIIS(やIIS Express)で動作するが、JSPはTomcatで動作する。
※Tom猫さんは名前はよく聞くが何者か全くわからない。
※Eclipseでは実行時にTomcatが動いてServletやJSPを処理しているみたいだ。
※しかもEclipse実行時には複数のバージョンのTomcatを同時に起動できる模様。
※IIS上のASP.Netとは色々と違うようだ・・・。
※今はムリだから追々学びつつ別の記事を書こう。(笑
4.ディレクティブ
・ページの処理方法記述して指定するもの。
<%@ [ディレクティブ名] [属性名]="属性値" %>
例)
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page contentType="text/html; charset=UTF-8" import="java.util.*" %>
※下段はパッケージをインポートする場合の書き方
5.アクションタグ
・JSPでよく使う処理をJavaで書くよりも簡単に利用できるように予め用意されたタグ表記。
例)
<jsp:include page="HelloWorldJSP2.jsp" />
※これを記述した場所にHelloWorldJSP2.jspファイルに記述されている内容が挿入される。
6.スクリプト要素
・宣言部・・・変数やメソッドの宣言をおこなう。
例)
<%! String message = "Hello Rainbow Engine!"; %>
・スクリプトレット・・・JSPの中にJavaプログラム(スクリプト)を埋め込む。
例)
<%
for(int i=0; i<5; i++){
out.println(""<p><font size='20'>""+message+"" No.""+(i+1)+""<br />"");
}
%>
・式・・・式の出力に使う。HTMLタグの中に埋め込むなどして使用
例)<title><%=message %></title>
※本来はout.println()で記載していた様な内容も、式の出力で簡単に記述できる
7.コメント
・JSPのコメントの記述方法は次のように「<%--」と「--%>」で囲む。
<%--This is a comment--%>
C.サーブレットとJSPの使い分け
・JSPはユーザーに返すHTMLを簡単に記載できる。
・サーブレットはマルチスレッドなど内部処理に適している。
・よって、サーブレットで内部計算やDBアクセスなどをおこない、結果をJSPで返すという
組み合わせで使用する。
#Java
#JSP
#Servlet
#Java開発入門
#Java初心者
#何から覚えたらいいかわからん
#Javaのフレームワークってどれがメジャーなの?

