Java サーブレットを作成してHello Worldを表示

Javaのサーブレット(Servlet)を作成してHello Worldを表示するサンプルです。
(確認環境:Windows10、eclipse4.6  (JavaEE))

目次

手順 環境
サーブレットを作成する / MainController.javaのコード
サーブレットでHello Worldを表示する
jspでHello Worldを表示する
ポート番号を変更する(server.xml)
ルートURLを変更する

環境

Eclipseで動的Webプロジェクトを作成しておきます。

Eclipseで動的Webプロジェクトを作成する手順

完了すると以下の構成になります。

http://localhost:8080/servlet-hello/MainController でアクセスします。

githubにコードがあります。
https://github.com/ut23405/Java/tree/main/servlet-hello

サーブレットを作成する

1.srcを右クリック>「新規」>「サーブレット」をクリックします。

※プロジェクト名(servlet-hello)は変更可能です。

 

2.「Javaパッケージ」と「クラス名」を入力し「完了」ボタンを押します。

 

3.上記で入力したパッケージとクラス(MainController.java)が作成されました。

MainController.javaのコード

作成されたMainController.javaの31行目をコメントにし32行目を追加します。

package com.example.test1;

import java.io.IOException;

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

/**
 * Servlet implementation class MainController
 */
@WebServlet("/MainController")
public class MainController extends HttpServlet {
	private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public MainController() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		response.getWriter().append("Served at: ").append(request.getContextPath());
		response.getWriter().append("Hello World");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

 

サーブレットでHello Worldを表示する

1.MainController.javaを右クリック>「実行」>「サーバーで実行」をクリックします。

 

2.「サーバー・ランタイム環境」は動的Webプロジェクトを作成した時に指定したTomcatが指定されています。次へを押します。ここでの「サーバー」とはTomcatを指します。

 

3.作成したプロジェクトが「構成済み」にあることを確認して完了ボタンを押します。

 

4.Tomcatが起動し、EclipseにHello Worldが表示されました。
URLをコピーしてブラウザに貼り付ければブラウザ上でも確認できます。

http://localhost:8080/servlet-hello/MainController

 

5.Tomcatを停止する場合は、サーバータブの「ローカル・ホスト・・・」のリンクを右クリックし、「停止」をクリックします。

 

jspでHello Worldを表示する

1.WebContentを右クリック>「新規」>「JSPファイル」をクリックします。

 

2.フォルダはWebContentを選択します。任意のファイル名を入力し完了ボタンを押します。
jspファイルが作成されます。

hello.jsp

一部修正しています。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<body>
	<p>Hello JSP</p><%= 1 + 2 %>
</body>
</html>

3.Tomcatを起動し以下のURLでアクセスするとjspでhello worldが表示されます。

http://localhost:8080/servlet-hello/hello.jsp

 

ポート番号を変更する(server.xml)

    <Connector connectionTimeout="20000" port="8881" protocol="HTTP/1.1" redirectPort="8443"/>
    <!-- A "Connector" using the shared thread pool-->
    <!--
    <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    -->

ポート番号を変更する場合は、server.xmlの63行目あたりのportの値を変更します。

 

ルートURLを変更する

      <Context docBase="servlet-hello" path="/test" reloadable="false" source="org.eclipse.jst.jee.server:servlet-hello"/></Host>
    </Engine>
  </Service>
</Server>

pathの値を変更するとURLが変わります。上記の/testの場合以下になります。http://localhost:8881/test/MainController

docBaseは、Webアプリの配置場所です。

reloadableの値をtrueにするとコードを変更して保存すると自動でreloadしてくれます。

関連の記事

Java サーブレット・JavaBeans・jspが連携するサンプル

△上に戻る