読者です 読者をやめる 読者になる 読者になる

サーブレットプログラム(Hello Worldと九九のプログラム)

今回はJavaサーブレットプログラムです。

実際のソフトウェア開発ではサーブレットがリクエストを受け取って、JSPでレスポンスを返す仕組みが主流です。JSPはHTMLの記述に近く、サーブレットはより詳細で再利用性の高いプログラムを作ることができます。

また、JSPコンパイラによってサーブレット(.java)、クラスファイル(.class)に変換されます。ですから、JSPサーブレットは基本的には同じような性質を持っています。

今回はそのサーブレットの最も簡単なプログラムを示します。
HelloWorld.java

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

/**
 * Servlet implementation class HellowWorld
 */
public class HellowWorld extends HttpServlet {
	private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public HellowWorld() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) 
	throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setContentType("text/html; charset=Windows-31J");
		PrintWriter out = response.getWriter();
		out.println("<HTML>");
		out.println("<HEAD>");
		out.println("<TITLE>Servlet</TITLE>");
		out.println("</HEAD>");
		out.println("<BODY>");
		out.println("Hellow World");
		out.println("</BODY>");
		out.println("</HTML>");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) 
	throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

}

ちなみに僕はHTMLのTABLEタグを書く時にいつもTDとTRの位置に迷います。今日調べたら、TD=Table Data、TR = Table RowでTDはTRの入れ子になると覚えれば良いんですね。
HTMLOutPutExercise.java


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

/**
 * Servlet implementation class HTMLOuPutExercise
 */
public class HTMLOuPutExercise extends HttpServlet {
	private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public HTMLOuPutExercise() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) 
	throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setContentType("text/html;charset=Windows-31J");
		PrintWriter out = response.getWriter();

		out.println("<HTML>");
		out.println("<HEAD>");
		out.println("<TITLE>九九サーブレット</TITLE>");
		out.println("</HEAD>");
		out.println("<BODY>");
		out.println("<H1>サーブレット:九九のサンプルプログラム</H1>");
		out.println("<TABLE border=1>");
		for(int i=0; i<=9; i++){
			out.println("<TR>");
			for(int j=0; j<=9; j++){
				out.println("<TD>"+i+"×"+j+"="+ i*j + "</TD>");
			}
			out.println("</TR>");
		}
		out.println("</TABLE>");
		out.println("</BODY>");
		out.println("</HTML>");
		out.close();
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) 
	throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

}