Web系開発メモ

Java, JavaScript, CSS, HTML などなど。ハードウェアやゲームのことも書いてます。

Java

JDK8:Ubuntu16にインストール

Oracle の JDK8 を Ubuntu16 にインストールする方法を書いていきます。 前提 動作確認は、Windows にインストールした Ubuntu16(WSL:Windows Subsystem for Linux)で行っています。 手順1. インストール apt コマンドでインストールします。 $ sudo add-…

Jetty:記事の一覧

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

Java DBアクセス:目次

Java を使って RDB(リレーショナルデータベース)にアクセスする記事を書いたので、そのリンクを一覧形式でまとめました。 JDBC を直接使う方法とライブラリを使う方法を書いていて、どちらから読んで頂いても大丈夫です。ただ、ライブラリの記事では、少し…

WebSocket:エコーアプリの開発

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

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

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

組込みTomcat:サーバーの起動

組込みTomcat(Embedded Tomcat)にサーブレットを追加して起動する方法を書いていきます。また、Tomcat が静的コンテンツ(html, js, css, etc)を返せるように設定していきます。 1. プロジェクトの作成 Maven プロジェクトとして作成していきます。ディレ…

Java10, JDK10 の動作確認

Oracle の Java10(JDK10)をインストールしたので、簡単に動作確認してみました。これからその内容についてまとめていこうと思います。 環境 Windows10 64bit Maven 3.5.2 Eclipse Oxygen.2 Maven プロパティで Java10 を指定して、コンパイルとパッケージ…

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

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

JDK10:Win10にインストール

Oracle の JDK10(Java10)を、Windows10 64bit にインストールする手順を書いていきます。 補足. サポート期間について Oracle の Java SE サポート・ロードマップ によると、公式アップデートの期限は、 JDK9 は 2018年3月 まで JDK10 は 2018年9月 まで …

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. アプリの概要 ブラウザからメッセージを送信して、サーバーがメッセージをそのまま…

JDK:記事の一覧

JDK の記事(リンク)を、一覧形式でまとめています。JDK の概要、インストール手順、環境変数の設定手順、使用例、などの記事があります。 Windows にインストール Win10 JDK9 のインストール JDK8 のインストール Win10 の環境変数設定(JDK9 と JDK8 で共…

JDK8:Win10にインストール

JDK8(8u131)を Windows10 64bit にインストールする手順を書いていきます。 手順1. インストーラのダウンロード Oracle の ダウンロードページ で、以下のダウンロードアイコンをクリックします。 次のページに遷移したら、ラジオボタン Accept License Ag…

JDK:Win10の環境変数設定

環境変数 JAVA_HOME と Path を、Windows10 で設定する方法を書いていきます。 前提 Windows10 に JDK をインストールしていることが前提となります。インストール方法は、以下の記事を参照して頂けると嬉しいです。 JDK9 のインストール JDK8 のインストー…

JDK9:Win10にインストール

JDK9(9.0.1)を Windows10 64bit にインストールする手順を書いていきます。 手順1. ダウンロード Oracle のダウンロードページ で、JDK9 のアイコンをクリックします。 次のページに遷移したら、ラジオボタン Accept License Agreement をチェックして、Wi…

Java:ジェネリックなラムダでエラー

関数型インターフェイス(@FunctionalInterface)で総称型を使うメソッドを定義して、それをラムダで表現するとエラーが発生しました。 これからそのコード例とエラーについて書いていきます。 コード例 エラーになるコード例は以下の通りです。 package lam…

Flyway:マイグレーションエラー(テーブルのあるスキーマ)

Flyway で DBのマイグレーションをしていたら、テーブル(オブジェクト)が既に存在するスキーマでエラーになりました。 これから、エラーの詳細、原因、対応方法について書いていこうと思います。 エラー内容 Flyway でマイグレーションを実行すると、次の…

Java:HikariCP+Flyway+sql2oでDBアクセス

HikariCP のコネクションプールを使って、 Flyway でDBマイグレーション sql2o でDBアクセス(SQL実行) をする方法を書いておきます。 手順1. DB設定ファイルの作成 コネクションプールの生成で必要なファイルを作成します。 db-access/src/main/resources/…

Java:FlywayでDBマイグレーション

Flyway を使って、PostgreSQL のデータベースをマイグレーションする方法を書いていきます。DBマイグレーションとは、DBのデータを残したまま、テーブル作成やカラム変更などをすることです。 手順1. 依存性の追加 記事「Java共通資源の作成」で作成した pom…

Java9:Packageクラスの変更点

JDK8 でコンパイルしたアプリ(Poml)を、JDK9 で動作確認してたら Package#getImplementationVersion​() メソッドの戻り値が異なってました。これからそのときのことを書いていきます。 アプリの実装 アプリの内部はこんな感じでした。 マニフェストファイ…

Java9, JDK9 の動作確認

Java9(JDK9)を使って、自分の気になるところを動作確認してみました。Java8 でコンパイルしてたアプリを Java9 でコンパイルしたりしてます。 前提とか JDK 9.0.1+11 を使用 ビルドは Maven 3.5.2 を使用(※1) Eclipse は Oxygen.1a を使用(※2) ※1 Mave…

Java:sql2oでSQL実行

sql2o を使って、PostgreSQL に対して簡単な SQL を実行する方法を書いていきます。sql2o を使うと、 JDBC の直接利用よりコードが少なくなる SQL実行結果を簡単に Javaオブジェクトに変換できる などのメリットがあります。 手順1. 依存性の追加 記事「Java…

Java:HikariCPのコネクションプールを使う

HikariCP でコネクションプールを生成して、PostgreSQL に対して簡単な SQL を実行する方法を書いていきます。 コネクションプールを使うと、コネクション(DBへの接続)を原則切断せずに保持することになります。DBを操作する前と後の処理(接続と切断)が…

Servletアプリ開発:目次

Servlet API を使って、Webアプリ(RESTful API)をつくる記事を書いてみました。以下の目次順に読んで頂けると、簡単なデータの「参照・作成・更新・削除」をする API をつくることができます。 目次 1.概要 2.プロジェクト作成 3.Java開発1(モデル・リポ…

Servletアプリ開発:5.動作確認

前回 までに開発したサーブレットアプリ(RESTful API)を起動して、手動で動作確認をしていこうと思います。 ※ サーブレットアプリの概要は、以下のリンク先に書いてあります。 Servletアプリ開発:1.概要 前提 動作確認は curl を使ってサーブレットに Htt…

Servletアプリ開発:4.Java開発2(RESTful API)

サーブレットアプリ(RESTful API)の Java開発について書いていきます。Java開発は2つの記事に分けていて、前回 はモデルとリポジトリをつくって、メモのデータを操作できるようにしました。 今回はサーブレットを使って RESTful API をつくっていこうと思…

Servletアプリ開発:3.Java開発1(モデル・リポジトリ)

サーブレットアプリ(RESTful API)の Java開発について書いていきます。Java開発は2つの記事に分けていて、今回はモデル(Memo オブジェクト)と、リポジトリ(データを操作するクラス)をつくっていきます。 ※ 開発するアプリの概要は、以下のリンク先に…