ペアプログラミングは、JavaWebを達成します

ヒント:

https://shihuan.site/OnlinePaper/jsp/

これはテスト用URLのすべての機能の最後の実現である、我々は着陸のテストを歓迎しますが、原因登録メッセージの数が限られ、そのテストのためのテストアカウント

アカウント:Zhiwang

パスワード:123456Aa

 インタフェースディスプレイ:

 

 

 

環境の選択:学期選択科目のJavaEEコースとして、私たちのチーム選択したプロジェクトはまた、Webプロジェクトを使用する必要がありながら、コースのカリキュラムのデザインの多くは、ウェブサイトのデザインである必要があり、私はこのペアプログラミング、プロジェクト開発のための開発環境としてのJavaを選択した一方、しかし、テストのJavaEE学習の効果を検討し

 

フロントエンド:HTML + CSS +ブートストラップ

主にブートストラップフロントエンド設計を使用して

バックエンド:サーブレット+ Tomcatの+ JavaBeanの+ JDBC +アヤックス

気持ちが今回のプロジェクトは練習コースJavaEEのあったことです

 

 

私は主に、登録ページを着陸に関与し、設計内容の回答話題演算部を作成しました。

着陸一部:

 

コンフィギュレーション・ファイルをロードし、JDBCデータベース、データベース接続プールアリDurid接続を使用します

 

パッケージJDBCUtils; 

インポートcom.alibaba.druid.pool.DruidDataSourceFactory; 

インポートするjavax.sql.DataSource;
 インポートにjava.io.IOException;
 インポートするjava.io.InputStream;
 インポートのjava.sql.Connection;
 インポートます。java.sql.SQLException;
 インポートjava.util.Propertiesは; 

/ ** 
 *ツールは、JDBC接続プールDurid使用
 * / 
パブリック クラスJDBCUtils { 

    プライベート 静的; DataSourceのDS 

    静的{ 

        試み{
             // 1.負荷プロファイル 
            のプロパティプロ= 新しい新しいプロパティ();
            // 使用のClassLoaderの負荷プロファイルは、バイトの入力ストリームを取得 
            するInputStreamが= JDBCUtilsである。クラス .getClassLoader()getResourceAsStream( "druid.properties。" ); 
            Pro.load(IS); 

            // 2.接続プールオブジェクトの初期化 
            DSを= DruidDataSourceFactory.createDataSource(PRO); 

        } キャッチ(IOExceptionをE){ 
            e.printStackTrace(); 
        } キャッチ(例外E){ 
            e.printStackTrace(); 
        } 
    } 

    / ** 
     *取得し、接続プールオブジェクト
     * / 
    パブリック 静的データソースをgetDataSource( ){
         戻りDSを; 
    }


    / ** 
     *获取连接接続对象
     * / 
    パブリック 静的接続のgetConnection()スローのSQLExceptionは、{
         戻る  )(ds.getConnectionします。
    } 
}
コードの表示

 

 

 

クラスは、ユーザーの口座番号とパスワードと、対応するgetおよびsetメソッドメソッドが含まれています

 

パッケージのユーザー。

パブリック クラスユーザー{
     プライベート  int型のID。
    プライベート  文字列のユーザ名。
    プライベート  文字列のパスワード。


    公共 ボイド SETID(int型のID){
         この .ID = ID。
    } 

    公共 ボイドsetUsername(文字列名){
         この .username = ユーザ名; 
    } 

    公共 ボイドするsetPassword(文字列のパスワード){
         このみましょう。パスワード= パスワード。
    } 

    公共 INT のgetId(){
        戻り値のID。
    } 

    パブリック文字列getUsername(){
         戻りユーザ名; 
    } 

    パブリック文字列getPasswordに(){
         戻りパスワード。
    } 

    パブリックユーザ(文字列名、文字列のパスワード){
         この .username = ユーザ名;
        このみましょう。パスワード= パスワード; 
    } 

    @Override 
    パブリック文字列のtoString(){
         戻り "ユーザー{" + 
                "ID =" + ID + 
                "ユーザ名=" '+名+ '\'' + 
                "パスワード= '" +パスワード+'
                「}」
    } 
}
ユーザー

 

 

 

    パブリックユーザログイン(ユーザーloginUser){
         しようと{
             // 1.编写のSQL 
            文字列のSQL = "選択*ユーザーからどこ名=?とパスワード=?" ;
            // 2.调用問い合わせ方法の 
            ユーザのユーザ= template.queryForObject(SQL、新しい。BeanPropertyRowMapper <ユーザー>(ユーザークラス)、
                    loginUser.getUsername()、loginUser.getPassword()); 


            リターンユーザー; 
        } キャッチ(DataAccessException電子){ 
            e.printStackTrace(); // 记录日志
            リターン ヌル
        } 
    } 
}
コードの表示

 

 

クラスとBeanPropertyRowMapper SQL文のクエリで利用UserDaoテンプレート、クエリ結果とユーザークラスにパッケージを返します。

 

 

 アクションを提出するランディングページのフォームは、フォームがユーザーにrequest.GetParameter()アカウントのパスワードとパッケージングを介して取得する方法を提出しているとき、がloginservletに設定して、クエリをuserDao使用し、クエリが空の場合は間違っていることを証明、着陸に失敗しています。

それは確認コードを送っ除いて、原則として登録ページは、基本的に同じです。:ここではアリクラウドSendSMS機能は、SMS、特定のプロセスを送信、次のようにされています

ネイティブランダムコードを生成--------->ランダム符号----------->コードが格納されている携帯電話機能に送信されるパッケージ化ジャーaliyunを使用----------のセッション要求()>セッション格納されたユーザ入力すべき同一の、現在の登録フォームの提示、パッケージが登録されているユーザと同じアラインメントです。

 

 

 

これでは、フロントエンドの登録プロセスのアカウントのパスワードは検証に成功したならば、ユーザ体験の感覚を向上させ、サーバーの負担を軽減するためにフォームを送信し、JavaScriptの正規表現方法の妥当性確認によって検証されます。

 

 

 

 

プロジェクトの最も難しい部分は、ランダムに結果の答えをかける生成描かれた感じにする方法です。2人の前にコードのこの部分では、再修正を改善し、回答を算出する計算式を生成する容易にするために簡略化。最後に、使用して考えます

減らすために()スクリプト内のeval JavaScript関数は、ランダムに、最終的な答えを得るために、スクリプトの実行など方程式を描画しますので、私たちは直接計算に置き換えることができ三角方程式値、除算や平方根の式で取得する必要があり、仕事の難しさは、(複数の括弧があるので、非常に困難な場合には)我々は最終的な答えを計算し、簡素化する括弧で指定された式で表示できます。

 

 

私たちは、その上、このような被写体の歴史など、いくつかの追加機能を取得し、

 

 

 

 

 

経験と収穫:

  このプロジェクトは、実際にプロジェクト「を行って、学習」でした。JavaEEの技術が今必要とされていないが、必要な機能に基づいて関連コンテンツを学習困難に見えますが、学習の過程では、実際にまたはいくつかの問題がありました。また、基盤を築くために、プロジェクトの背後にあるチームとして、お互いに、ネットワークアクセスから学びながら、ペアプログラミングプロセス。

 

おすすめ

転載: www.cnblogs.com/wangzhiwang/p/11601045.html