タグ

2013年4月12日のブックマーク (12件)

  • Java: PreparedStatement で like を扱う時の注意点 - toyfish.blog

    JDBC には PreparedStatement クラスが用意されていて、SQL 文の一部をパラメータ化することができる。 パラメータ部分のエスケープ処理は JDBC ドライバが行ってくれるので、SQL インジェクション対策として最近では必須になりつつあるこのクラス。しかし、like 演算子を使う場合は、ちょっと注意が必要だ。 Lv 1 ネットで検索してみると、失敗例としてひっかかってくるのがこのパターン。 Statement stmt = conn.prepareStatement("select * from items where name like '?%'"); stmt.setString(1, "hatena"); ResultSet rs = stmt.executeQuery();name が "hatena" で始まる行を選択しようとしているわけだけど、これだと例外が

    Java: PreparedStatement で like を扱う時の注意点 - toyfish.blog
    Kshi_Kshi
    Kshi_Kshi 2013/04/12
    SreparedStatementのLikeの部分は ?だけもしくは、エスケープして使用するのが良いらしい。
  • accessclub.jp - このウェブサイトは販売用です! - アクセスクラブ リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • Javaの匿名クラスを使ってかっこよくオブジェクトを初期化するテクニック - 矢野勉のはてな日記

    JavaJavaの匿名クラスはすごくかわしいかわいい技術でいろいろキモイことができます。匿名クラスは基的に「サブクラス生成のための特殊記法」であって、クロージャではありません。匿名クラスとクロージャを対比して云々するのはそもそも誤りです。なんならクロージャでサブクラス作ってみなよってことです。匿名クラスによって、Javaではなにかのサブクラスを任意の場所で即座に作り出すことが出来るんです。なにかのクラスのメソッドを三つほど書き換えた新しいクラスをさっと作れるのは、なかなか面白い機能ですよ。 その匿名クラスを利用したカッコイイ(でも使うのは躊躇されている)記法として、次のようなのがあります。(追記:この用法はヨシオリさんところで見たのが最初です) List list = new ArrayList() {{add("a"); add("b"); add("c");}}; Javaには「初期

    Kshi_Kshi
    Kshi_Kshi 2013/04/12
    かっこいい初期化 new ArrayList<String>() {{add("hoge"); add("hoge"); ... }};
  • @IT:Java TIPS -- リダイレクトとフォワードの違いを知る

    しかし、sendRedirectメソッドによる移動は「リダイレクト」、forwardメソッドによる移動は「フォワード」と呼ばれ、内部的な挙動も性質もまったく異なるものです。ユーザーからは同じように見えますが、開発者はこれらの違いを把握しておく必要があります。 まず、リダイレクトとフォワードの挙動がどのように異なっているのかを簡単に説明しましょう。 リダイレクトの場合、クラアイアントがページXを要求すると、サーバがページYを要求する指示をクライアントに戻します。これによって“クライアントは自動的に”ページYを要求し、結果としてページYがクライアントに戻されます(ページXとページYは、必ずしも同一サーバからのレスポンスではない)。これに対しフォワードは、クライアントがページXを要求すると、“サーバ内で”ページXからYへ処理が移送され、ページYが応答として戻されます(ページXとページYは、必ず同

    @IT:Java TIPS -- リダイレクトとフォワードの違いを知る
  • 解答例 - 実習課題1 - (補足)Oracleへの接続

    (実習課題1) 以下のコンソールプログラムを作成しなさい。 Oracleデータベースのテーブル内容を表示する。テーブルは任意で良い。 OCI Driverを用いて作成する事。 /** * OracleSelect.java TECHSCORE Java JDBC 補足 実習課題1 * * Copyright (c) 2004 Four-Dimensional Data, Inc. * */ import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class OracleSelect { public static void main(

    Kshi_Kshi
    Kshi_Kshi 2013/04/12
    Oracleとの接続
  • 一陣の神風が舞う JAVAのハッシュ関数を簡略化する

    Javaのハッシュ値を求めるために、java.security.MessageDigestクラスを使ったりするが、 ぶっちゃけあんなん求めるのに例外処理だー、アルゴリズムは~だーなんて 面倒くさいのでラッピングしてみた。 packege mbs.security; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * ハッシュ値生成機能を提供 * @auther Mahny */ public class Encrypter{ /** * メッセージダイジェスト:MD5 */ public static final String ALG_MD5= "MD5"; /** * メッセージダイジェスト:SHA-1 */ public static final String

    Kshi_Kshi
    Kshi_Kshi 2013/04/12
    ハッシュ化
  • Java:パスワードの暗号化(ハッシュ化) | hrtdotnet.jp

    JavaのWebアプリケーションを構築した際に、ユーザ情報を管理することがあります。このときパスワードも管理することになりますが、パスワードを平文のままDBに入れるのはセキュリティの観点から好ましくありません。ここではCommons Codecを利用し、パスワードを簡単に暗号化する方法を説明します。 ハッシュを利用した認証 Commons Codecでは一方向ハッシュを実現するためのDigestUtilsクラスが用意されています。ハッシュとは、ある任意の値から、どのような値でも一様であり、衝突耐性のある値(ハッシュ値)を得ることです。また同じハッシュアルゴリズムであれば、元の値が同じであれば、ハッシュ値も同じです。例えば「ABCD」という値をハッシュ化し、「1234」というハッシュ値を得た場合、「ABCD」は何度ハッシュ化しても「1234」であり、「1234」をハッシュ値として持つ元の値を

    Kshi_Kshi
    Kshi_Kshi 2013/04/12
    ハッシュ化
  • リダイレクト(redirect) - サーブレット間の連携 - サーブレット入門

    リダイレクトは他のサーブレットやHTMLファイルに処理を移します。フォワードと似ていますが、フォワードはサーバ内で次のサーブレットなどへ処理を移しますが、リダイレクトの場合はクライアントに対してリダイレクト先のサーブレットなどを見に行くように指示を出すだけです。その為、クライアント側でも処理が別のページ移ったことを認識します。 またフォワードの場合はクライアントから送られ来たパラメータなどを含むリクエストをそのままフォワード先に移しますが、リダイレクトの場合は次の見るべきサーブレットやHTMLファイルなどをクライアントに指示するだけですのでクライアントから送られてきたリクエストの中身などはリダイレクト先には渡されません。 例えば何かの処理をしてエラーだった場合にはエラーページへ飛ばすとか、データベースの処理だけをするサーブレットを呼び出した後に処理が終わったらサーブレットでは何も出力を行わ

    Kshi_Kshi
    Kshi_Kshi 2013/04/12
    リダイレクト
  • http://msugai.fc2web.com/java/instanceof.html

    Kshi_Kshi
    Kshi_Kshi 2013/04/12
    instanceof
  • instanceof と Class#isInstance - やさしいデスマーチ

    動的に使える以外に違いはないわけだけど、isInstanceもたまには思い出してあげてください。 boolean isHoge = (obj instanceof Hoge); boolean isHoge = Hoge.class.isInstance(obj); これらは等価なわけです。 でも、SJCちっくな問題を2つほど解いてみましょう。 Q1.isInteger はどうなるか? int num = 10; boolean isInteger = (num instanceof Integer); 1. true 2. false 3. コンパイルエラー 4. 実行時例外 Q2.isInteger はどうなるか? int num = 10; boolean isInteger = Integer.class.isInstance(num); 1. true 2. false 3. コ

    instanceof と Class#isInstance - やさしいデスマーチ
    Kshi_Kshi
    Kshi_Kshi 2013/04/12
    instanceof
  • Javaの道:JavaBeans(3.Servlet、JSP、JavaBeansの連携)

    ServletとJavaBeansの連携 JSPとJavaBeansの連携方法については、前ページで解説しましたため、ここではServletとJavaBeansの連携方法について解説します。 ServletもJavaBeansもJavaプログラムであるため、連携方法は他のJavaプログラムの連携と変わりません。Servletの中で、JavaBeansのオブジェクトを生成し、オブジェクトを通してJavaBeansのメソッドを呼び出すことで行います。他のJavaプログラムとの違いはWebアプリケーションのスコープを意識する必要があることです。スコープを意識することで、Servlet、JSP、JavaBeans間で連携が図れます。 Servletでスコープを意識したデータ管理を行うには、各スコープのsetAttributeメソッドや、getAttributeメソッドを使用します。それらのメソッド

    Javaの道:JavaBeans(3.Servlet、JSP、JavaBeansの連携)
  • Javaの道:JSP(6.暗黙オブジェクト(request))

    メソッド 暗黙オブジェクトrequestは、javax.servlet.http.HttpServletRequestインタフェースのオブジェクト変数です。クライアントから送信されるパラメータデータ、ヘッダー情報、Cookieを取得する際に使用します。以下にrequestオブジェクトで使用できる主なメソッドを紹介します。

    Javaの道:JSP(6.暗黙オブジェクト(request))