Javaのサーブレット(Servlet)を作成してHello Worldを表示するサンプルです。
(確認環境:Windows10、eclipse4.6 (JavaEE))
目次
手順 | 環境 |
サーブレットを作成する / MainController.javaのコード | |
サーブレットでHello Worldを表示する | |
jspでHello Worldを表示する | |
ポート番号を変更する(server.xml) | |
ルートURLを変更する |
環境
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してくれます。
関連の記事