すがブロ

sugamasaoのhatenablogだよ

eclipseとtomcatでJSP/Servlet(その4)

前回の続き。
今回はServletの作成手順。

  1. Servletファイル(.java)ファイルの作成
  2. web.xmlの作成

それではServletファイルの作成について。 プロジェクトを作成してjavaのソースファイルを新規作成すると(おそらく)プロジェクト内のWEB-INF/src内に.javaファイルが作成される。 基本的にはそこにServletの記述をすればよい。 作成する時の注意点としては、

  1. HttpServletをextendsする必要がある(パスはjavax.servlet.http.HttpServlet)。
  2. クラス内にdoGetメソッドを作成する(doGet, doPostメソッドが、ブラウザからアクセスした時のリクエストを受け取るため)。

 web.xmlの作成について。 プロジェクト内のWEB-INFフォルダ内に通常の新規作成ファイルで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>serv</servlet-name>
		<servlet-class>ServTest</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>serv</servlet-name>
		<url-pattern>/serv</url-pattern>
	</servlet-mapping>
</web-app>

 と、記述する。
これの具体的な意味を解説する。
servletタグ内
servlet-name:web.xml内で使用する「servlet-class」に対する名前
servlet-class:作成したjavaファイルの拡張子より前の名前(詳しく書くと生成されたclassファイルの拡張子なしの名前)
ここで定義したservlet-nameを使用して以下でhttpでアクセスする際のURLマッピングを行う。

servlet-mappingタグ内
servlet-name:上記で定義したservlet-name
・url-pattaern:ここで記述したアドレスにアクセスするとservlet-nameで定義したservletファイルにアクセスすることになる。つまり、ServTestにアクセスするということである。
ちなみにアクセスするアドレスは
http://localhost:8080/プロジェクト名/url-pattaernとなる。
したがって上記例で、プロジェクト名をtestとすると
http://localhost:8080/test/serv
というURLでアクセスできることになる。

注意:この設定はあくまでもJsp/Servlet開発環境としての設定です。このような設定でJsp/Servlet稼動サーバとしての実用に耐えられる保障はありません。ご注意を。