JSP/サーブレットを覚えよう
JSP/サーブレットを覚えよう
WEBアプリケーションとは、サーブレット、JSP、HTML、Javaのクラスファイルなどを一つのパッケージとしてまとめたものです。こうすることによって別のサーバーにWEBアプリケーション単位で移動したりすることが容易になります
サーブレット での「Hello World!」
標準では、[Tomcatのフォルダ]\webappsにWebアプリケーションを置きます。
「webapps」の下に、上記のようにフォルダ・ファイルを配置して下さい。各ファイルには次のように記述します。
HelloWorld.java
import
java.io.*;import
javax.servlet.*;import
javax.servlet.http.*;public
class
HelloWorld extends HttpServlet {public
void
doGet(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
<?xml
version="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
<Context
path="/helloworld"
docBase="webapps/helloworld"
debug="0"
reloadable="true"
> </Context
>
HelloJsp.jsp
<HTML>
<BODY><%= Hello World!! %>
</BODY></HTML>
オススメ書籍
HTML5、CSS3、JavaScript等の学習に役立つ書籍を紹介します。