JSP/サーブレットを覚えよう
JSP/サーブレットを覚えよう
WEBアプリケーションとは、サーブレット、JSP、HTML、Javaのクラスファイルなどを一つのパッケージとしてまとめたものです。こうすることによって別のサーバーにWEBアプリケーション単位で移動したりすることが容易になります
サーブレット での「Hello World!」
標準では、[Tomcatのフォルダ]\webappsにWebアプリケーションを置きます。
「webapps」の下に、上記のようにフォルダ・ファイルを配置して下さい。各ファイルには次のように記述します。
HelloWorld.java
importjava.io.*;importjavax.servlet.*;importjavax.servlet.http.*;publicclassHelloWorld extends HttpServlet {publicvoiddoGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// コンテンツタイプを設定response.setContentType("text/html");// 出力用PrintWriterを取得PrintWriter out= response.getWriter();out.println("<HTML>");out.println("<BODY>");out.println("Hello World !!");out.println("</BODY>");out.println("</HTML>"); } }
ソースファイル(HelloWorld.java)があるフォルダに移動し、javacコマンドでコンパイルします。コンパイルする際は、サーブレット用のクラスライブラリ(servlet-api.jar)を-classpathオプションに指定します。
>javac-classpath"C:\Program Files\Apache Software Foundation\ Tomcat 5.0\common\lib\servlet-api.jar";. HelloWorld.java >
-classpathオプションを指定する変わりに、環境変数で「CLASSPATH」として「servlet.jar」を追加しておくこともできます。
| 変数名 | 変数値 |
|---|---|
| JAVA_HOME | C:\j2sdk1.4.1_02 |
| CATALINA_HOME | C:\Program Files\Apache Software Foundation\Tomcat 5.0 |
| PATH | %JAVA_HOME%bin |
| CLASSPATH | .;%CATALINA_HOME%\common\lib\servlet-api.jar; |
「WEB-INF」フォルダ中に「web.xml」ファイルを作成し、以下の設定内容を記述します。
web.xml
<?xmlversion="1.0"encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app><!-- サーブレット名 --><servlet><servlet-name>Hello</servlet-name><servlet-class>HelloWorld</servlet-class></servlet><!-- URL マッピング --><servlet-mapping><servlet-name>Hello</servlet-name><url-pattern>/Hello</url-pattern></servlet-mapping></web-app>
この意味は、「HelloWorld」サーブレットクラスを、ブラウザからは「Hello」でアクセスするということになります。
<servlet><servlet-name>サーブレット名</servlet-name><servlet-class>サーブレットクラス名</servlet-class></servlet><servlet-mapping><servlet-name>サーブレット名</servlet-name><url-pattern>/サーブレットURL/*</url-pattern></servlet-mapping>
Tomcatを起動させブラウザを立ち上げてから、「http://localhost:8080/test/Hello」と入力してみましょう。
上記の画面が表示されたら、正常に稼動しています。
※Tomcat 4.0.6/4.1.12以降のバージョンでは、"/servlet/*"形式のサーブレット
の呼び出し(Invoker機能)がデフォルトで無効となっています。配備記述子(web.xml)に呼び出したいサーブレットの情報を明示的に宣言するようにして下さい。
JSPの追加
JSP/サーブレットを含むJ2EEでは、アプリケーションで使用するプログラムの配置場所、配置するディレクトリ名が定められています。J2EEで定められるディレクトリ構成は以下のようになります。
HelloWorld.xml
<Contextpath="/helloworld"docBase="webapps/helloworld"debug="0"reloadable="true"> </Context>
HelloJsp.jsp
<HTML><BODY><%= Hello World!! %></BODY></HTML>
オススメ書籍
HTML5、CSS3、JavaScript等の学習に役立つ書籍を紹介します。
