登録のサーブレットの実装

1、サーブレットは、登録のアイデアを実現します:

 

 

 2、エンジニアリング構造

 

 

 

 

 3、達成するための機能:

(1)HTMLは、データの収集を有効にします。

<ボディBGCOLOR = " アクア" > 
<センター> 
    <H3>注册</ H3> 
    <フォームアクション= " / Register_servlet_war_exploded /登録"メソッド= " ポスト" > 
      用户名:の<input type = " テキスト"の名前は= " アカウント"サイズ= " 12 " > <BR> <BR> 
        密码:の<input type = " パスワード"名前= " パスワード"サイズ= "12 " > 
        の<input type =" 提出"値= " 注册" > 
        の<input type = " リセット"値= " 取消" > 
    </ FORM> 
</センター> 
</ BODY>

(2)サーブレット:データフォームの送信を取得し、地図のセットにそれらをカプセル化する(符号量を低減することができます)

パブリック クラスServletRegisterはjavax.servlet.http.HttpServlet {延び
     保護 ボイドのdoPost(するjavax.servlet.http.HttpServletRequest要求、javax.servlet.http.HttpServletResponseの応答)がjavax.servlet.ServletExceptionは、IOException {スロー
        request.setCharacterEncoding(" UTF-を8 " ); 
        地図 <文字列、文字列[]>プロパティ= request.getParameterMap()。// 将表单中的数据封装到地図の中の 
        ログインログ= 新しいログイン();
        試す{ 
            BeanUtils.populate(ログ、プロパティ)。
        } キャッチ(IllegalAccessExceptionが|InvocationTargetException電子){ 
            e.printStackTrace(); 
        } 
        試みる{ 
            レジスト(ログ)。
        } キャッチ(のSQLException E){ 
            e.printStackTrace(); 
        } 
        response.sendRedirect(request.getContextPath() + " /log.html ")。// 重定向
    }
     公共 ボイドレジスト(ログインログ)のSQLException {スロー// 数据库 
        接続CON = ヌル試す{ 
            CON = C3p0Utils.getConnection()。 
            QueryRunner QR =新しいQueryRunner(); 
            文字列のSQLが = " ログイン値に挿入(?、?)" ; 
            []オブジェクトの挿入 = {log.getAccount()、log.getPassword()}。
            qr.update(CON、SQL、挿入)。
        } 
        キャッチ(のSQLException E){
             スロー 新規のRuntimeException(e)を、
        } 
    }

4、提出ゴミ問題をGETとPOST:

(1)ポスト提出:

request.setCharacterEncoding(" UTF-8 ");

サーバコードの直接形式数が多いです。

(2)提出されます:

request.setCharacterEncoding(「UTF-8」)を使用して、この方法は、中国の歪みの問題を解決することはできません。エンコード形式は、下から変更する必要があります。

名前= 新しい文字列(名前、GetBytesメソッド(" ISO-8859-1 ")、" UTF-8 ");

 リクエストボディに提出したPOSTリクエストは、符号化歪みを設定することで解決することができます。、符号化方式を提供することにより、要求行に提出されたデータを取得することは認められません。

 

おすすめ

転載: www.cnblogs.com/zhai1997/p/11610207.html