サーブレットでHTTPリクエスト情報(ホスト情報や参照ページ)を参照する例になります。サンプルコード、Tomcatの設定、デプロイなど動作させるまでの手順をまとめています。
この記事の目次です。
1. 動作確認した環境
2. ファイルの配置構成
3. サーバ設定&コンテキスト指定
4. Servletのサンプルコード
5. コンパイル
6. 動作確認方法
動作確認した環境です。
Tomcatのファイルの配置構成です。
□tomcatホームディレクトリ ├□conf |└◆server.xml └□webapps └□test └□WEB-INF ├□classes |└◆SampleServlet.class └◆web.xml
文字コードはUTF-8を使用します。 html、JSP、Servlet全部UTF-8に統一します。 apacheと連携する場合、「AddDefaultCharset UTF-8」を指定します。
サーバ設定とコンテキスト指定(server.xml)です。
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<!--: 省略-->
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />
<Connector port="8009"
protocol="AJP/1.3"
redirectPort="8443"
URIEncoding="UTF-8" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="false"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/test"
docBase="<tomcatホームディレクトリ>/webapps/test"
reloadable="true">
</Context>
</Host>
</Engine>
</Service>
</Server>
Servletのサンプルコード(SampleServlet.java)です。
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SampleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException {
String bodyText = mkBodyText(req);
outHtml(res, bodyText);
}
private String mkBodyText(HttpServletRequest req) {
StringBuilder bodyText = new StringBuilder();
bodyText.append("<ul>")
.append("<li>閲覧ページ:")
.append(req.getRequestURL()).append("</li>")
.append("<li>ホスト名:")
.append(req.getHeader("Host")).append("</li>")
.append("<li>リンクページ:")
.append(req.getHeader("Referer")).append("</li>")
.append("</ul>");
return bodyText.toString();
}
private void outHtml(HttpServletResponse res, String bodyText)
throws IOException {
res.setContentType("text/html; charset=UTF-8");
PrintWriter out = res.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Test</title>");
out.println("</head>");
out.println("<body>");
out.println(bodyText);
out.println("</body>");
out.println("</html>");
}
}
コンパイル方法です。
java -classpath <tomcatホーム>/lib/servlet-api.jar:. SampleServlet.java User.java
<?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>sample</servlet-name>
<servlet-class>SampleServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>sample</servlet-name>
<url-pattern>/sample</url-pattern>
</servlet-mapping>
</web-app>
ブラウザより、「http://<tomcatサーバのホスト>:8080/test/sample」へアクセス。 以下のように表示されます。
※「リンクページ:null」なのはリンクページを作成していないためです。
もっと知識を広げるための参考です。
このページでは、Apache Tomcatについての情報を掲載しています。
この記事の更新履歴です。
スポンサーリンク
サイト内のページ
言語
C・C++
/HTML
/Java
/JavaScript
/PHP
/シェルスクリプト
開発環境
Ant
/Burp
/Eclipse
/Fiddler
/gcc
/gdb
/Git
/g++
/JDK
/JMeter
/JUnit
/Teraterm
/ZAP
技術・仕様
Ajax
/CORBA
/Jakarta EE(旧称J2EE、Java EE)
/JNI
ライブラリ/Framework/CMS
bootstrap
/jQuery
/FuelPHP
/Lucene
/MyBatis
/Seasar2
/Spring
/Struts
/WordPress
Web API
Google Maps
ITインフラOSとミドルウェア
Linux
/Windows
/シェル
ActiveMQ
/Tomcat
/MariaDB
/MySQL
/Nagios
/Redis
/Solr
ITインフラセキュリティ
公開サーバーのセキュリティ
SI
ホームページの作り方
スポンサーリンク
関連サイト内検索ツール
zealseedsおよび関連サイト内のページが検索できます。
IPアドレス確認ツール
あなたのグローバルIPアドレスは以下です。
3.15.186.78
HTMLの表示色確認ツール
パスワード生成ツール
文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。
ここに生成されます。
スポンサーリンク
Copyright (C) 2007-2024 zealseeds. All Rights Reserved. Loarding…