起こりがちなJavaの「ランタイムエラー」とその回避方法を把握しておくことは重要だ。特に頻出する、入力値に基づくランタイムエラーとその解決策を紹介する。
その名が示す通り「ランタイムエラー」(実行時エラー)は、アプリケーション実行中に発生するエラーだ。アプリケーションが所定の要件から逸脱した不適切な動作をするときは、ランタイムエラーが発生している可能性がある。
プログラミング言語および実行・開発環境「Java」のランタイムエラーでアプリケーションが急停止した場合、Javaエンジニアは何をすればよいのか。本連載は、Javaエンジニアが遭遇しやすいランタイムエラーの5つの原因と、それに対処する手順や戦略を解説する。
エンドユーザーの入力がアプリケーションの不適切な動作を招く例は、数え切れないほど存在する。Web掲示板が、エンドユーザーの入力した不等号(「<」「>」)などの特殊文字をそのまま受け取った際、意図しない内容を表示してしまうのが典型的な例だ。標準的な文字コード「ASCII」準拠の入力しか受け取らないことを想定したテキスト処理アプリケーションが、絵文字や規格外の文字列を受け取った場合、停止してしまう例もある。
アプリケーションの入力欄に実行可能なデータベース操作クエリを入力する「SQLインジェクション」も主な例だ。SQLインジェクションはアプリケーションの停止だけでなく、アプリケーションのデータ制御を攻撃者に明け渡す危険性もある。
こうした事態を避けるには、入力される可能性がある全種類のデータを、アプリケーションが解釈できる安全な値に変換する「サニタイズ」が欠かせない。Javaによるアプリケーション開発では、開発者は「Apache BVal」「Hibernate Validator」などのライブラリ(プログラム部品群)を用いることでサニタイズを実装可能だ。
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
「テレワークでネットが遅い」の帯域幅じゃない“真犯人”はこれだ
ネットワークの問題は「帯域幅を増やせば解決する」と考えてはいないだろうか。こうした誤解をしているIT担当者は珍しくない。ネットワークを快適に利用するために、持つべき視点とは。
「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。
「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。
「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...