Web系開発メモ

Java, C#, HTML, CSS, JavaScript のことなどを書いてます。

Java

Java JUnit5で単体テストをする方法(ユニットテスト)

JUnit5を使って、Javaの単体テストをする方法を書いていきます。JUnit5のアノテーションの役割も記載しています。 バージョン 動作確認で使用した製品のバージョンは以下の通りです。 JUnit 5.9.2 Maven 3.8.6 Java 17 目次 ビルドファイルの作成 テストクラ…

Java JVMの稼働時間を取得する方法(起動後の経過時間)

JVMの稼働時間(JVM起動後の経過時間)を取得する方法を書いていきます。 バージョン Java 17 プログラムの作成 JVMの稼働時間(ミリ秒)を取得するコードは以下の通りです。 package org.example; import java.lang.management.ManagementFactory; public c…

Java HttpClientで通信を行う方法(Java SE 標準ライブラリ)

Java SE に含まれる HttpClient を使って、通信を行う方法を書いていきます。 バージョン 動作確認で使用した製品のバージョンは以下の通りです。 Java 17 Maven 3.8.6 1. 同期通信を行う方法 以下の Javaクラスを作成して実行します。 src/main/java/org/ex…

Java ファイルをコピーする方法(java.nio.file.Files#copy)

Java でファイルをコピーする方法を書いていきます。 バージョン Java 17 目次 コピー方法 コピーオプションについて 1. コピー方法 Files クラスを使ってコピーします。 package org.example; import java.io.IOException; import java.nio.file.Files; imp…

Lombokでコード削減(Getter/Setter/コンストラクタ)

Lombok のアノテーションを使って、Java の Getter/Setter やコンストラクタを自動生成する方法を書いていきます。 目次 Lombokの追加 アノテーションの概要 @Getter/@Setter @AllArgsConstructor @NoArgsConstructor @Data Eclipseへのインストール 1. Lomb…

Java UTF-8のプロパティファイルを読み込む方法

Java で UTF-8 のプロパティファイルを読み込んで、値を取得する方法を書いていきます。 バージョン Java 17 1. プロパティファイルの準備 エンコーディングが UTF-8 のファイルを作成します。 src/main/resources/msg.properties hello=こんにちは 2. Resou…

JDK,JVM,JREとは何か?Javaの開発ツールと実行環境の解説

Java の JDK, JVM, JRE について、概要や解説を書いていきます。 JDK は 開発キット JDK(Java Development Kit)は「Java の開発キット」です。JDK には、以下のツールが含まれています。 コンパイラ 実行環境 デバッガ 等々 Java のプログラムをコンパイル…

Java プログラムのコンパイルと実行方法(Hello World)

Java のプログラムをコンパイルして実行する方法を書いていきます。 JDK のインストール プログラムのコンパイルと実行には、JDK(Java Development Kit)が必要になります。JDK をインストールしていない場合は、以下のリンク先を参照して頂けると嬉しいで…

Java 環境変数JAVA_HOMEとPath/PATHを設定する理由

なぜ、環境変数 JAVA_HOME や Path(PATH)を設定するか書いていきます。 設定理由 環境変数を設定する理由は二つあります。 プロダクトが参照するから コマンドを簡単に実行するため 詳細を以下に記載していきます。 1. プロダクトが参照するから Java の開…

Package#getImplementationVersion​() の戻り値(Java)

Java 9 で Package#getImplementationVersion​() の動作確認をしたら、マニフェストファイル内の実装バージョンを返却してくれませんでした。 他の Java バージョンでも動作確認をしたので、その内容を記載していきます。 1. 動作確認 1.1. マニフェストファ…

Amazon Corretto8 Windowsへのインストール方法(JDK8)

Amazon Corretto 8(JDK 8)を、Windows にインストールする方法を書いていきます。 サポート期間について Corretto 8 は LTS(Long Term Support)で、長期間のサポートが保証されています。サポートカレンダーは Corretto のよくある質問 に掲載されていま…

Amazon Corretto11 Windowsへのインストール方法(JDK11)

Amazon Corretto 11(JDK 11)を、Windows にインストールする方法を書いていきます。 サポート期間について Corretto 11 は LTS(Long Term Support)で、長期間のサポートが保証されています。サポートカレンダーは Corretto のよくある質問 に掲載されて…

Java sql2oでSQLを簡単に実行する方法(参照系・更新系)

sql2o を使って、データベースに接続して SQL を実行する方法を書いていきます。 sql2o について sql2o の特徴は以下の通りです。 Java の軽量なライブラリです。 SQL を簡単に実行することができます。 SQL の実行結果を POJO にマッピングしてくれます。 …

HikariCP コネクションプールを使ってDBに接続する方法

HikariCP のコネクションプールを使って、DB に接続して SQL を実行する方法を書いていきます。 HikariCP について HikariCP は、軽量で高速なコネクションプールのライブラリです。シンプルな実装で信頼性が高く、Commons DBCP や Vibur DBCP より速いと言…

環境変数JAVA_HOMEとPathをWindowsで設定する方法

環境変数 JAVA_HOME と Path を、Windows 11 で設定する方法を書いていきます。 環境変数の確認 JDK をインストールすると、自動的に環境変数が設定されている場合があります。以下のコマンドを実行して、 > echo %JAVA_HOME% C:\Program Files\Amazon Corre…

Amazon Corretto17 Windowsへのインストール方法(JDK17)

Amazon Corretto 17(JDK 17)を、Windows にインストールする方法を書いていきます。 サポート期間について Corretto 17 は LTS(Long Term Support)で、長期間のサポートが保証されています。サポートカレンダーは、Corretto のよくある質問 に記載されて…

Servlet:記事の一覧

Java Servlet を使う、Web開発の記事をまとめてみました。 入門 下のリンク先に、Servlet API の基本的な使用方法を書いています。 web-dev.hatenablog.com 目的別に書いていて、HttpServlet, HttpServletRequest, HttpServletResponse, Filter 等が登場しま…

Servlet入門:目次

Servlet API の基本的な使い方についての記事をまとめています。 入門記事はAPIの使用法用で分けて書いています。Servlet で Webアプリ(Web API)を作ってみたい場合は、Servletアプリ開発 を参照して頂けると嬉しいです。 1. HttpServlet(サーブレット) …

Jetty:記事の一覧

Jetty に関連する記事をいくつか書いたので、そのリンクをまとめてみました。 Jetty Maven Plugin プラグインでコンテナ起動 組込Jetty:Servlet ServletでHelloWorld Servletで静的コンテンツを返す Filterを使う セッションタイムアウトの設定 アノテーシ…

WebSocket:エコーアプリの開発

WebSocket のアプリを開発する記事を書いたので、一覧形式でまとめてみました。サーバーサイドは Java(Servlet コンテナも使用)、画面は HTML, JavaScript, CSS で開発しています。 アプリはエコーアプリで、ブラウザからサーバに文字列を送ると、そのまま…

組込みJetty:JVMとサーバーの停止方法

組込み Jetty と JVM を停止する方法を書いていきます。今回のコードは、サーバー上で動いているプログラム(サーブレットなど)から実行するものになります。 停止方法1 次のようなコードで停止することができます。 Server server = ... server.setStopAt…

組込みJetty:ローカルだけアクセスできるようにする

組込み Jetty で、ローカルのリクエストだけ受け付ける方法を書いていきます。 設定方法 Jetty を起動する際に、Listen する IP を 127.0.0.1 に設定してあげると良さそうです。そうすると、外部からのリクエストを受け付けなくなるみたいです。 コード例 Je…

WebSocket:エコーアプリの動作確認

Java の WebSocket を使って開発したエコーアプリの動作確認をしていきます。エコーアプリの資源と起動方法は、以下の記事にまとめています。 エコーアプリのJava開発 エコーアプリのUI開発 組込みJettyでエコーアプリを起動 Tomcatでエコーアプリを起動 画…

WebSocket:Tomcatでエコーアプリを起動

Java の WebSocket を使ったエコーアプリを、Tomcat に配備して起動してみようと思います。アプリの資源は、以下の記事で準備してきました。 エコーアプリのJava開発 エコーアプリのUI開発 実際に配備する場合は、上の記事の資源が必要になります。 1. war …

WebSocket:組込みJettyでエコーアプリを起動

Java の WebSocket を使ったエコーアプリを、組込み Jetty で起動してみようと思います。アプリの資源は、以下の記事で準備してきました。 エコーアプリのJava開発 エコーアプリのUI開発 アプリ(と今回のコード)を動かすためには、上の記事の資源が必要に…

WebSocket:エコーアプリのUI開発

前回 に引き続き、WebSocket のエコーアプリ(サーバサイドは Java)を作っていきます。今回は UI の開発なので、HTML, JavaScript, CSS で実装していきます。 ※ HTML や JavaScript のファイルは、前回作成したプロジェクト(ディレクトリ階層)に保存しま…

WebSocket:エコーアプリのJava開発

Java の WebSocket を使って、エコーアプリを作ってみることにしました。 今回は、 アプリの概要 プロジェクトの作成 サーバサイドの Java開発 について書いていきます。 1. アプリの概要 ブラウザからメッセージを送信して、サーバーがメッセージをそのまま…

組込Jetty:アノテーションServletを追加

組み込み Jetty(Embedded Jetty)に、アノテーション @WebServlet の付くサーブレットを追加する方法を書いていきます。 手順1. プロジェクトの作成 ルートディレクトリが ejas(Embedded Jetty Annotation Servlet)の Maven プロジェクトを作成します。 e…

組込Jetty:セッションタイムアウトの設定

組み込み Jetty(Embedded Jetty)で、セッションタイムアウトの時間を設定する方法を書いてみました。 前提 この記事のコードを動かす場合は、記事「組込Jetty:ServletでHelloWorld」の資源(ディレクトリ構成、pom.xml)が必要になります。 設定方法 Jett…

組込Jetty:静的コンテンツを返す

組み込み Jetty(Embedded Jetty)で、Http リクエストに対して静的コンテンツを返す例を書いていきます。今回は Servlet ではなく、Jetty の Handler を使ってみました。 前提 この記事のコードを動かすには、記事「組込Jetty:HelloWorldを返す」の資源(…