HTML課題+サーブレット課題 [勉強]
今日(09/06:月曜日)は、朝食後に居間で少しうたた寝しちゃったのと、突然のお通じが意外に時間かかったことで30分遅刻しちゃいました。
私が現在通っている職業訓練の規則?では、半日以上出席していれば1日出席したことになるそうです。この職業訓練が終わった後は、少しでも遅刻したら1日欠席扱いになるとか・・・??
まぁ、よく分かりませんが、とにかく30分遅刻。
授業は進んでおらず、先週金曜日(09/03)に出された課題を講師が説明したりしていたようです。
で、web.xmlについて学んだり、JSPをお触り程度学んだりしました。
さらに・・・JSPの課題まで出ました。
これは、授業より先に進んでいる人向けに作った課題だそうで、けっこう難しそうです。
このブログをUPした後にでも、ちょっと眺めてみて、少し考えてみようかなぁ~って感じです。
で、引き続きHTML課題に対する私の回答ソースをUPしますかねぇ。
課題1:
上記のhtmlを「entry」プロジェクト直下の「sub」フォルダに作成し、ブラウザに表示してください。
・ファイル名:entry.html
・背景色: lightcyan, 見出し: navy
(どちらも「カラー名(140色)」の色)
これは・・・
<html>
<head>
<title>入門編</title>
</head>
<body bgcolor="lightcyan">
<center><h2><font color=navy>HTML入門</font></h2></center>
<center><p>簡単なHTMLを作ってみよう!</p></center>
</body>
</html>
こんな感じでイイかなぁ。
で、tomcat起動してIEとかでhttp://localhost:8080/entry/sub/entry.htmlにアクセスして正しく表示されることを確認。
ああ・・・日本語表示させるため、どっかにタグでcontentType="text/html; charset=Windows-31J"っていうのを入れておくんだったけね。ちょっと忘れちゃった。(^-^;
課題2:
上記htmlを「entry」プロジェクト直下に作成し、ブラウザに表示してください。
・ファイル名:menu.html
・見出し: teal (「カラー名(基本17色)」の色)
・「HTML入門」をクリックすると、1で作成した「entry.html」に遷移するようにしてください。
・「CSS入門」はリンクはせず、文字色を青色にしてください。
これは・・・
<html>
<head>
<title>サーブレット/JSP入門</title>
</head>
<body>
<center><h2><font color=teal>サーブレット/JSPを始める前に</font></h2></center>
<center><p><a href="sub/entry.html">HTML入門</a></p></center>
<center><p><font color=blue>CSS入門</font></p></center>
</body>
</html>
こんな感じかなぁ。
どっちのhtmlも、文字を中央揃え(センタリング)したり、リンク貼ったりくらいだから、楽勝だね。
これも、tomcat起動後(あ、課題1の時点でtomcat起動してるか?)、IEなどのブラウザでhttp://localhost:8080/entry/menu.htmlが正しく表示されて、リンク先に移動できることを確認できればOKですね。
で、次はサーブレットの課題。
課題3:
・「entry」プロジェクトの「WEB-INF」-「src」内の「foo」パッケージに以下のクラスを作成してください。
・「entry」プロジェクトの「WEB-INF」-「src」内に下記のような画面を表示するサーブレットを作成し、作成後、表示できるようにweb.xmlにコードを追加して表示してください。
まず、fooパッケージ内に作るjavaソースは
package foo;
public class Word {
public String getWord() {
return "only alphabet";
}
}
こんな簡単なソース。
で、サーブレットの方は・・・
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import foo.Word;
public class WordServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
Word w = new Word();
PrintWriter out = response.getWriter();
out.println(w.getWord());
}
}
こんな感じ・・・。
上記で作ったソース(クラス)ファイルをimportしておいて、サーブレット内でインスタンス化して、Wordクラス内のgetWord()メソッドを実行した結果をout.println文で表示させています。
これはそれほど難しくないです。
前回のHTML課題4:とか6:の方が難しかったような・・・。
さ、最後の課題。
課題4:
・「entry」プロジェクトの「WEB-INF」-「src」内の「foo」パッケージに以下のクラスを作成してください。
・「entry」プロジェクトの「WEB-INF」-「src」内の「foo」パッケージに下記のようなHTMLを表示するサーブレットを作成してください。作成後、表示できるようにweb.xmlにコードを追加して表示してください。
・表示する内容は、上で作成したクラスから取得した文字列です。また、表示する文字に日本語が含まれますので、文字化けしないようにしてください。
・背景色: lightcyan, 見出し: navy(どちらも「カラー名(140色)」の色)
・web.xml にサーブレットをマッピングしてください。
まず、javaソースは・・・
package foo;
public class ArrayWord {
public String getOneWord(int index) {
String[] strArray = { "HTML", "CSS", "JSP" };
String word = strArray[index];
return word;
}
}
さっきのソースとあまり変わらないけど、配列になったくらい。
で、サーブレットの方は・・・
package foo;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import foo.ArrayWord;
public class ArrayWordServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html; charset=Windows-31J");
ArrayWord aWord = new ArrayWord();
PrintWriter out = response.getWriter();
String s = "<html>" + "<head>" + "<title>Web用語</title>" + "</head>" + "<body bgcolor=\"lightcyan\">" + "<center><h2><font color=navy>Web用語</font></h2></center>";
out.println(s);
for (int i = 0; i < 3; i++) {
out.println("<center>" + aWord.getOneWord(i) + "</center>");
}
out.println("</body></html>");
}
}
やはり先につくったクラスをインポートして、サーブレット内でインスタンス化して、あとはfor文で配列の内容を表示させているだけです。
これも、そんなに悩まずできました。
あれ?こっちのサーブレットでは文字化けしないように日本語表示指定(contentType)が入っているねぇ。なんで、上の課題1と2では入ってなかったんだろ・・・??
ま、いいか。
・・・・・・残る課題は、ちょっと面倒っぽい感じがします。
課題内容だけでもUPしておこうかな。
課題1:
・JSPで以下の画面のように現在のカレンダーを表示するようなページを作成してください。
・日曜日の背景色、土曜日の背景色はそれぞれ平日の背景色とは異なる色にしてください。
課題2:
・JSPで以下の画面のように色見本を表示するページを作成してください。
・指定する数値は「00, 33, 66, 99, cc, ff」の6通りで、これをRGBのそれぞれの値に入れて組み合わせます。
・#000000 ~ #ffffff の間で、全216色となります。
ね? 難しそうでしょ??
と、いうことでこれからカレンダーのJSPからちょっとずつやっつけていこうと思います。
コメント 0