* いきなりサンプルサーブレット - MyServlet.java #highlight(){{ import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PrintWriter out = resp.getWriter(); out.println("<html>"); out.println(" <head>"); out.println(" <title>Hello!! MyServlet!!</title>"); out.println(" </head>"); out.println(" <body>"); out.println(" Hello!! MyServlet!!"); out.println(" </body>"); out.println("</html>"); out.flush(); } } }} - サーブレットはだいたい「HttpServlet」を継承して作ります。 - 「HttpServlet」はその名の通り、HTTPプロトコルに対応したサーブレットです。 -- ※HTTPプロトコル=ブラウザでwebサイトを見る時に通常使われるプロトコル - 上記のサンプルは、HTTPのGETメソッドに対応したサーブレットです。 -- ※GETメソッド=ブラウザにURLを入力したり、リンクをクリックしたり、method="GET"になっているフォームを送信した時に使われるアクセス方法 - ブラウザからサーブレットにアクセスすると、doGetメソッドが実行され、「Hello!! MyServlet!!」が表示されます。 - 上記のサンプルは、サーブレットの中から直接htmlを出力するサンプルです。 - そして、サーブレットは作っただけではアクセス出来ません。 -- アクセスするにはweb.xmlを作成する必要があります。 * web.xml - からっぽ #highlight(){{ <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> </web-app> }} - まずは空のweb.xmlです。Tomcatインストールディレクトリの「conf/web.xml」をコピーしてきて、<web-app>タグの間を全部消しました。 - これを以下のように、Tomcatプロジェクトの「WEB-INF/web.xml」に配置します。 &ref(tomcat02-01.png) * web.xml - サーブレットの宣言とマッピング追加 #highlight(){{ <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <!-- サーブレットの宣言 --> <servlet> <servlet-name>myServlet</servlet-name> <servlet-class>MyServlet</servlet-class> </servlet> <!-- サーブレットとurlのマッピング --> <servlet-mapping> <servlet-name>myServlet</servlet-name> <url-pattern>/myservlet</url-pattern> </servlet-mapping> </web-app> }} - <web-app>タグの間に、サーブレットの宣言と、urlのマッピングを追加します。 - サーブレットの宣言 -- <servlet-class>には、サーブレットのクラス名をパス名も含めた完全な名前で設定します。 -- <servlet-name>には、サーブレットに名前を設定します。ここで設定した名前が、urlマッピングで使用されます。 - サーブレットとurlのマッピング -- <servlet-name>、サーブレットの宣言で付けたサーブレットの名前を設定します。 -- <url-pattern>には、サーブレットにアクセスするためのURLを設定します。 --- 「/hogehoge」と設定すると、「http://サーバー名/コンテキスト名/hogehoge」にブラウザでアクセスするとサーブレットにアクセスできます。 --- ※コンテキスト名:Tomcatプロジェクト名=コンテキスト名と設定することが多いですが、設定で別の名前にすることも出来ます。 - サーブレットは作っただけではアクセス出来ないので、サーブレットを作る度に宣言とマッピングをする必要があります。 * ブラウザで確認 - 「http://localhost:8080/Tomcat7Test/myservlet」にブラウザからアクセスして、以下のような画面が表示されれば成功です。 &ref(tomcat02-02.png) #inc(Java/Tomcat/サンプル) * コメント #pcomment(reply)