ゆずめも

メモ的なブログです。主に勉強した事について書いてます。

EclipseのServlet実行

前回の記事でTomcatをインストールして

さぁ実行だ!と思ったら詰まりました。

 

何があったかというと

実行してー、Webブラウザの8080にアクセスすれば…

あれ、出ない(・_・;)

あ、アドレス指定してやらないとなのね

出ないじゃん(・_・;)

っていうかアドレスわからないってなった

 

というわけで実行までしようってお話

 

前回の記事でTomcatをインストールして

Eclipseに実行の構成でサーバの設定して、プラグインから起動できるようになったと思います

 

まず新規プロジェクトの作成ですが

Javaプロジェクトとかではなく

ファイル>新規>その他>Java>Tomcatプロジェクト

でプロジェクトを作ります

 

そしてJavaプロジェクトではsrcディレクトリにソースファイルを置いていましたが

ServletではWEB-INF/srcに.javaファイルを作成します

とりあえず適当にコード書いてみましょう

/*
 * @auther yuzu
 */

import java.io.PrintWriter;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Servlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException {
	try {
		response.setContentType("text/html; charset=utf-8");

		PrintWriter pw = response.getWriter();
		Date dt = new Date();

		pw.println("<html>");
		pw.println("<head><title>サンプル</title></head>");
		pw.println("<body");
		pw.println("<center>");
		pw.println("<h2>ようこそ</h2>");
		pw.println("<hr />");
		pw.println("今" + dt + "です。");
		pw.println("お選びください");
		pw.println("<br />");
		pw.println("<a href=\"#\">乗用車</a>");
		pw.println("<a href=\"#\">トラック</a>");
		pw.println("<a href=\"\#">オープンカー</a>");
		pw.println("</center>");
		pw.println("</body>");
		pw.println("</html>");
	}
	catch(Exception e) {
		e.printStackTrace();
	}
}
}

学校の課題で書いたコード若干変更Verですが

まぁテストではいいんじゃないですかね?

がちゃがちゃ弄ってて気づいた

どうもServletEclipseでやってるとEclipseが勝手にコンパイルしてるのか

自分でコンパイルしなくても勝手にコンパイルして

適切な場所に.classファイルを置いてくれています

 

保存して

次にweb.xmlを作成します

WEB-INFディレクトリに新規>ファイルでweb.xmlを作成

web.xmlには

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>TestServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/servlet/test</url-pattern>
</servlet-mapping>

</web-app>

servlet-classが実行したい.javaファイルを書くところで

url-patternがアクセスするときに使用するアドレス

この2つをservlet-nameでリレーションを取ってるって感じです。

 

最後にプロジェクトエクスプローラーの作成したプロジェクトを右クリックし

Tomcatプロジェクト>コンテキストファイルの更新

をしてEclipse側の処理は完了

 

ブラウザで

localhost:8080/<プロジェクト名>/<url-pattern>

で、記述したプログラムにアクセスできるはずです。

今回の場合

localhost:8080/Servlet/servlet/test

でアクセスできます。できるはずです。