0。前に書きます
フレンドリーなヒント:ダウンロードアドレスは以下にあります。
プロジェクトは基本的に完了しました。この要約により、私はこのプロジェクトに関連する30のブログを書きました。ブログを書くプロセスは、アイデアを固めるプロセスです。それは自分自身にとって非常に便利であり、他の人を助けることもできます。ちなみに、学習の過程には間違いなく多くの例外があります。最初にする必要があることは、この例外を見つけることです。一般に、1つ以上の原因:xxxの後に例外が続きます。これらは例外の原因です。一般的に、私たちは底部によって引き起こされるものを探します。これは多くの場合、問題の根本です。自分で解決できない場合は、GoogleまたはBaiduで検索できます(検索時に多くの異常を投稿しないでください。重要な部分に注意してください!)。一般的に、私たちが遭遇した問題の99.9%は、前任者によって遭遇しており、基本的にすべてを解決できます。私は基本的に、解決できない問題に遭遇したときにこれを行います。私がそれらをもっと自分で解決したら、私はそれを感じます〜最後に、私のブログを読むとき、誰もが何かを得ることを願っています!
ナンセンスは言いません。以下のこのオンラインモールのプロジェクトを要約しましょう。すべてをカバーするわけではありません。主に要約するためにいくつかのモジュールに分割されています。これには、どのテクノロジーが使用されているかなどが含まれます。記事の特定の詳細へのクイックリンクを添付します。特定の記事を確認できます。
このプロジェクトを思い出して、これらのメインモジュールに分けることができます。
---プロジェクト環境の構築
---バックエンド管理システムを構築します
---フロントデスクディスプレイページを構築します
---ショッピングカート関連の機能
---オンライン支払い機能
---電子メールとテキストメッセージを送信します
---ドメイン名アプリケーションとプロジェクトの展開
---フォーム検証とレポート表示
以下は、各モジュールの特定の分析です。
1。プロジェクト環境の建設
これはすべてのプロジェクトに不可欠なリンクであり、多くの乱雑な問題があります。私が最初にSSHを学び始めたとき、私はあまり熟練していなかったので、環境を構築するのに常に苦労していましたが、それを「リズミカルに」構築したかっただけです。つまり、環境プロジェクトを構築するには、段階的に少しずつ必要です。多くの人がそれにすべてのJARパッケージをインポートし、すべての構成ファイルを書き込み、他の場所から貼り付けてから実行してから吊るしてから、さまざまな問題を見つけます。なぜわざわざ?このようにして、たとえあなたがそれを10回構築したとしても、あなたはそれを簡単に行うことができません。一口でご飯を食べなければならず、段階的に歩く必要があります。
SSH環境構築のために私が個人的に従うプロセスは次のとおりです。
スプリング> hibernate> spring Integration hibernate> struts2> spring Integration struts2
各ステップの後、テストテストを書きます。これは非常に重要です。段階的に行くと、間違いを犯した場合、どこに問題を見つけるかがわかります。最も重要なことは、このプロセスに習熟した場合、次回は環境を簡単に入手できることです。 SSH環境構築の詳細については、次の記事をご覧ください。
struts2、hibernate4.3、spring4.2を統合します
基本的な追加、削除、検索と修正、サービスとアクションの抽出、XMLの注釈を置き換える
2。バックエンド管理システムを構築します
EasyUIを使用して、バックエンド管理システムを構築しています。正直に言うと、私はEasyuiを少しだけ理解しています。フロントエンドのことについてはあまり知りませんが、少し理解しています。また、それらを使用するときにすべてチェックしました。私はそれらを体系的に学んでいないので、私は良い知識システムを持っていませんが、それはプレイに影響しません。プログラマーは、彼らがテクノロジーを演奏していると言いたいと思っており、非常にハイエンドに聞こえます。私は徐々に影響を受けました、そして私はそれを言いたいですが、私は本当にフロントエンドで遊んでいます...
jQuery easyuiは、JQueryに基づいたUIプラグインのコレクションであり、JQuery EasyUiの目標は、Web開発者が機能が豊富で美しく豊富なUIインターフェイスを作成できるようにすることです。開発者は、複雑なJavaScriptを作成する必要はなく、CSSスタイルを詳細に理解する必要もありません。すべての開発者は、いくつかの簡単なHTMLタグです。
EasyUIリクエストはすべてAJAXリクエストであり、新しいページが表示されません。これらはすべてタブタブにあります。バックエンド管理システムは、主に製品カテゴリ管理、製品管理、販売管理の3つの部分に分かれています。販売管理は最後です。
2.1製品カテゴリ管理
このパートには、主に、EasyUI環境と背景フレームワークの構築、データベースのクエリとページョン、Datagrid Data Display、Struts2 Integration JSON、および製品カテゴリの追加、削除、更新、検索が含まれます。これは、このセクションの一連の完了にも従います。
Datagridはテーブルの形でデータを表示し、開発者はそれを操作するために特定の知識を持つ必要はありません。それは良いヘルプ文書を持っており、より詳細です。このプロジェクトでは、Datagridを作成するいくつかの方法も導入し、Datagridのプロパティの一部を簡単に導入しました。それは始まりです。私も入門ツールです。さらに開発することによってのみ、このテクノロジーを習得できます。
カテゴリの追加、削除、更新、および検索関数は、主にEasyUIに付属する検証関数を使用します。製品カテゴリを追加するときは、入力ボックスの入力が正しいかどうか、必要かなどを確認します。特定の行またはいくつかの行が最初に選択されるかどうかを削除するときに最初に選択されます。更新するとき、一度に1つの行を更新できるという1行のみを更新できます。これらはすべてAjaxリクエストです。
この部分の詳細については、すでに分類しています。これらの記事を参照してください。
EasyUIを使用して、バックエンドページフレームワークを構築します。 Cascadingクエリとデータベースのページネーションを実装するEasyUIメニュー。 Datagridデータ表示関数Struts2とJSON統合Datagridクエリを実装および削除関数Datagridを削除して、追加および更新する機能を実装して追加および更新機能を実装する
ここに私が遭遇した問題は次のとおりです。
struts2およびjson統合のゆっくりと読み込みの例外の問題hibernate4 execution save()またはupdate()は無効です
2.2製品管理
製品管理には、カテゴリ管理と同じ追加や削除などの操作も含まれます。製品を追加し、製品の写真をアップロードする必要があるものが1つあります。これには、ファイルアップロードを実装するStruts2の機能が含まれます。アップロードされたファイルを保存するためにサーバー側にフォルダーを構築し、ファイルを受信するモデルを記述する必要があります。ファイルのアップロードについては、具体的にツールクラスを作成する必要があります。これがプロジェクトの開発方法です。コードの文が1つしかない場合でも、一般的なコードを抽出する必要があります。抽出する必要があります!これは習慣であり、しなければなりません。具体的な詳細については、以下にリストされている記事を参照してください。
製品カテゴリの基本モジュールが構築され、クエリと削除製品機能が実装されています。製品関数の実装が実装されています。ファイルアップロード関数の実装が実装されています。
3.フロントデスクディスプレイページを作成します
もちろん、フロントエンドページは私によって設計されていませんでした。リスナーがホームページデータを取得し、タイマーがホームページデータを同期し、人気製品のハイバーネートレベル2キャッシュ処理キャッシュを取得するなど、フロントエンドディスプレイに関連するバックエンドテクノロジーを要約しました。
サーブレットを学んでいたとき、これがホームページの表示データをやった方法です。フレームを使用して、右側にデータを表示しました。次に、index.jspの正しい部分のサーブレットにジャンプしてから、サーブレットに行き、データベースからすべての製品を取り出し、リクエストフィールドに入れて、新しいJSPページを表示しました。これは達成できますが、非常に愚かです。ここでは、リスナーを使用してこれを行いました。最初に、リスナーを自分で定義し、プロジェクトが開始されたら、データベース内のすべての製品情報を取り出し、アプリケーションドメインに入れてから、EL式を直接使用してホームページのアプリケーションドメインから取得しました。
別の問題があります。管理システムに新しい製品を追加するとき、Tomcatを再起動してアプリケーションドメインに新しい製品を追加する必要があります。初めて取り出した後、アプリケーションドメインにあったため、死ぬと決心しています。新しく追加された後は、アプリケーションドメインにはありません。この問題を解決するために、タイマーを使用してホームページデータを同期させました。したがって、前に書いたリスナーを書き直し、リスナーにタイマーを設定し、データベース内の製品のデータをタイマータスクに取得し、初めて6時間ごとに実行してから実行することができます(自分で時間を設定できます)。つまり、データベースの製品を6時間ごとに保存します。これは、CSDNの個人的なブログのホームページのように、一般的なWebサイトが行うことです。ランキングは毎日更新され、おそらく午後10時頃、特定の時間を忘れていました。その時点で、更新によりデータの更新が表示され、サーバーの圧力も低下します。
このセクションの特定の技術的な詳細については、次の記事を参照してください。
リスナーを使用して、ホームページにデータを表示します。スプリング構成ファイルスレッドを取得する方法、タイマータイミング同期ホームページデータ冬眠セカンダリキャッシュ処理ホームページ人気ディスプレイ
4。ショッピングカート関連の機能
ショッピングカートに関与する主なテクノロジーには、ショッピングカートとショッピングアイテムのロジックのバックグラウンド処理、フィルター判断ログイン、データベースへのカスケード注文、およびページキャッシングが含まれます。
ショッピングカートの場合、主にバックエンドにいくつかの実装ロジックが含まれています。ショッピングカートにはショッピングアイテムがあります。それはどういう意味ですか? Tmallで物を購入すると、ショッピングカートにさまざまな製品を入れることができ、ショッピングカートには多くの製品があり、各製品に複数の数量があることがわかります。各製品とその関連情報はショッピングアイテムです。したがって、ショッピングカートを追加するときは、最初にショッピングアイテムを完成させてから、このショッピングアイテムをショッピングカートに追加する必要があります。
ユーザーが解決したい場合、最初にユーザーがログインしたかどうかを判断する必要があります。これは、特定のタイプのURLを具体的にフィルターし、フィルターの現在のセッションにユーザーオブジェクトがあるかどうかを判断するフィルターテクノロジーを使用します。ログインがログインしていることを示している場合は、直接リリースするだけです。そうでない場合は、ログインページにジャンプして、ユーザーをログインします。ログインした後、ユーザーが元々望んでいたページにジャンプします。ドアを見ているドアマンのようなものです〜
今述べたように、注文情報にはショッピングカートとショッピングアイテムが含まれています。注文を入力するときは、彼らのカスケードの問題を考慮する必要があります。 2つのポジョーに対応する注釈属性を設定できます。ただし、前提条件があります。たとえば、外部キー相関がある場合、対応するPojoの外部キー部分のフィールドに、Pojoに入る前に適切な値を割り当てる必要があります。たとえば、注文はラインアイテムに追加する必要があり、ラインアイテムの注文属性には、冬眠に引き渡す前に適切な値を割り当てる必要があります。 Hibernateは、構成された注釈(またはXMLファイル)に従ってライブラリにカスケードします。
ページキャッシングの問題とは、ユーザーが注文を確認したときに、クリックすると注文確認ページに戻ります。注文確認ページが再び発表され、セッションはまだそこにあり、情報は今でも情報です。これは明らかに私たちが望む結果ではありません。フロントデスクとバックエンドで同時に処理する必要があります。
このセクションの特定の技術的な詳細については、次の記事を参照してください。
ショッピングカートフィルターの基本的な機能の実装ログイン機能を実現するためのカスケードストレージとページのキャッシュ問題の問題を決定する
5。オンライン支払い機能
このパートでは、主にYibao Payment Interfaceに関するいくつかのことを紹介しています。実際、オンライン支払い機能は、第三者ごとに異なります。主な目的は、オンライン支払い機能開発のプロセスを理解することです。特定の技術的詳細は、特定の第三者が提供する情報に依存します。ただし、一般的なプロセスは次のとおりです。サードパーティのインターフェイスを呼び出す>バンクインターフェイスの呼び出し>支払いの完了>第三者が指定したページに戻ってジャンプします。
この部分には、重要な技術も含まれています。これは、Struts2が複数のモデル要求を処理する方法です。一般に、Struts2はModEdriven <model>を実装した後、動作中のモデルを使用できますが、2つのモデルがある場合はどうなりますか? Struts2にはParameterSawareと呼ばれる別のインターフェイスがあります。このインターフェイスが実装され、パラメーターを保存するマップが定義されている限り、リクエストリクエストのすべてのパラメーターを受信できます。さまざまなパラメーターに基づいて使用するモデルを判断できます。この方法は、Struts2の複数のモデル要求を処理する問題を解決できます。
このセクションの技術的な詳細については、次のブログ投稿を参照してください。
オンライン支払いプラットフォームの紹介、Yibao支払いプロセスのデモ
オンライン支払い関数のロジックを完了するために銀行のアイコンと支払いページの表示を取得するStruts2の複数のモデル要求を処理する方法
6.電子メールとSMSは機能を送信します
電子メールの送信とテキストメッセージの送信は比較的簡単です。どちらも固定されたAPIであり、それらを使用する方法を知っているだけです。それらを確認するだけで、私もそれらを覚えていません。電子メールの送信機能は、mail.jarパッケージをインポートし、プロセスに従ってメールを送信する必要があります。 SMS関数は、最初にSMS送信機能に適用する必要があります。アプリケーションが完了した後、サードパーティはいくつかのAPIインターフェイスを提供します。参照する限り、SMS送信機能を開発できます。支払い機能に多少似ており、すべてサードパーティのプラットフォームに依存しています。
この部分には技術的な困難はありません。主にプロセス、関連記事は次のとおりです。
Javaメールをユーザーに使用して、成功した注文の支払いが完了した後にSMS機能を送信します
7。ドメイン名のアプリケーションとプロジェクトの展開とリリース
このセクションでは、主に無料のドメイン名スペースを申請する方法を紹介します(15日間のみ無料〜がありますが、学習のために十分です〜)。それらのすべてが無料ではありませんが、主にこのプロセスを把握する必要があります。自分でそれを通過する方が良いです。必ずしも完全なプロジェクトをアップロードする必要はありません。 JSPページまたはHTMLの静的ページでは問題ありません。
プロジェクトを展開および公開する主な方法は2つあります。1つはFTPを使用してアップロードすることですが、これは遅く、データを失う可能性があります。個人的な経験は、少しずつ発行することです。別の方法は、ドメイン名スペースを申請して展開環境を提供することです。プロジェクトを戦争パッケージとしてエクスポートしてから、戦争パッケージを展開するだけです。
一部のパスの変更、データの変更など、プロジェクトの展開前に注意を払う詳細がたくさんあります。これらの詳細については、私のブログで詳しく説明しています。このセクションには、次のように1つの記事が含まれています。
ドメイン名のスペースとプロジェクトの展開とリリースのアプリケーション
8。フォーム検証とレポート表示
後で追加されるものもあります。これは、Ajaxがショッピングカート内の製品の量、フォームの検証、レポートの表示を動的に更新します。
ショッピングカートダイナミックアップデートの製品の数は、純粋なAJAXテクノロジーです。私はちょうどそれを学びました。フォームの検証は、主にログインフォームです。このプロジェクトではログインしませんでしたが、ログインフォームを作成し、検証機能も完了しました。主な用途は、jQueryの検証検証プラグインです。このプラグインはまだ非常に強力です。ログインフォームをプロジェクトに直接追加して、対応するジャンプを設定できます。 レポートの表示にJSChartの主な使用はJSChartです。このツールは非常に便利で、応答JSコードを生成できます。必要なのは、AJAXリクエストをバックエンドに送信し、実際のニーズに応じてバックエンドからデータを取得し、JSChartチャートで表示するためにフロントエンドに渡すことです。
以下のこのセクションのブログ投稿をリストします。
AJAXテクノロジーを使用して、製品の量と総価格を部分的に更新して、jschartテクノロジーを使用してバックグラウンドに製品販売レポートを表示するためにjquery-validate Verificationプラグイン
これは、多くのことを書いたオンラインモールプロジェクトです。 CSDNダウンロードチャネルのソースコードは、私のブログと同期されています。必要な場合は、CSDNにアップロードしたソースコードをダウンロードできます(無料〜すべてのリソースは無料です)。後で改善し続けたい場合は、githubに入れます。誰もが私のgithubをフォローすることも歓迎します(ただし、平均〜)スタープロジェクトがアップロードされました〜以下は特定のダウンロードアドレスです。
アドレスをダウンロード(ブログコンテンツと同期)
GitHubダウンロードアドレス(後で更新がある場合、こちらに配置されます)
元のアドレス:http://blog.csdn.net/eson_15/details/51479994#download
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。