JSPベースのフィットネスクラブ会員管理システムの設計と実装(論文+PPT+ソースコード)

= 分類番号_______________ 分類_______________

UDC _______________ 学生番号_ ___

卒業設計(論文)

エッセイのテーマ JSPに基づくフィットネスクラブの会員管理システムの設計と導入
論文のテーマ JSPをベースとしたフィットネスクラブ会員管理システムの設計・導入

卒業設計(論文)課題文

ページ1

卒業課題(論文)テーマ:JSPに基づくフィットネスクラブ会員管理システムの設計と実装 卒業課題(論文)要件と元データ(資料): 1.国内外のフィットネスクラブ会員の管理基盤の現状を要約する;2.クラブ会員管理の基本的なプロセスと関連事項を深く理解する 3.jsp テクノロジ、JDBC テクノロジの習熟、jsp を作成する能力のトレーニング、4. jspベースのフィットネスクラブ会員管理システムの設計と実現; 5.会員管理システムの関連ロジックの詳細な分析 6. 7. 文献情報を検索し活用する能力を訓練する。技術文書や論文を書く能力を訓練します。卒業制作(論文)主な内容: 1.今日の人々の生活の質を向上させるためのフィットネスの重要性を要約する;2. jsp、JDBC、MVC関連技術を理解する; 3. 会員管理システムの開発環境に精通している; 4.メンバー管理の関連ロジックを設計し、さまざまなものの関連付けを確立する; 5. メンバー管理システムの機能の追加および削除の設計プロセスの詳細な分析; 6. jsp ベースのオンライン管理システムの作成に習熟していること、7. jspをベースとした会員管理システムのプログラムを設計・実現します。学生が提出する設計書(論文)は、 1.完全な内容、明確な階層、スムーズな物語、および標準的な組版を備えた卒業デザイン論文; 2. 卒業設計電子文書および卒業設計論文、ソースプログラムなどの関連資料
主な参考文献(データ): Bruce Eckel. JAVA プログラミングのアイデア [M]. Machinery Industry Press, 2003.1~78 Sun Yilin, Peng Bo 他 JSP データベース プログラミング例 [M]. 清華大学出版局, 2002.1~465Brown 等 JSP プログラミングGuide (Second Edition) [M]. Electronic Industry Press, 2003, 1~268 Sun Yong. Modern Software Engineering [M]. 北京希望電子出版社、2003, 1~246 Jiang Cuixia. Database System Foundation [M]. 大学of Aeronautics and Astronautics Press, 2009.51~208Flangan. JAVA Technical Manual[M]. China Electric Power Press, 2002.23~294 LeeAnnePhilips. Skillful Learning and using JSP[M]. Electronic Industry Press, 2004.1~319Sa Shixuan, Wang Shan. Introduction toデータベース システム [M]. Higher Education Press, 2002.3~460 Li Shuguang. JSP 開発例の完全分析 [M]. Electronic Industry Press, 2006.23~400 [US] Walter Savitch. Absolute Java[M]. Electronic Industry Press . 2005Kong Michael. 安全な SQL/サーバー コンピューティングのための環境 [M].Oxford University Press Inc., 1993: 149 W.Clay, Richardson, Donald, Avondolio. Java 高級クラスは距離を織ります: JDK 5[J]. 科学と技術Book Review、No.3、2006: 17-18Sanden、Bo. JSP を使用したシステム プログラミング: 例 - VDUCONTROLLER[C]. ACM の通信、Vol28、No10、1985: 1059-1067Tsui、Frank F.JSP EM DASH A RESEARCH SIGNAL PROCESSOR IN JOSEPHSON TECHNOLOGY[C]. IBM Journal of Research and Development, Vol24, No2, 1980: 243-252 プロフェッショナルクラスの学生が設計(論文)を要求 作業の開始日と終了日 指導教員の署名日 教育と研究課長審査署名日 部会長承認署名日

JSPに基づくフィットネスクラブの会員管理システムの設計と導入

まとめ

現在、我が国ではコンピュータ操作によるフィットネスクラブの管理システムが整備されているものの、管理ソフトや管理手法、経営理念が乖離している部分が多い。我が国のフィットネスクラブの情報管理システムの極度化を引き起こした欠陥。海外のフィットネスクラブでは、すでに人材育成・マネジメント、マーケティング、広告制作・出稿計画、フィットネス事業計画など、一通りのマネジメントシステムが整備されており、より包括的かつ具体的かつ強力なクラブマネジメントシステムが整備されていることが分かります。それを活用して大きな利益をもたらしましょう。

情報管理システムの設計と導入は、クラブの顧客および従業員の管理の実際の状況に応じて設計される必要があります。クラブ内の顧客、従業員、フィットネス機器の一元管理がより容易になります。この情報管理システムの機能は、ログインパスワードの変更、スタッフ管理、会員証種別管理、会員情報管理、フィットネス機器管理、コーチ指導管理、システムからの安全な終了などです。

このシステムの開発は、フィットネスクラブの自動管理ニーズに適しており、実際のニーズを検討した結果、開発の基本ツールとして JSP と MySQL データベース管理システムを採用しました。スウェーデンのMySQL AB社が開発したB/S 3層構造モデルとMySQLデータベースを設計初期段階で利用。まずデータベースシステムの構築が完了し、設計上のデータが入力され、次にデータベースと開発環境ソフトウェア、運用環境ソフトウェアの接続が完了し、最終的にシステムの運用が完了します。気がついた。JSPはJava言語の「一度書けばどこでも実行できる」という特徴を持っており、JSPをベースとしたクラブ管理システムは、あらゆるプラットフォームに容易に移植して運用することができます。したがって、JSP を使用して開発することは完全に可能です。

キーワード: フィットネスセンター、JSP、B/S 構造

JSPをベースとしたフィットネスクラブ会員管理システムの設計・導入

概要

我が国はコンピュータ操作を活用したフィットネスクラブ管理システムを開発しましたが、管理ソフトウェア、管理方法、三段階の考え方がバラバラであることが多いです。エクストリームフィットネスクラブ情報管理システムの不具合の原因。ある海外のフィットネスクラブでは、人材育成・管理、マーケティング、広告計画などに進出し、健康プロジェクト計画管理システムを立ち上げています。このように海外では、より具体的かつ包括的な管理システムが導入され、強力なクラブが活用され、その恩恵は計り知れない。

クラブ経営から顧客、従業員の実情に応じた情報管理システムの設計・導入。クラブの顧客、従業員、フィットネス施設を一元的に管理しやすくするため。情報管理システムには、ログインパスワードの変更、会員種別管理、スタッフ管理、会員情報管理、フィットネス機器管理、コーチング管理、安全な退会などの機能が含まれています。

このシステムは、基本的なツール開発を使用するシステムとして、実際の議論と MySQL データベース管理システムの需要の後、自動化された管理ニーズやフィットネス クラブの開発に適しています。スウェーデンの MySQL AB の B/S 3 層構造モデルを使用し、MySQL データベースと設計の初期段階で開発されました。まず、完全なデータベース システムを構築し、設計にデータを入力します。次に、完成したデータベース ソフトウェア開発環境とランタイム環境ソフトウェア インターフェイス、そして最終的にはシステムの操作です。JSPはJava言語を採用しており、「一度書けばどこでも実行できる」という特徴があり、このクラブ管理システムで作られたJSPをベースに、任意のプラットフォームに簡単に移行して実行することができます。

キーワード: フィットネスセンター、JSP、B/S構造

目次

まとめⅠ

要約 II

第 1 章 はじめに 1

1.1 主題の背景 1

1.2 課題研究の目的と意義2

1.3 トピック3の発展見通しと動向

1.4 主題の内容の簡単な紹介 4

1.5 開発ツール 4

1.5.1 MyEclipse5

1.5.2 Tomcat5

1.5.3 MySQL5

1.5.4 JSP6

1.5.5 JavaScript6

1.6 ソフトウェアとハ​​ードウェアの要件 7

第 II 章 需要分析 8

2.1 需要調査 8

2.2 実現可能性分析 8

2.2.1 技術的な実現可能性 8

2.2.1.1 JSP テクノロジー 8

2.2.1.2 MyEclipse Enterprise Workbench 8.59

2.2.1.3 SQLServer20059

2.2.1.4 JDBC テクノロジー 9

2.2.1.5 B/S モード 12

2.2.2 運用の実現可能性 13

2.2.3 社会的実現可能性14

2.2.4 実現可能性の概要 14

2.3 機能モジュールの要件分析 14

2.4 インターフェース要件 14

第 3 章 システムの分析と設計 15

3.1 データベースの分析と設計 16

3.1.1 データベースの概念的な構造設計 16

3.1.2 データベースの論理構造設計 18

3.1.3 データベース接続の原理 21

3.2 中国語文字化け問題の処理 22

第4章 システム機能の実現 23

4.1 システムログインページの実現 24

4.2 管理者機能モジュール 26

4.2.1 スタッフ管理 26

4.2.2 会員データ管理 28

4.2.3 健康機器の管理 30

4.2.4 コーチング管理 33

4.2.6 パスワードの変更 35

4.2.7 システムを終了する 36

第 5 章 システムテスト 36

5.1 テストのタスクと目的 37

5.1.1 テストのタスク 37

5.1.2 テストの目的 37

5.2 テストスキーム 37

5.3 テストプロセス 37

5.4 テストケース 38

5.4.1 メインページのログインモジュールテスト 38

5.4.2 観光客登録試験 38

5.5 その他のエラー 41

5.6 まとめ 41

結論 42

参考資料43

ありがとう44

付録: 英語技術データ翻訳 45

英文原文46

中国語翻訳 53

第 1 章 はじめに

コンピュータ科学技術の急速な発展に伴い、マイコン技術は人々の生活や仕事の隅々に関わり、その高性能・高効率なコンピュータソフトウェアは他の産業にも技術の更新や技術革新をもたらしてきました。推進する役割。

フィットネス 体力、柔軟性、持久力、調整能力、体のさまざまな部分を制御する能力を高めることによって体を強化する身体活動、特に素手または器具を使用した体操。今日の社会では、多くの人が長期間にわたって強い環境圧力にさらされています。例えば、大学受験、接待、企業経営、対人コミュニケーション、就職競争などの社会活動に直面すること。したがって、運動する時間があまりなく、亜健康状態に入ります。フィットネスクラブの出現により、人々は短時間で計画的かつ専門的に運動することができ、健康を維持することができます。フィットネスクラブの発展は人々のニーズに合わせて行われるため、クラブの運営にも役立つ情報管理システムが必要であり、クラブの発展によって人々は運動のために時間を有効に活用できるようになります。

今日の欧米諸国では、フィットネスはもはやファッションの追求ではなく、健康になるための手段となっています。それは徐々に人々の生活に入り込み、生活の必需品になりました。フィットネスをアクティビティとして受け入れ始める人も増えています。そしてフィットネスクラブはますます急速に発展しています。私の国では、クラブの数も質もヨーロッパやアメリカに比べてはるかに劣っています。経済が急速に発展する一方で、人々の生活水準も向上し続けており、フィットネスを通じた運動への意識がますます高まっています。それに費やされるコストと時間も増加しています。そのため、中国のフィットネス産業は活況を呈しており、北京には多くの有名クラブが誕生しています。

フィットネスクラブ情報管理システムを開発する目的は、フィットネスクラブの業務効率を向上させることです。クラブの顧客と従業員の管理の実情に応じて設計されていれば、クラブにとって顧客、従業員、フィットネス機器を一元管理する方が便利です。

主題の背景

中国のWTO加盟後、ますます多くの世界クラスの企業やグループが中国市場に参入し、経済発展が加速する一方で、地元企業やグループ企業には多くの課題ももたらしました。管理システムは新たな課題に適応できるようにするために、企業 LAN を使用して企業管理を標準化および科学化し、企業リソースを合理的に利用することが避けられない傾向になっています。企業管理システムの急速な発展により、伝統的な管理方法が変化し、我が国経済の持続的な発展と国民生活水準の向上に伴い、経営効率も向上し、人々が高い健康を追求する中で、健康は非常に懸念される問題となっています。 -質の高い生活です。科学的で効率的なフィットネス プログラムはますます消費者に好まれ、認知されており、さまざまなプロのフィットネス クラブの出現により、科学的で効率的なフィットネスを追求する人々に有利な条件が提供されています。

調査の結果、中国には大規模から小規模まで数万以上のフィットネスクラブがあり、比較的有名なフィットネスクラブとしては、Zhongti BailiやJade Birdなどがあり、海外の先進的なフィットネスクラブ経営経験から学び、インターネットを活用しています。などの高度なコンピューター技術により、当社のビジネスは、クラブを通じた顧客向けの単一プラットフォームから、家にいながらにして専門的なニュースガイダンスと科学的なフィットネス知識を享受できる顧客へと成長し、顧客にとって便利であり、同業界のリーダーとなっています。 . 、彼らの成功は科学的な管理だけでなく、コンピュータ ネットワークによってもたらされる利便性によるものでもあります。これはコンピュータ ソフトウェアとネットワーク技術を利用してビジネスの成功を拡大するモデルですが、国内のフィットネス クラブの多くがこの運営モードを採用しています? ?実際には、それほど多くはありません。ほとんどのフィットネス クラブの管理モードとビジネス コミュニケーションは、依然として伝統的で効率の低い雇用管理段階にあります。現代の管理のニーズにより、手動の管理モードではますます満足のいくものではなくなりました。顧客数は増加傾向にあり、手作業による処理方法では経営面、財務面での欠陥が避けられず、顧客やクラブに無用なトラブルをもたらすと同時に、クラブの運営管理にも問題をもたらす。その一方で、運営者は財務管理や会員管理などで「頭が痛い」ことも多く、クラブの事業規模が拡大し続けるにつれ、上記の問題はますます顕在化し、クラブの発展の障害となることは間違いありません。規模に関係なく、各フィットネスクラブが存続し、より良く発展するためには、会員管理、会員管理、商品管理、ニュース管理、プロジェクト管理、アクティビティ管理を改善するために、管理モードに高度な管理ソフトウェアシステムを導入する必要があります。そして、手作業では達成できない効果や価値を向上させます。

コンピュータがさまざまな業界で広く使われるようになった近年、フィットネスクラブの経営にコンピュータ管理を適用することもモデルとなっています。フィットネスクラブの運営 さらに、各主要セクション(自社、プロジェクト製品、活動)におけるより高度な経営コンセプトと管理手法を示す統合開発および運営会社 フィットネスは現代の経営にとって重要なツールであり、ジムはますます広範なアプリケーションを収容しています。

現時点では、フィットネスクラブのコンピューター管理レベルはまだ非常に低く、私もいくつかのフィットネスクラブを現地で訪問しましたが、コンピューターアプリケーションは初期段階にありますが、クラブはコンピューターソフトウェアを使用してビジネス、財務、活動を管理しています。多くの問題は間もなく避けられない傾向となり、フィットネス クラブやその他の関連企業の発展にとって不可欠なツールとなるでしょう。

課題研究の目的と意義

中国では2008年にオリンピックが成功裡に開催され、国民のフィットネス熱はますます高まっており、近年、全国各地でさまざまなレベルや種類のフィットネスクラブが発展を続けています。これは、中国のスポーツ制度の基本改革が徐々に深い方向に発展しつつあることを象徴しており、草の根のスポーツ団体は絶えず変化し、制度上の革新が絶えず生まれている。フィットネスクラブの継続的な台頭は、全国のあらゆる階層の人々から歓迎されています。社会の継続的な進歩、人々の繁栄、都市化の加速に伴い、ますます多くの土地占有が高層ビルに置き換えられ、環境の悪化と労働のペースの加速により、効率的で効率的な作業が行われています。科学的フィットネスクラブは消費者に徐々に支持されており、消費者に専門的なフィットネスサービスを提供するためには、専門的かつ科学的な管理を実行することがクラブの共通の目標であることが認識されています。オペレーターとして、市場認識を養い、業界とフィットネス業界を組み合わせ、独自の管理システムを確立し、ハードウェアで一定の高みに到達し、ソフトウェアで独自の管理モデルを確立する必要があります。効率的な管理と個別化されたサービスがあって初めて、業界は長期的に発展することができます。

人々の質が徐々に向上し、社会経済が継続的に発展する今日、ネットワーク技術は急速な発展期に入り、情報化の時代はあらゆる分野に新たな機会をもたらし続けています。コンピュータOAの普及により、企業の自動管理、顧客の自動管理が登場しましたが、これらはすべてコンピュータの発展による多大な貢献によるものであり、ネットワークの世界には数え切れないほどの活力が存在します。の、あなたなしで、未満。

コンピュータ・オフィス・オートメーションは、経営を従来のモデルから解放しましたが、機械としては非常にもったいないものであり、コンピュータ組合で構成されるインターネットは、経営の考え方やシステム全体を変えつつあります。彼は、ユニット管理の最も基本的な要件、つまり最も効率的な作業を行うために最小限のリソースを投資することを実現できます。コンピュータを導入し、自己管理の概念に従って、顧客情報管理をまったく新しい顧客データ管理および取引関係管理システムを構築するだけでなく、それを最前線に置き、以前のオフィスのほとんどを置き換える必要があります。このプログラムは、管理者の作業タスクを大幅に削減し、営業担当者の管理効率を向上させ、顧客の前でより優れた信頼性の高いビジネスイメージを提示し、顧客データをより迅速に収集およびカウントし、より迅速に顧客データを収集します。マネージャーに効果的にリファレンスを提供します。これらすべてが、このようなソフトウェアを開発し、運用を現代的かつ科学的にして Yuchang にするための良い条件を提供します。

北京オリンピック招致の成功により、人々のフィットネスへの意識は高まり続けています。物質と意識の二重の保証は、中国のフィットネス業界の発展がますます良くなる運命にあり、これが管理会社が存続し、発展するための基礎です。中国のフィットネス業界の発展状況は20年前の海外とほぼ同じで、国内のクラブの歴史はまだ4~5年であり、運営者も経営経験が豊富ではない。私たちは海外での成熟した経営経験を中国のフィットネス業界に貢献し、発展を促進するために活用するだけです。管理会社は海外の管理システムを導入しましたが、国情が異なるため、ビジネスモデルやデータをコピーすることはできず、その国のニーズに合わせて参考にしています。運営基準といっても、場所やクラブが違えば、それぞれの状況に応じて定められなければなりません。

現在、中国ではいくつかのフィットネスクラブ管理ソフトウェアが研究開発されており、代表的なものには、ベルフィットネスクラブ管理ソフトウェア、飛月フィットネスクラブ管理ソフトウェア、飛陽フィットネスクラブ管理ソフトウェアなどがあり、これらのソフトウェアの機能は比較的包括的です。 、顧客、運営者など、会員、その他の管理側面が関与することで、クラブの管理がより科学的、技術的、便利になります。現在、Zhongti BeiliやJade Birdなどの中国の有名な大規模フィットネスクラブは、C/Sモデルに基づいて比較的完全なネットワーク管理システムを確立しており、一般の人々ももたらされる利便性とスピードを享受できます。家から出ずにインターネットでプロのフィットネス指導とサービスを提供します。

さらに、情報技術の成熟と普及、フィットネス産業の継続的な発展と普及に伴い、海外との交流と協力は避けられない傾向になります。今後の課題はクラブのネットワーク運営の実現である。しかし、インターネット上で収集された情報から判断すると、現在、ソフトウェアのほとんどは PB や Delphi などによって開発されており、これらはクラブ内部の運営管理にのみ使用でき、インターネットという大きなプラットフォームからは切り離されています。自身のフィットネス状況やフィットネスクラブの関連情報を把握できる このような開発は顧客のニーズに反するものであった 顧客とフィットネスクラブのより良いコミュニケーションとインタラクションを可能にするために、C/Sモデルが使用されます動的なWebサイトの開発とデータベースの実現、動的なメンテナンスが開発の方向性となります。自社開発ソフトウェアの利点を活かし、実際のニーズを調査し、比較的充実した機能を備えたWebベースのネットワーク管理システムを開発します JSPは、ASPやPHP技術に次ぐ新しい動的Webサイト開発技術です。ASP技術とは異なります。セキュリティに劣るPHP技術と、拡張性に劣るPHP技術の利点を継承しつつ、XML技術にも対応し、機能をより強力にし、徐々に新興Webサイト開発に好まれる技術となりつつあります。 JSP を使用してこのソフトウェアを開発することは、この技術の開発動向に対応するものであり、私たちにとっての課題でもあります。

主題の開発の見通しと傾向

今回のテーマは、JSP技術を用いて開発したWEBベースのフィットネスクラブ管理システムですが、近年のインターネットの急速な発展に伴い、静的なWebページを提供する従来のWebサービスではインターネットユーザーのニーズに応えられなくなってきています。中でもJSPは、「Write Once, Run Anywhere(Write Once, Run Anywhere)」という特徴から、WEBアプリケーション開発で広く使われています。JSP テクノロジーをフィットネス クラブ管理システムの開発に適用すると、ネットワーク テクノロジーにおける JSP のパフォーマンスが最大限に発揮されます。調査研究によると、ほとんどのフィットネス クラブ管理ソフトウェアの主な問題は、フィットネス クラブ管理システムの開発が妨げられていることです。大多数から切り離されたフィットネスクラブの内部管理 顧客との関係が孤立し、その機能が限定される 大多数の顧客から切り離された管理体制は、今後の市場では役に立たない。これは、現在一般的に使用されているソフトウェア開発モード B/S、C/S モードとは対照的であり、さらに、JSP テクノロジは、高速な実行速度、低い難易度、優れたスケーラビリティとセキュリティ、および多くのデータベース サポートを備えた複数のオペレーティング プラットフォームをサポートできます。設計者、ユーザー、保守者に利便性を提供します。

現在の開発傾向における中心的な課題の 1 つは、フィットネス クラブ管理システムの開発であり、インターネットとの組み合わせにより、ビジネス情報交換の増加に応じて、管理の拡大によると、インターネット規模のフィットネス クラブ管理の需要が引き起こされます。ヘルスクラブとクラブの連携はさらに追求されます 異なる、より便利なデータ共有ポリシー、バイクを燃やす必要はありません これまではファイルや情報を共有する簡単な方法で満足していましたが、もうそうではありません? コアの主、データベース自身の健康を見てください、私はクライアントマシンシステムになります。インターネットシステム構造をサーバーモデルに変更する理由は、常にクラブ自体の進捗状況に基づいていますが、特に大規模なフィットネスクラブの場合、国際的な開発作業は地域を越えて取り組む必要があり、すでにいくつかの顧客を抱えている可能性もありますが、さらに、国際的なシステムとデータ伝送、情報共有、インターネットが国境を越えることができるようになると、ユーザーは突然多くのゲストをしっかりと保持する素晴らしい必然のクラブを楽しむことができ、激しい市場競争能力、インターネットネットワーク間の接続などを占有すると述べました。顧客とフィットネスクラブと顧客 優れた高速クエリ、分析、科学的管理手段の確立、フィットネスクラブの大規模なデータ管理とレポートのマルチレベルの要約を通じて顧客が提供するサービスワークとクラブ情報管理システムネットワーク。インターネットクラブ管理は、さまざまなサービスを提供するネットワーク管理が緊急に必要です。管理支援システムとインターネットネットワーク技術を組み合わせて有機的なネットワークを提供する方法について、統合クラブ管理システム内で時間管理を行う理由について、一連の問い合わせが報告されています。大きな挑戦の基礎。

主題の紹介

このプロジェクトで解決すべき課題は、フィットネスクラブ運営における一連の問題を、実用的なソフトウェアシステムを設計することによってどのように解決するかである。このプロジェクトは Windows オペレーティング システムに基づいており、バックグラウンド データベースは MySQL を使用し、フロント エンドは開発に JSP を使用します。

本プロジェクトで検討したフィットネスクラブ管理システムは主に、人事データモジュール、予約管理モジュール、設備管理モジュール、会員管理モジュール、システム管理モジュールの6つのモジュールで構成されています。本システムを動作させるには、まずログインインターフェース画面からユーザー権限認証画面に入り、ユーザー名とパスワードの認証を通過したユーザーはシステムのメイン画面に入り閲覧・操作が可能となります。

会員管理サブシステム:会員の個人情報の変更、会員の追加・削除、会員情報の照会、会員カードの管理など。

予約管理サブシステム: フィットネス予約情報の入力と削除を含みます。

人事データ管理サブシステム: 人事データの追加、削除、変更を含みます。

機器管理サブシステム:機器情報の入力、追加と削除、変更、製品情報の照会を含みます。

勤怠および給与管理サブシステム: 勤怠および給与情報の入力、追加、削除、変更が含まれます。

システム保守サブシステム: パスワードの変更、ユーザー名の変更、管理者の削除、管理者の追加の 4 つの機能モジュールが含まれます。

ユーザー管理モジュール: 管理者は、ユーザーの基本情報を追加、削除、照会し、ユーザー権限を設定します。

開発ツール

この設計では主に MyEclipse と Tomcat バックグラウンド サーバーを使用しており、ページは主に設計プロセス中に JSP テクノロジを使用して完成されます。次に、MyEclipse、Tomcat、および MySQL データベースについて簡単に説明します。

マイエクリプス

MyEclipse は、Java および J2EE を開発するための Eclipse プラグインの優れたコレクションであり、非常に強力な機能と、特にさまざまな Kaiyuan 製品に対する広範なサポートを備えています。MyEclipse Enterprise Workbench(MyEclipse Enterprise Workbench、以下MyEclipse)は、Eclipse IDEを拡張したもので、データベースやJavaEEの開発・リリース、アプリケーションサーバの統合などの作業効率を大幅に向上させることができます。これは、完全なコーディング、デバッグ、テスト、公開機能を含む機能豊富な JavaEE 統合開発環境であり、HTML、Struts、JSP、CSS、JavaScript、SQL、Hibernate を完全にサポートしています。

トムキャット

Tomcat は小型で軽量のアプリケーション サーバーです。中小規模のシステムや同時アクセス ユーザーがそれほど多くない場合に広く使用されており、JSP プログラムの開発とデバッグには最初の選択肢です。Apache サーバーをマシン上に構成すると、HTML ページへのアクセス要求に応答するために使用できると考えられます。Tomcat は実際には部分的に Apache サーバーの拡張機能ですが、独立して実行されるため、Tomcat を実行すると、実際には Apache とは別のプロセスとして実行されます。

MySQL

MySQL は、MySQL AB によって開発、配布、サポートされている最も人気のあるオープン ソース SQL データベース管理システムです。MySQL AB は、数人の MySQL 開発者によって設立された営利会社です。同社は、オープンソースの価値、方法論、成功したビジネス モデルを組み合わせた第 2 世代のオープンソース企業です。

データベースは構造化されたデータのコレクションであり、コンピュータは大量のデータを処理するための理想的なツールであるため、データベース管理システムは、スタンドアロン ユーティリティとして、または他のアプリケーションのコンポーネントとして、コンピューティングにおいて重要な中心的な役割を果たします。

MySQL Server には、ユーザーと緊密に協力して開発された便利な機能セットもあります。弊社のベンチマーク ホームページでは、MySQL Server と他のデータベース マネージャーを比較した結果が示されています。

MySQL Server はもともと、既存のソリューションよりも高速に大規模なデータベースを処理するために開発され、長年にわたって多くの要求の厳しい実稼働環境で使用されてきました。MySQL は常に進化していますが、MySQL Server は現在、豊富で便利な機能を提供しています。MySQL は優れた接続性、速度、セキュリティを備えているため、インターネット上のデータベースにアクセスするのに非常に適しています。

MySQL サーバーのすべてのリリースは使用可能であり、ユーザーが「グレーゾーン」のコードを試した場合にのみ問題が発生します。もちろん、新規ユーザーは「グレーゾーン」が何なのかを理解していません。そこで本項では、現在判明している地域を紹介します。このセクションの説明は MySQL Server バージョン 5.5 以降に焦点を当てています。最新バージョンでは、「欠陥」セクションにリストされている設計に関係のないものを除き、既知および報告されているすべての欠陥が修正されています。

JSP

JSP テクノロジは、Java プログラミング言語を使用して XML のようなタグとスクリプトレットを記述し、動的な Web ページを生成するための処理ロジックをカプセル化します。Web ページは、タグやスクリプトレットを通じてサーバー側に存在するリソースのアプリケーション ロジックにアクセスすることもできます。JSP は、Web ページのロジックを Web ページのデザインおよび表示から分離し、再利用可能なコンポーネントベースのデザインをサポートし、Web ベースのアプリケーションの開発を迅速かつ簡単にします。

Web サーバーは、JSP Web ページへのアクセス要求を受け取ると、まずプログラム セグメントを実行し、次に実行結果を JSP ファイル内の HTML コードとともにクライアントに返します。挿入されたJavaプログラムセグメントは、データベースを操作したり、ウェブページをリダイレクトしたりすることにより、動的ウェブページを構築するために必要な機能を実現することができる。JSP はサーブレットと同様にサーバー側で実行され、通常は HTML テキストとしてクライアントに返されるため、クライアントはブラウザーさえあれば参照できます。JSP ページは、HTML コードと、それに埋め込まれた Java コードで構成されます。サーバーは、クライアントによってページが要求された後、これらの Java コードを処理し、生成された HTML ページをクライアントのブラウザに返します。サーブレットは JSP の技術基盤であり、大規模な Web アプリケーションの開発を完了するには Java サーブレットと JSP の連携が必要です。JSP は、使いやすく、完全にオブジェクト指向で、プラットフォームに依存せず、安全で信頼性が高く、主にインターネット向けであるという Java テクノロジの特性をすべて備えています。JSP テクノロジーの利点:

(1) 一度書けば、どこでも実行できます。システムを除いて、コードは何も変更する必要はありません。

(2) システムのマルチプラットフォームサポート。基本的に、すべてのプラットフォーム上の任意の環境で開発し、任意の環境でシステムをデプロイし、任意の環境で拡張できます。ASP/.net と比較すると、制限があることは明らかです。

(3) 強力な拡張性。サーブレット/JSP を実行できる小さな Jar ファイルだけから、クラスタリングとロード バランシングのための複数のサーバー、トランザクション処理やメッセージ処理のための複数のアプリケーション、1 つのサーバーから無数のサーバーまで、Java は大きな活力を示します。

(4) 多様かつ強力な開発ツールのサポート。Java にはすでに優れた開発ツールが多数あり、その多くは無料で利用でき、その多くはすでに複数のプラットフォームでスムーズに動作します。

(5) サーバー側コンポーネントをサポートします。Web アプリケーションは強力なサーバー側コンポーネントによってサポートされる必要があり、開発者は他のツールを使用して、システム パフォーマンスを向上させるために Web ページが呼び出す複雑な機能を実装するコンポーネントを設計する必要があります。JSP は、成熟した JavaBeans コンポーネントを使用して、複雑なビジネス機能を実現できます。

内部オブジェクトの説明: リクエスト クライアント リクエスト。このリクエストには GET/POST リクエストからのパラメータが含まれます。レスポンス Web ページはクライアントにレスポンスを返します。pageContext Web ページの属性はここで管理されます。セッションはリクエストに関連するセッションです。アプリケーション サーブレットはコンテンツの実行、out は応答の出力ストリームの送信に使用されます、構成コード フラグメント構成オブジェクト、ページ JSP Web ページ自体、例外はエラー Web ページ、キャッチされなかった例外です。

JavaScript

JavaScript は、相対的なセキュリティを備えたオブジェクトベースのイベント駆動型のクライアント側スクリプト言語です。同時に、クライアントサイドのWeb開発で広く使われているスクリプト言語でもあり、HTML Webページにユーザーのさまざまな操作に応答するなどの動的な機能を追加するためによく使用されます。JavaScript の重要な機能はオブジェクト指向機能であり、オブジェクトベースのプログラミングを通じて、より直感的でモジュール化された再利用可能な方法でプログラム開発を実行できます。HTML に基づいて、JavaScript を使用してインタラクティブな Web ページを開発できます。JavaScript の出現により、Web ページとユーザーとの間にリアルタイムで動的かつインタラクティブな関係が可能になり、Web ページにはよりアクティブな要素とよりエキサイティングなコンテンツが含まれるようになります。JavaScript テクノロジは、このシステムのさまざまな場所で使用されており、たとえば、ユーザー入力データの有効性、それが繰り返されているか、空であるかどうかなどをチェックします。

ソフトウェアとハ​​ードウェアの要件

ハードウェア要件:

CPU:Pentium以上のコンピュータ

メモリ: 512M 以上

ソフトウェア要件:

オペレーティングシステムのバージョン: Windows XP/vista/Win7

開発ツール: MyEclipse

バックグラウンドサーバー: Apache Tomcat 7.0

開発言語:Java

ブラウザ:IE6.0


  1. 需要分析

2.1 需要調査

プロジェクトの開始時に需要調査とフィットネスクラブの訪問がありましたが、一連の調査と対話の後、フィットネスクラブ市場の管理と規制は長年にわたって私たちを悩ませている古い問題であることがわかりました。フィットネスの最も基本的な事業の一つであり、表面的にはフィットネスクラブ事業の単純な一部に過ぎませんが、経営や顧客サービスなど多くの側面が関わっています。

2.2 実現可能性分析

プロジェクト開発の過程において、実現可能性分析は非常に重要な要素であり、技術等に基づいて分析を行った結果、プロジェクトが継続的に実行可能かどうかを示す結論であり、プロジェクトの実現可能性については、総合的に説明されています。パフォーマンス、セキュリティの実現可能性、社会的な実現可能性の観点から。

2.2.1 技術的な実現可能性

技術的実現可能性は主に、システム分析から得られた開発対象ソフトウェアに応じて、開発対象ソフトウェアが既存の技術を用いて実現可能かどうかを分析することである。このシステムはインターネットに接続する必要があり、便利で高速な jsp+サーブレット技術を使用して開発されています 開発に必要なソフトウェアツールは操作が簡単でオープンソースであり、安全で保守可能です このシステムは Java を使用していますMyEclipseの開発環境 Java言語は移植性、安全性、安定性に優れ、さまざまなシステム上で動作可能であり、サーバはApache-Tomcat-7.0版、開発技術はjsp+サーブレット技術を使用しています。以下に、このシステムで使用されるいくつかの一般的なテクノロジを紹介します。

2.2.1.1 JSPテクノロジー

JSP (Java Server Page) は、1998 年から登場した新しいテクノロジーです。Sun が提唱する JavaServlet および Java システム全体をベースとした Web 開発技術であり、多くの企業によって確立された動的な Web 技術標準です。従来の Web ページ HTML ファイル (*.htm、*.html) にスクリプト フラグメントと JSP タグ (Tag) を追加して、JSP Web ページ (*.jsp) を形成します。JSP テクノロジは、動的に生成されたコンテンツを表示する Web ページを簡単に作成する方法を提供します。Java ファミリのメンバーとして、JSP は Java の特性、つまり、一度コンパイルすればどこでも実行できるクロスプラットフォーム機能を継承しています。

私たちが現在使用している用途にとって、JSP は間違いなく非常に便利なツールであり、必要なインターフェイス効果を正確に記述することができます。これが私が JSP テクノロジを使用する重要な理由でもあります。

JSP Web サイト開発標準は、JSP を使用した 2 つのテクノロジを提供します。これらはモード 1 とモード 2 として要約できます。

モード 1: JSP+JavaBeans テクノロジー。このモードでは、JSP ページのみがリクエストに応答し、処理結果をクライアントに返します。データアクセスはすべてBeanが処理し、JSPがページのパフォーマンスを実現することでコンテンツの生成と表示の分離を実現します。複雑で大規模なアプリケーションを扱う場合、ページには大量のスクリプトや Java コードが埋め込まれており、処理する必要があるビジネス ロジックが複雑な場合、この状況は非常に悪化します。ページ プログラムは複雑ですが、フロントエンド インターフェイスの設計者にとって、これは信じられないほどのことです。したがって、モード 1 は小規模なアプリケーションには使用できますが、大規模なアプリケーションのニーズを満たすことはできません。

モード 2: JSP+サーブレット+JavaBeans テクノロジ。サーブレット技術は、Java技術を利用してCGI機能を実現する技術であり、サーバ側での処理やプログラミングに非常に適しており、メモリ上に長時間常駐します。

開発の観点から見ると、モード 2 はページのパフォーマンスがより明確で、開発者の役割が明確に分かれています。大規模なプロジェクト開発ではモード 2 がより採用され、モード 2 は現在一般的な MVC 構造 (モデル/ view/controller) で、サーブレットはコントローラーに相当し、コントローラーの位置にあり、HTTP リクエストを処理し、JSP で使用される Beans コンポーネントまたはオブジェクトの生成を担当し、リクエストをどの JSP に渡すかを判断します。 , JSP はビューに相当し、最終的な動的 Web ページを生成してブラウザに返す役割を果たします。JavaBeans は、それぞれの特定のアプリケーション ロジックと機能を実装するモデルに対応します。

2.2.1.2 MyEclipse Enterprise Workbench 8.5

MyEclipse Enterprise Workbench (MyEclipse Enterprise Workbench、以下 MyEclipse) は EclipseIDE の拡張機能であり、データベースやJ2EEの開発とリリース、およびアプリケーション サーバーの統合における作業効率を大幅に向上させることができます。これは、完全なコーディング、デバッグ、テスト、公開機能を含む機能豊富な J2EE統合開発環境であり、 HTML、Struts、JSF、CSS、JavaScript、SQL、Hibernate を完全にサポートしています。

MyEclipse は、Java および J2EE を開発するための非常に優れた Eclipseプラグインのコレクションです。MyEclipse は、特にさまざまなオープン ソース製品に対して、非常に強力な機能と広範なサポートを備えています。MyEclipse は現在、Java Servlet、AJAX、  JSP、JSF、Struts、Spring、Hibernate、EJB3、JDBC データベース リンク ツール、およびその他の多くの機能をサポートしています。MyEclipse には、現在主流のすべてのオープン ソース製品の排他的なEclipse開発ツールがほぼ含まれていると言えます

2.2.1.3 SQLServer2005

SQLServer2005 の元の開発者の目的は、SQLServer2005 と独自の高速低レベル ルーチン (ISAM) を使用してテーブルを結合することでした。とにかく、開発者はいくつかのテストを行った結果、SQL Server 2005 は必要なほど高速かつ柔軟ではないと結論付けました。これにより、SQLServer2005 とほぼ同じ API インターフェイスを使用する新しい SQL インターフェイスがデータベースに導入されました。このようにして、この API は、SQLServer2005 用に作成されたサードパーティ コードをより簡単に SQLServer2005 に移植できるように設計されています。

Microsoft SQL Server 2005 は、統合されたビジネスインテリジェンス(BI)ツールによるエンタープライズ クラスのデータ管理を提供する包括的なデータベース プラットフォームです。Microsoft SQL Server 2005データベース エンジンは、リレーショナル データと構造化データに対してより安全で信頼性の高いストレージ機能を提供しビジネス向けの高可用性と高性能のデータアプリケーションを構築および管理できるようにします

2.2.1.4 JDBCテクノロジー

JDBC テクノロジとは、Java Database Connectivity の略称で、サン社が提供する基本的な SQL 機能をサポートする汎用アプリケーション プログラミング インターフェイス (Application Programming Interface) です。これは、SQL ステートメントを実行するための Java API であり、さまざまなリレーショナル データベースへの統合アクセスを提供でき、Java 言語で記述されたクラスとインターフェイスのセットで構成されます。JDBC はツール/データベース開発者向けの標準 API を提供し、これに基づいてより高度なツールやインターフェイスを構築できるため、データベース開発者は Pure Java API を使用してデータベース アプリケーションを作成できます。同時に、JDBC はブランド名でもあります。さまざまなデータベースへのアクセスは、対応する SQL ステートメントを実行することによって実現されます。したがって、開発者は、Sybase データベースにアクセスするためのアプリケーション、Oracle データベースにアクセスするための別のアプリケーション、および Microsoft の SQL Server にアクセスするための別のアプリケーションを作成しなくても、JDBC API を使用できます。それだけでなく、Java 言語で書かれたアプリケーションは Java をサポートするあらゆるプラットフォーム上で実行できるため、異なるプラットフォーム上で異なるアプリケーションを開発する必要はありません。

簡単に言えば、JDBC は次の 3 つのことを実現できます。

  1. 同じデータベースとの接続を確立します。
  2. データベースへの接続を確立します。
  3. データベースから返された結果を処理します。

JDBC は、共通の低レベル アプリケーション プログラミング インターフェイスであり、さまざまなデータベース機能モジュールのレベルで統一されたユーザー インターフェイスを提供します。JDBC が低レベルの API であるということは、SQL コマンドを直接呼び出すことを意味しており、他のデータベース接続 API よりも使いやすいですが、より高度でユーザーフレンドリーな API や開発ツールとしても使用できます。基礎です。

データベースへのアクセスは、ブラウザ側プログラムがミドルウェアを経由し、ミドルウェアがデータベースの操作権限を認証し、認証に合格して初めてデータベースを操作できるようになります。データベースアクセスの3層構造は図2に示されています。 -1。

図2-1 データベースアクセスの3階層構造

データベースへのユーザーのアクセス権の認証はミドルウェア内で完了し、データベースに対するクエリ、挿入、更新、削除の操作はすべてミドルウェア内にカプセル化され、サーバー側に配置されます。処理結果はWebサーバー経由でブラウザのエンドユーザーに返されます。このように、クライアント側で入力されたユーザー名とパスワードは、暗号化アルゴリズムによって暗号化されてネットワーク上に送信され、ミドルウェアで復号化および認証された後、データベースへのアクセス操作が実行されます。サーバー側のミドルウェアにデータベースアクセス権限が表示されるため、より安全です。本システムは、このような三層構造のデータベースアクセス方式を採用している。

3 層モデルでは、コマンドはサービスの「中間層」に送信され、「中間層」は SQL ステートメントをデータベースに送信します。データベースは SQL ステートメントを処理し、その結果を「中間層」に返し、その結果をユーザーに返します。そのモデルを図 2-2 に示します。

図 2-2 JDBC の 3 層モデル

なぜなら、「中間層」はアクセス制御やデータベースの更新と連携することができ、「中間層」によって低レベルの呼び出しに変換できる使いやすい高レベルのAPIを利用できるからです。したがって、多くの場合、3 層モデルの方が優れたパフォーマンスを提供できます。このシステムでは、3 層モデルが使用されています。

簡単に言うと、JDBC はデータベースとの接続を確立し、SQL 文を送信してデータを取得し、最後に取得したデータに従って処理するという 3 つのことを実行できます。

データベース接続を図 2-3 に示します。

図2-3 データベース接続処理

データコネクションを確立する際には、コネクションの確立が成功したかどうかを判定し、確立に失敗した場合は例外キャプチャなどのエラー処理を行う必要があり、コネクションが確立できた場合は続行する必要があります。データベース接続を取得した後、事前に作成された SQL ステートメントを実行する必要があります。通常、プリコンパイルされたコマンドを使用して SQL インジェクションを防ぐことができます。実行中に SQL ステートメントでエラーが発生した場合は、例外をキャプチャして処理する必要があります。 SQL ステートメントは正しいです。成功すると、ResultSet の結果セットが返され、それに対していくつかの操作を実行できます。

2.2.1.5 B/S モード

B/S モードは、Web テクノロジーに基づいた新しいタイプの MIS システム プラットフォーム モードです。従来の C/S モードのサーバー部分は、データ サーバーと 1 つ以上のアプリケーション サーバー (Web サーバー) に分解され、3 層のクライアント/サーバー システムを形成します。

第 1 層クライアントは、ユーザーとシステム全体の間のインターフェイスです。顧客のアプリケーション プログラムは、Netscape Navigator、Microsoft の IE などの一般的なブラウザ ソフトウェアに縮小されます。ブラウザは HTML コードを画像とテキストの両方を含む Web ページに変換します。また、ウェブページには対話機能も備えており、ユーザーはウェブページ上で提供される申請フォームに情報を入力してバックグラウンドで送信したり、処理要求を行ったりすることができます。このバックグラウンドは第 2 層 Web サーバーです。

第 2 層 Web サーバーは、このリクエストに応答して対応するプロセスを開始し、処理結果を埋め込む HTML コードの文字列を動的に生成し、クライアントのブラウザに返します。クライアントによって送信されたリクエストにデータ アクセスが含まれる場合、Web サーバーもデータベース サーバーと連携してこの処理作業を完了する必要があります。

第 3 層データベース サーバーのタスクは C/S モードに似ており、さまざまな Web サーバーから送信された SQL リクエストを調整し、データベースを管理します。

C/S モードのように、異なるクライアント コンピュータに異なるクライアント アプリケーションをインストールする必要はなく、共通のブラウザ ソフトウェアをインストールするだけで済みます。これにより、クライアント コンピュータのハード ディスク容量とメモリが節約されるだけでなく、インストール プロセスが容易になり、ネットワーク構造がより柔軟になります。企業の意思決定者が在庫問題について話し合うために会議を開きたいとすると、会議室のコンピューターからブラウザーを介してデータを直接クエリし、全員に表示するだけで済みます。参加者でも、ラップトップを会議室のネットワーク ソケットに接続して、関連データを自分でクエリすることができます。2 番目に、システムの開発と保守が簡素化されます。システム開発者は、レベルの異なるユーザーに対して異なるクライアント アプリケーションを設計および開発する必要がなくなり、すべての機能を Web サーバー上に実装し、各グループのユーザーに対して異なる機能の権限を設定するだけで済みます。各ユーザーは、HTTP リクエストを通じて権限の範囲内で Web サーバー上のさまざまな処理プログラムを呼び出し、データのクエリや変更を完了します。現代の企業は絶えず変化する競争環境に直面しており、企業の内部運営メカニズムの更新や調整がますます頻繁になっています。B/SはC/Sに比べてメンテナンスの自由度が高いです。状況が変化した場合でも、既存のクライアントアプリケーションプログラムをすべてバージョンアップする必要はなく、Webサーバー上のサービス処理プログラムを見直すだけで済みます。これにより、企業の業務効率が向上するだけでなく、メンテナンス時の調整作業の手間も大幅に軽減されます。企業がさまざまな場所に分散して数千のクライアントを抱えている場合、メンテナンスの容易さはさらに重要になります。

繰り返しますが、これによりユーザーの操作が容易になります。C/S モードの場合、顧客のアプリケーション プログラムには独自の仕様があり、ユーザーは特別なトレーニングを受ける必要があります。B/S モードを使用する場合、クライアントはシンプルで使いやすいブラウザ ソフトウェアです。意思決定担当者と運用担当者の両方がトレーニングなしで直接使用できます。B/S モードのこの特性により、MIS システムのメンテナンスの制限要因が軽減されます。

最後に、B/S はインターネット上で情報を公開するのに特に適しており、従来の MIS の機能を拡張します。これはC/Sでは達成できないことです。そして、この新しいオンライン情報公開機能はまさに現代の企業が必要としているものです。これにより、企業の書面文書の大部分が電子文書に置き換えられるようになり、企業の作業効率が向上し、企業の管理手続きが簡素化され、人的資源と物的資源が節約されます。

既存のハードウェアおよびソフトウェアは、機能面でシステム開発のニーズを満たすことができ、開発に必要なソフトウェアツールもシンプルで操作が容易であり、開発者の技術レベルは十分にシステム開発が可能です。したがって、このシステムは技術的には実現可能です。

2.2.1.6 EL技術

EL の正式名は Expression Language で、元々はデータに簡単にアクセスできるように JSTL 1.0 によってカスタマイズされた言語です。

式言語は ECMAScript および XPath 式言語からインスピレーションを得ており、その形式は ${express} であり、JSP での式を簡略化する方法を提供します。これは、利用可能な名前空間 (PageContext 属性)、ネストされた属性とコレクションへのアクセサー、演算子 (算術、リレーショナル、論理)、Java クラスの静的メソッドへのマッピング、拡張可能な関数、および暗黙的なオブジェクトのセットに基づいた比較的単純な言語です。
EL は、JSP スクリプト要素の範囲外でランタイム式を使用する機能を提供します。スクリプト要素は、JSP ファイルに Java コードを埋め込むために使用できるページ内の要素です。これらは通常、オブジェクトの操作や、生成される内容に影響を与える計算の実行に使用されます。JSP 2.0 では、スクリプト要素として EL 式が追加されました。

2.2.2 運用の実現可能性

システムの使い方は簡単で、顧客はソフトウェアをインストールする必要がなく、ブラウザがありインターネットや社内イントラネットに接続していれば利用できるB/S構造となっており、手間が省けます。専門家以外が操作するには技術的な困難があります。サーバーのオペレーティング システムは Windows 7、Web サーバーは Apache-Tomcat7.0、データベースは MySQL です。

このシステムは、フレンドリーなユーザーインターフェイス、豊富な機能を備え、使いやすく、一般ユーザーがトレーニングなしで使用でき、動作プラットフォームやマシン構成の要件が低く、設定と適用が簡単です。

2.2.3 社会的実現可能性

社会の発展とコンピュータ技術の進歩に伴い、人類はより便利に情報を取得し、情報を処理できる情報管理システムへの依存度が高まっています。人々はこれまでの考え方を変え、社会の新たな潮流となっているインターネットの時代に向けて動き始めています。

2.2.4 実現可能性のまとめ

本章では、技術的実現可能性、運用可能性、社会的実現可能性について詳しく紹介し、技術面ではJSP技術やEL技術などの共通技術を導入し、本システムの開発可能性を説明します。操作が簡単なプラットフォームとデータベースを備えているため、このシステムの開発は簡単かつ迅速です。上記の分析は、システムが開発において実現可能であり、技術、運用および社会において実現可能であり、開発可能であることを示している。

2.3 機能モジュール要件の分析

このシステムの最大の特徴は、シンプルでわかりやすい案内です。

会員制フィットネスセンター運営システムの設計・導入は、主にフィットネスクラブのイメージ向上、顧客サービスの向上、フィットネスセンター運営の強化を目的としており、主に以下の7つの機能があります。

1. ログインパスワードを変更します。

2. スタッフの管理。

会員カードの種類管理 4.

4. 会員データの管理。

5. フィットネス機器の管理。

6. コーチング管理。

7. 安全に退出してください。

2.4 インターフェース要件

インターフェイスの設計はソフトウェアの品質を評価するための重要な指標となっています。優れたユーザー インターフェイスは、システムの使用に対するユーザーの信頼と関心を高め、作業効率を向上させます。ライブラリ ユニットは、HTTP アプリケーションにサービスを提供するインターフェイスを提供します。動的なページを作成するのに非常に便利です。ユーザー インターフェイスとは、ソフトウェア システムとユーザーの間のインターフェイスを指し、通常は出力、入力、およびマンマシン対話のインターフェイス形式が含まれます。

1. 出力設計

アウトプットとは、入力されたオリジナル情報をコンピュータで処理して、質の高い有効な情報を形成し、管理者が利用できる一定の形式にすることが、アウトプット設計の主な責任であり、目標です。

システム設計のプロセスは実装プロセスとは逆で、入力設計から出力設計へではなく、出力設計から入力設計へと進むのは、出力形態がユーザーと直結しているためです。ユーザーへのサービスを提供するために、各部門にとって有用な情報を正確かつタイムリーに反映して構成する必要があります。出力設計の原則は、さまざまな管理レベルのニーズを完全に反映することですが、同時に簡潔にすることであり、ユーザーに必要なものと不必要なものの両方を提供することではありません。

2. 入力設計

入力データの収集と入力は煩雑で、多くの人的資源と特定の機器を必要とし、エラーが発生しやすくなります。システムに入力されたデータにエラーがある場合、処理後の出力ではそのエラーが増幅されるため、入力データの正確さがシステム全体の品質を決定します。

入力設計の原則は次のとおりです。

入力量は、処理要件を満たすために必要な最小限に抑える必要があります。設計では、フィールドの初期値を設定したり、ドロップダウン データ ウィンドウやその他の方法を使用して、ユーザーのキーボード入力の量を最小限に抑えることができます。入力が減れば、エラーも減り、データの準備時間も短縮されます。


第 3 章 システムの分析と設計

3.1 データベースの分析と設計

コンピュータ情報システムは、データベースを核として、データベース管理システムの支援を受けて、情報の収集、整理、保管、検索、更新、加工、統計、配布などの業務を実行します。データベースは、情報システムなどのコンピュータシステムの基礎および中核部分となっています。データベース設計の品質は、システム全体の品質と効率に直接影響します。

データベースの設計は一般的に計画されています。要件分析、概念設計、論理設計、物理設計の5つのステップがあります。

3.1.1 データベースの概念的な構造設計

概念設計とは、データ分析に基づいてシステム全体の概念的なデータベース構造をボトムアップで構築し、ユーザーの視点からビューを設計し、ビューを統合し、最後に構造分析と最適化を統合して、最終結果。

データベースの概念構造設計には、エンティティ関係 (ER) モデル設計手法が採用されています。ER モデル手法の構成要素は、エンティティ、属性、接続です。ER モデルは、作業環境に関係するものをユーザーに思い出させる ER 図で表され、属性はエンティティの特性を記述します。 。

概念設計の目標は、企業組織の情報要件を反映するデータベースの概念構造、つまり概念スキーマを生成することです。概念モデルは、データベースの論理構造に依存せず、データベースをサポートする DBMS にも依存せず、コンピュータシステムにも依存しません。データベースに対する要件の上記の分析に基づいて、データベースの特性と構築方法を組み合わせます。システムの概念モデルとして、ER モデル図が確立されます。

エンティティ間の関係

属性

実在物

図 3-1 ER 図の要素

  1. システム モジュールの ER 図を図 3-2 に示します。

図 3-2 システムモジュールの ER 図

2) メンバー プロファイル エンティティの ER 図 (図 3-3 を参照):

図 3-3 メンバー データ エンティティの ER 図

3.1.2 データベースの論理構造設計

データベースの概念モデルは特定のデータベース管理システムから独立しているため、使用される特定のデータベース管理システムの特性に応じて変換する必要があることがわかっています。つまり、コンピューターの観点から処理される論理リレーショナル モデルに変換されます。ER モデルからリレーショナル データベース モデルへの変換は、次の原則に従う必要があります。

*各エンティティを関係に変換する必要があります

*すべての主キーは NOT NULL として定義する必要があります

*バイナリ関係の場合、外部キーは 1 対多、弱対実、1 対 1、多対多、その他の関係に従って定義する必要があります。

ER モデルによれば、会員制フィットネス センター管理システムは次の論理データ構造を確立します。以下に各データ テーブルの詳細を説明します。

このシステムのデータベース名: db_jianshen2017_g には、次のように合計 4 つのテーブルがあります。

シリアルナンバー 列名 データの種類 長さ 小数位 ロゴ 主キー 外部キー 空を許可する デフォルト 説明する
1 カードID 整数 11 はい いいえ
2 カード_レシオン 可変長文字 50 はい
3 カードガイズ 文章 はい
4 Card_youhuizhengce 文章 はい
5 カードワン1 可変長文字 50 はい
6 カードワン2 可変長文字 50 はい
7 カードワン3 可変長文字 50 はい
8 カードワン4 可変長文字 50 はい
9 カードワン5 整数 11 はい
10 カードワン6 整数 11 はい
11 カードワン7 日付時刻 はい
12 カードワン8 日付時刻 はい

表 3-1 会員カード情報フォーム

シリアルナンバー 列名 データの種類 長さ 小数位 ロゴ 主キー 外部キー 空を許可する デフォルト 説明する
1 qicai_id 整数 11 はい いいえ
2 qicai_name 可変長文字 50 はい
3 qicai_goumairiqi 可変長文字 50 はい
4 qicai_beizhu 文章 はい
5 qicai_one1 可変長文字 50 はい
6 qicai_one2 可変長文字 50 はい
7 qicai_one3 可変長文字 50 はい
8 qicai_one4 可変長文字 50 はい
9 qicai_one5 整数 11 はい
10 qicai_one6 整数 11 はい
11 qicai_one7 日付時刻 はい
12 qicai_one8 日付時刻 はい

表 3-2 フィットネス機器リスト

シリアルナンバー 列名 データの種類 長さ 小数位 ロゴ 主キー 外部キー 空を許可する デフォルト 説明する
1 ユーザーID 整数 11 はい いいえ
2 ユーザー名 可変長文字 50 はい
3 ユーザー_パスワード 可変長文字 50 はい
4 ユーザータイプ 整数 11 はい
5 ユーザーの実名 可変長文字 50 はい
6 ユーザーアドレス 可変長文字 50 はい
7 ユーザーの性別 可変長文字 50 はい
8 ユーザー電話番号 可変長文字 50 はい
9 ユーザーメールアドレス 可変長文字 50 はい
10 ユーザー_qq 可変長文字 50 はい
11 ユーザーマン 可変長文字 50 はい
12 ユーザー年齢 可変長文字 50 はい
13 ユーザーの誕生日 可変長文字 50 はい
14 user_xueli 可変長文字 50 はい
15 user_one1 可変長文字 50 はい
16 user_one2 可変長文字 50 はい
17 user_one3 可変長文字 50 はい
18 user_one4 可変長文字 50 はい
19 user_one5 可変長文字 50 はい
20 user_one6 整数 11 はい
21 user_one7 整数 11 はい
22 user_one8 整数 11 はい
23 user_one9 日付時刻 はい
24 user_one10 日付時刻 はい
25 user_one11 ビギント 20 はい
26 user_one12 ビギント 20 はい

表 3-3 スタッフ一覧

シリアルナンバー 列名 データの種類 長さ 小数位 ロゴ 主キー 外部キー 空を許可する デフォルト 説明する
1 zhijiao_id 整数 11 はい いいえ
2 zhijiao_jiaolian_id 整数 11 はい
3 zhijiao_jiaolian_name 可変長文字 50 はい
4 zhijiao_kecheng 可変長文字 50 はい
5 zhijiao_huiyuan 可変長文字 50 はい
6 zhijiao_one1 可変長文字 50 はい
7 zhijiao_one2 可変長文字 50 はい
8 zhijiao_one3 可変長文字 50 はい
9 zhijiao_one4 可変長文字 50 はい
10 zhijiao_one5 整数 11 はい
11 zhijiao_one6 整数 11 はい
12 zhijiao_one7 datetime
13 zhijiao_one8 datetime

表3-4 教练执教表

3.1.3 数据库的连接原理

本系统采用Hibernate对数据库进行管理。Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从 Java 类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用 JDBC 和 SQL 来手工操作数据库,Hibernate 可以大大减少操作数据库的工作量。 另外 Hibernate 可以利用代理模式来简化载入类的过程,这将大大减少利用 Hibernate QL 从数据库提取数据的代码的编写量,从而节约开发时间和开发成本。 Hibernate 可以和多种Web 服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。

Hibernate 技术本质上是一个提供数据库服务的中间件。它的架构如图3-5所示:

图3-3 Hibernatre架构图

图3-3显示了 Hibernate 的工作原理,它是利用数据库以及其他一些配置文件如 Hibernate .properties ,XML Mapping 等来为应用程序提供数据持久化服务的。

Hibernate 具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供 JDBC 连接,并且自行管理事务,这种方式使用了 Hibernate 的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的 JDBC/JTA API 都被抽象了,Hibernate 会替你照管所有的细节。

3.2中文乱码问题处理

在程序中经常会遇到中文乱码的情况,如果手动的在servlet和jsp页面进行设置,相当麻烦。因此,在程序的开始就写了一个过滤器SetCharacterEncodingFilter。

在web.xml中配置:

<filter>

<filter-name>SetCharacterEncodingFilter</filter-name>

<filter-class>myweb.util.filter.SetCharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>gb2312</param-value>

</init-param></filter>

<filter-mapping>

<filter-name>SetCharacterEncodingFilter</filter-name>

<url-pattern>/*</url-pattern>//*表示工程下所有的页面都会有此过滤器的处理

</filter-mapping>

对应的SetCharacterEncodingFilter.java文件中的重要代码,在初始化init()方法中定义:

public void init(FilterConfig filterConfig) throws ServletException {

this.filterConfig = filterConfig;

this.encoding = filterConfig.getInitParameter("encoding");

String value = filterConfig.getInitParameter("ignore");

}

在工具包util包中同样定义了DataFormate类来处理字符转换:

public static String toUni(String gbStr){

String uniStr = ""; /*把字符串转换成uincode编码*/

if(gbStr == null){

gbStr = "";

}

try{

byte[] tempByte = gbStr.getBytes("GB2312");

uniStr = new String(tempByte,"ISO8859_1");

}catch(Exception ex){

}

return uniStr;

}

/* 把字符串转换成Utf8编码*/

public static String toUtf8String(String s) {

StringBuffer sb = new StringBuffer();

for (int i = 0; i < s.length(); i++) {

char c = s.charAt(i);

if (c >= 0 && c <= 255) {

sb.append(c);

}

else {

byte[] b;

try {

b = Character.toString(c).getBytes("utf-8");

}catch (Exception ex) {

System.out.println(ex);b = new byte[0];

}

for (int j = 0; j < b.length; j++) {

int k = b[j];

if (k < 0) {

k += 256;

}

sb.append("%" + Integer.toHexString(k).

toUpperCase()); } }

return sb.toString(); }


第四章 系统功能实现

在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。

4.1系统登陆页面实现

  1. 描述:为了保证系统的安全性,要先使用本系统必须先登陆到系统中,用户需要正确的账号和密码登录本系统。

2.会员登录的流程图,如图4-1所示:

图4-1 会员登录的流程图

3.程序运行效果图,如图4-2所示:

图4-2 系统登陆页面设计

4.在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,验证通过进入对应的页面,loginservice关键代码:

public String login(String userName,String userPw,int userType)

{

String result="no";

String sql="from TAdmin where userName=? and userPw=?";

Object[] con={userName,userPw};

List adminList=adminDAO.getHibernateTemplate().find(sql,con);

if(adminList.size()==0)

{

result="no";

}

else

{

WebContext ctx = WebContextFactory.get();

HttpSession session=ctx.getSession();

TAdmin admin=(TAdmin)adminList.get(0);

session.setAttribute("userType", 0);

session.setAttribute("admin", admin);

result="yes";

}

return result;

}

4.2 管理员功能模块

1.描述:系统主页面:左方页面展示了管理员可操作的七大功能,进入相关的管理页面可以链接到子菜单,并且高亮显示,每个管理模块下面都有相应的子菜单。

2.程序运行效果图,如图4-3所示:

图4-3 管理员主页面

在每个jsp页面将会对相关用户进行拦截操作,这样可以提高安全性,防止用户不经过登陆页面而进入任何子菜单页面:

if(session.getAttribute("user")==null)

{

out.print("<script>alert('请先登录!');window.open('../index.jsp','_self')</script>");

}

4.2.1 工作人员管理

4.2.1.1查询工作人员信息

1.描述:管理员点击左侧的菜单“工作人员管理”,页面跳转到工作人员界面,调用后台的action类查询出所有的工作人员信息,并把这些信息封装到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出工作人员信息。

2.程序效果图,如图4-4所示:

图4-4工作人员信息

4.2.1.2添加工作人员添加

1.描述:输入要添加工作人员的信息以后,点击添加按钮添加工作人员。

2.程序效果图,如图4-5所示:

图4-5添加工作人员

4.2.2会员资料管理

4.2.2.1会员资料管理

1.描述:管理员点击左侧的菜单“会员资料管理”,页面跳转到会员资料管理界面,调用后台的action类查询出所有的会员资料,并把这些信息封装到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出会员资料。

2.程序效果图,如图4-6所示:

图4-6会员资料管理

4.2.2.2会员资料删除

1.描述:先是点击会员管理,页面跳转到会员管理界面,浏览所有的会员资料,点击要删除的会员资料,弹出的确定对话框,即可删除该会员资料。

2.程序效果图,如图4-7所示:

图4-7会员资料删除

4.2.3健身器材管理

4.2.3.1健身器材信息

1.描述:管理员点击左侧的菜单“健身器材管理”,页面跳转到健身器材信息管理界面,调用后台的action类查询出所有的健身器材信息,并把这些信息封装到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出健身器材信息。

2.程序效果图如图4-8所示:

图4-8查询健身器材信息

4.2.3.2添加健身器材信息

1.描述:管理员输入健身器材相关正确信息后点击录入按钮,如果是没有输入完整的健身器材信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。

2.程序效果图,如图4-9所示:

图4-9添加健身器材信息

4.2.3.3删除健身器材信息

1.描述:先是点击健身器材信息管理,页面跳转到健身器材信息管理界面,浏览所有的健身器材信息,点击要删除的健身器材信息,弹出的确定对话框,即可删除该健身器材信息。

2.程序效果图,如图4-10所示:

图4-10删除健身器材信息

4.2.4 教练执教管理

4.2.4.1教练执教管理

1.描述:管理员点击左侧的菜单“教练执教管理”,页面跳转到教练执教管理界面,调用后台的action类查询出所有的教练执教,并把这些信息封装到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出教练执教情况。

2.程序效果图,如图4-11所示:

图4-11教练执教管理页面

4.2.5.2教练执教录入

1.描述:管理员输入教练相关正确信息后点击录入按钮,如果是没有输入完整的教练执教,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。

2.程序效果图,如图4-12所示:

图4-12 教练执教录入

4.2.6 修改密码

1.描述:输入用户名和用户的原有密码,输入新密码以后点击修改按钮即可修改密码成功。

2.程序效果图,如图4-13所示:

图4-13 修改密码

4.2.7 退出系统

1.描述:点此按钮回到系统的主页面。

2.关键代码:主要是通过javascript语句来实现, item_word[8][4]="退出系统";

item_link[8][4]="javascript:window.open('../index.jsp','_self')";


第五章 系统测试

软件测试指的是一种用来鉴定软件是否正确、完整的过程。我们通过测试已经写好的程序来发现其中可能隐藏的问题,从而提高软件的质量,一般而言我们的做法是,在规定的条件下对程序进行操作,发现程序的错误,来衡量软件的质量。

5.1 测试的任务及目标

软件测试不仅是软件开发的一个组成部分,更是非常重要的一部分,在开发过程中,测试应该贯穿我们的整个开发,测试在软件开发中的地位是不言而喻的,它和软件开发缺一不可,所以我们要更加重视测试。

5.1.1 测试的任务

在软件开发中,我们不可避免的产生许多错误,这使得软件中隐藏着许多的问题,而这些问题在一定的条件下被触发,便会让你更软件的运行出现差错,导致或多或少的经济损失,所以测试是非常必要的。因此在软件投入生产性运行之前,尽可能多地发现软件中的错误。

5.1.2 测试的目标

(1)测试的目的是为了发现程序中的错误而执行程序的过程。

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。

(3)成功的测试是发现了到今为止尚未发现的的错误的测试。

5.2 测试方案

测试有两种方法:黑盒测试和白盒测试。

黑盒测试是一种看不到程序内部结构的测试方法,它又被称为功能测试,在程序的借口进行测试,检查功能是否能够按照说明书进行正确的反应,程序员要做的就是输入数据,然后验证得到的结果是否正确,这样能够保持外部新的完整性。白盒测试又叫结构测试,完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中每条通路是否都能按照预定要求正确工作。

5.3 测试过程

在测试之初,由于将数据库中的数据是随便输入,没有实用性,为了使系统更加完善,在系统测试的过程中,本系统将一开始编程随便输入的数据全部清理后,输入了一些有效的测试数据,这样可以更真实的反映系统的功能实现情况。

这样不断发现问题,经过反复的测试、调试,把问题一个个的解决,最终系统可以正常运行。

5.4 测试用例

测试是软件开发时期的最后一个阶段,也是软件质量保证中至关重要的一个环节,它的目的是发现程序的错误和不足之处。

本系统采用黑盒测试中的等价类法,对系统进行测试。检测失物招领系统有问题需要大量的输入数据,下面只列出一部分测试用例:

5.4.1 主页面的登录模块测试

测试流程: 1.打开系统首页,输入错误的登录信息

2.登录

3.输入正确的登录信息

4.登录

5.测试结果

模块名称 测试用例 预期结果 实际结果 是否通过
登录模块 用户名:null 密码:null 弹出错误提示,请输入用户名 登陆失败,提示请输入用户名 通过
登录模块 用户名:m1 密码:null 弹出错误提示,请输入密码 失败,提示输入密码 通过
登录模块 用户名:m1 密码:1 弹出错误提示,用户名或者密码错误 登陆失败,提示用户名或者密码错误 通过

表5-1 主页面登录模块测试


5.4.2 游客注册测试

建立有效等价类是游客输入的各个信息都正确,期望结果:注册成功!无效等价类如表5-2所示:

无效等价类 期望结果
用户名空缺 请输入用户名!
用户密码空缺确认密码空缺 请输入用户密码!请输入确认密码!
联系电话空缺 请输入联系电话!
QQ空缺 请输入QQ!
邮箱空缺 请输入邮箱地址!
来自空缺 请输入来自哪里!
名称空缺 用户名已存在!
密码错误 两次输入的密码不一致!
联系电话格式不正确 输入的联系电话格式不正确!
QQ格式不正确 输入的QQ格式不正确!
邮箱格式不正确 输入的邮箱格式不正确!

表5-2 游客注册无效等价类

测试用例:

第1组:用户名:bb 用户密码:aa

确认密码:aa 联系电话:18234086882

QQ:1104014730 E-mail:[email protected]

来自:山西

测试结果:提示注册成功!

第2组:用户名: 用户密码:aa

确认密码:aa 联系电话:18234086882

QQ:1104014730 E-mail:[email protected]

来自:山西

测试结果:请输入用户名!

第3组:用户名:bb 用户密码:

确认密码:aa 联系电话:18234086882

QQ:1104014730 E-mail:[email protected]

来自:山西

测试结果:请输入用户密码!

第4组:用户名:bb 用户密码:aa

确认密码: 联系电话:18234086882

QQ:1104014730 E-mail:[email protected]

来自:山西

测试结果:请输入确认密码!

第5组:用户名:bb 用户密码:aa

确认密码:aa 联系电话:18234086882

QQ: E-mail:[email protected]

来自:山西

测试结果:请输入QQ!

第6组:用户名:bb 用户密码:aa

确认密码:aa 联系电话:18234086882

QQ:1104014730 E-mail:

来自:山西

测试结果:请输入邮箱地址!

第7组:用户名:bb 用户密码:aa

确认密码:aa 联系电话:18234086882

QQ:1104014730 E-mail:[email protected]

来自:

测试结果:请输入来自哪里!

第8组:用户名:admin 用户密码:aa

确认密码:aa 联系电话:18234086882

QQ:1104014730 E-mail:[email protected]

来自:山西

测试结果:用户名已存在!

第9组:用户名:admin 用户密码:aa

确认密码:aaa 联系电话:18234086882

QQ:1104014730 E-mail:[email protected]

来自:山西

测试结果:两次输入的密码不一致!

第10组:用户名:admin 用户密码:aa

确认密码:aaa 联系电话:1

QQ:1104014730 E-mail:[email protected]

来自:山西

测试结果:输入的联系电话格式不正确!

第11组:用户名:admin 用户密码:aa

确认密码:aaa 联系电话:18234086882

QQ:aa E-mail:[email protected]

来自:山西

测试结果:输入的QQ格式不正确!

第12组:用户名:admin 用户密码:aa

确认密码:aaa 联系电话:18234086882

QQ:aa E-mail:1104014730

来自:山西

测试结果:输入的邮箱格式不正确!

5.5 其他错误

在程序设计实现的过程中不可避免的会产生各种难以预料的错误,如书写错误、传值类型不一致、参数传递问题等等。这些都需要通过细心的检测与不断的调试才能够排除。比如在servlet路径配置时因粗心错误导致运行导致所报错误,如图5-1所示:

图 5-1由于servlet路径配置错误,运行时的提示


5.6 小结

在本章中,通过对软件的测试验证了软件程序的质量,分别对登录部分进行了等价类测试,等价类测试不考虑内部的结构,将程序的输入分为若干个有代表性的部分,从每个部分选取数据进行测试,通过对这些模块的测试可以基本证明程序具有一定的健壮性和质量性。


结 论

本设计己经实现健身俱乐部信息管理系统的全部功能,而且健身俱乐部信息管理系统的实用功能全部能够正常运行,例如:修改登录密码、工作人员管理、会员卡类型管理、会员资料管理、健身器材管理、教练执教管理、安全退出七大模块。本设计运用B/S的3层结构模式和瑞典MySQL AB公司开发的MySQL数据库,并在设计初期,首先,完成了数据库系统的搭建,在设计中录入了一些数据;其次,完成了数据库、开发环境软件和运行环境软件的衔接并最终实现了本系统的运行。

我自己的毕业设计论文将告一段落的时候。选择运行,发现己经基本的达到了预期的想象的效果,成就感在没有人在时也总会出现。虽然实现了俱乐部的大部分功能,但是因为有限能力和时间的问题,总是感觉还有很多不如意的方面,例如:数据库管理系统的应用简单、软件的前期连接不畅、系统总体设计不够饱满、系统所实现功能简单。但是,这些不足出现是由于自身知识不够全面,所需技术没有完全掌握,软硬件方面的限制,外观的粗糙、功能的不全、代码的不合理等。但是,我又会自恋式的安慰一下自己:选择一条路,不用过于关注最后的结果,最可贵的是奋斗过程中的快乐和收获。用这些话语来安慰我还没有平复的心情。因此本系统的不足之处将于以后的学习生活中逐步完善与改进。

由于本设计己完成了健身俱乐部信息管理系统的整体构建,应该可以投入简单的使用,使用本设计能大大减少应用方的员工需求量,提高员工的工作效率。本设计将会对未来俱乐部行业的电子化、信息化、科技化起到决定性的作用。在未来本系统将发挥一套系统管理多家企业的巨大作用。个人的精力是有限的,尤其是作为学生对某项课题的研究所能取得的成果也只能达到一定程度,而不可能是顶点。本文的不足之处,请各位导师以及同学指正,对于健身俱乐部信息管理系统的研究就告一段落了,争取在以后的学习生活中继续对此进行研究。


参考文献

[1] BruceEckel. JAVA编程思想[M]. 机械工业出版社, 2003.1~78

[2] 孙一林,彭波等. JSP数据库编程实例[M]. 清华大学出版社, 2002.1~465

[3] Brown等. JSP编程指南(第二版)[M]. 电子工业出版社, 2003,1~268

[4] 孙涌. 现代软件工程[M]. 北京希望电子出版社,2003,1~246

[5] 姜翠霞. 数据库系统基础[M]. 航空航天大学出版社, 2009.51~208

[6] Flangan. JAVA技术手册[M]. 中国电力出版社, 2002.23~294

[7] LeeAnnePhilips. 巧学活用JSP[M]. 电子工业出版社, 2004.1~319

[8] 萨师煊, 王珊. 数据库系统概论[M]. 高等教育出版社, 2002.3~460

[9] 李曙光. JSP开发实例完全剖析[M]. 电子工业出版社, 2006.23~400

[10] [美]Walter Savitch. Absolute Java[M]. 电子工业出版社. 2005

[11] Kong Michael. An environment for secure SQL/Server computing [M].Oxford University Press Inc., 1993: 149 

[12] W.Clay,Richardson, Donald,Avondolio. The Java high class weaves a distance:JDK 5[J]. Scientific & Technology Book Review,No.3, 2006:17-18

[13] Sanden, Bo. SYSTEMS PROGRAMMING WITH JSP:EXAMPLE - A VDUCONTROLLER[C]. Communications of the ACM,Vol28,No10,1985:1059-1067

[14] Tsui,Frank F. JSP EM DASH A RESEARCH SIGNAL PROCESSOR IN JOSEPHSON TECHNOLOGY[C]. IBM Journal of Research and Development,Vol24, No2,1980:243-252

致 谢

毕业设计即将进入尾声,在此次设计的过程中,我与同学互相学习,向老师讨教,不仅让我学会了很多知识,巩固以前所学,还让我锻炼了动手能力和全面思考问题的能力,使我有勇气面对未来的挑战。

感谢所有燃烧自己,照亮别人的园丁们,我将带着你们的希望,以不同的方式,在祖国的现代化建设中奋斗。

在本次毕业设计过程中,得到了指导老师的指导与支持。在此特老师的大力帮助。指导老师在数据库的搭建以及整体项目的把握上提供了非常有用的帮助,让我能够较快的理解整个系统的意义,并且利用所学知识完成设计,虽然程序仍然有一些不是很完美的地方,但是仍然能让我学到很多东西,在各个方面对自己都有所提高。

另外我还要感谢我的母校——太原理工大学,以及在大学四年生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。在此次毕业设计的设计过程中,遇到了很多困难,但是有很多同学和老师的热情帮助,使得我按计划完成了任务,在整个系统的把握上给予了我很多帮助,我一定会努力完善自己,为母校争光。

转眼间,我们即将毕业,踏入社会,回首过去的大学生活,过得很充实,有苦也有乐,收获了很多知识和友谊,感谢母校的各位老师传授给我们很多知识,也在为人处世上给予了非常多的帮助。正是在这几个月紧张而充实的毕业设计中,我感到自己的知识得到了一次升华,我相信:我的毕业设计会给我的四年大学画上一个圆满的句号。

附录:英文技术资料翻译

英文原文

An Overview of Servlet and JSP Technology

1.1 A Servlet's Job

Servlets are Java programs that run on Web or application servers, acting as a middle layer between requests coming from Web browsers or other HTTP clients and databases or applications on the HTTP server. Their job is to perform the following tasks, as illustrated in Figure 1-1.

Figure 1-1

1.Read the explicit data sent by the client.

The end user normally enters this data in an HTML form on a Web page. However, the data could also come from an applet or a custom HTTP client program.

2.Read the implicit HTTP request data sent by the browser.

Figure 1-1 shows a single arrow going from the client to the Web server (the layer where servlets and JSP execute), but there are really two varieties of data: the explicit data that the end user enters in a form and the behind-the-scenes HTTP information. Both varieties are critical. The HTTP information includes cookies, information about media types and compression schemes the browser understands, and so on.

3.Generate the results.

This process may require talking to a database, executing an RMI or EJB call, invoking a Web service, or computing the response directly. Your real data may be in a relational database. Fine. But your database probably doesn't speak HTTP or return results in HTML, so the Web browser can't talk directly to the database. Even if it could, for security reasons, you probably would not want it to. The same argument applies to most other applications. You need the Web middle layer to extract the incoming data from the HTTP stream, talk to the application, and embed the results inside a document.

4.Send the explicit data (i.e., the document) to the client.

This document can be sent in a variety of formats, including text (HTML or XML), binary (GIF images), or even a compressed format like gzip that is layered on top of some other underlying format. But, HTML is by far the most common format, so an important servlet/JSP task is to wrap the results inside of HTML.

5.Send the implicit HTTP response data.

Figure 1-1 shows a single arrow going from the Web middle layer (the servlet or JSP page) to the client. But, there are really two varieties of data sent: the document itself and the behind-the-scenes HTTP information. Again, both varieties are critical to effective development. Sending HTTP response data involves telling the browser or other client what type of document is being returned (e.g., HTML), setting cookies and caching parameters, and other such tasks.

1.2 Why Build Web Pages Dynamically?

Many client requests can be satisfied by prebuilt documents, and the server would handle these requests without invoking servlets. In many cases, however, a static result is not sufficient, and a page needs to be generated for each request. There are a number of reasons why Web pages need to be built on-the-fly:

1. The Web page is based on data sent by the client.

For instance, the results page from search engines and order-confirmation pages at online stores are specific to particular user requests. You don't know what to display until you read the data that the user submits. Just remember that the user submits two kinds of data: explicit (i.e., HTML form data) and implicit (i.e., HTTP request headers). Either kind of input can be used to build the output page. In particular, it is quite common to build a user-specific page based on a cookie value.

2.The Web page is derived from data that changes frequently.

If the page changes for every request, then you certainly need to build the response at request time. If it changes only periodically, however, you could do it two ways: you could periodically build a new Web page on the server (independently of client requests), or you could wait and only build the page when the user requests it. The right approach depends on the situation, but sometimes it is more convenient to do the latter: wait for the user request. For example, a weather report or news headlines site might build the pages dynamically, perhaps returning a previously built page if that page is still up to date.

3.The Web page uses information from corporate databases or other server-side sources.

If the information is in a database, you need server-side processing even if the client is using dynamic Web content such as an applet. Imagine using an applet by itself for a search engine site:

"Downloading 50 terabyte applet, please wait!" Obviously, that is silly; you need to talk to the database. Going from the client to the Web tier to the database (a three-tier approach) instead of from an applet directly to a database (a two-tier approach) provides increased flexibility and security with little or no performance penalty. After all, the database call is usually the rate-limiting step, so going through the Web server does not slow things down. In fact, a three-tier approach is often faster because the middle tier can perform caching and connection pooling.

In principle, servlets are not restricted to Web or application servers that handle HTTP requests but can be used for other types of servers as well. For example, servlets could be embedded in FTP or mail servers to extend their functionality. And, a servlet API for SIP (Session Initiation Protocol) servers was recently standardized (see http://jcp.org/en/jsr/detail?id=116). In practice, however, this use of servlets has not caught on, and we'll only be discussing HTTP servlets.

1.3 The Advantages of Servlets Over "Traditional" CGI

Java servlets are more efficient, easier to use, more powerful, more portable, safer, and cheaper than traditional CGI and many alternative CGI-like technologies.

1.Efficient

With traditional CGI, a new process is started for each HTTP request. If the CGI program itself is relatively short, the overhead of starting the process can dominate the execution time. With servlets, the Java virtual machine stays running and handles each request with a lightweight Java thread, not a heavyweight operating system process. Similarly, in traditional CGI, if there are N requests to the same CGI program, the code for the CGI program is loaded into memory N times. With servlets, however, there would be N threads, but only a single copy of the servlet class would be loaded. This approach reduces server memory requirements and saves time by instantiating fewer objects. Finally, when a CGI program finishes handling a request, the program terminates. This approach makes it difficult to cache computations, keep database connections open, and perform other optimizations that rely on persistent data. Servlets, however, remain in memory even after they complete a response, so it is straightforward to store arbitrarily complex data between client requests.

2.Convenient

Servlets have an extensive infrastructure for automatically parsing and decoding HTML form data, reading and setting HTTP headers, handling cookies, tracking sessions, and many other such high-level utilities. In CGI, you have to do much of this yourself. Besides, if you already know the Java programming language, why learn Perl too? You're already convinced that Java technology makes for more reliable and reusable code than does Visual Basic, VBScript, or C++. Why go back to those languages for server-side programming?

3.Powerful

Servlets support several capabilities that are difficult or impossible to accomplish with regular CGI. Servlets can talk directly to the Web server, whereas regular CGI programs cannot, at least not without using a server-specific API. Communicating with the Web server makes it easier to translate relative URLs into concrete path names, for instance. Multiple servlets can also share data, making it easy to implement database connection pooling and similar resource-sharing optimizations. Servlets can also maintain information from request to request, simplifying techniques like session tracking and caching of previous computations.

4.Portable

Servlets are written in the Java programming language and follow a standard API. Servlets are supported directly or by a plugin on virtually every major Web server. Consequently, servlets written for, say, Macromedia JRun can run virtually unchanged on Apache Tomcat, Microsoft Internet Information Server (with a separate plugin), IBM WebSphere, iPlanet Enterprise Server, Oracle9i AS, or StarNine WebStar. They are part of the Java 2 Platform, Enterprise Edition, so industry support for servlets is becoming even more pervasive.

5.Inexpensive

A number of free or very inexpensive Web servers are good for development use or deployment of low- or medium-volume Web sites. Thus, with servlets and JSP you can start with a free or inexpensive server and migrate to more expensive servers with high-performance capabilities or advanced administration utilities only after your project meets initial success. This is in contrast to many of the other CGI alternatives, which require a significant initial investment for the purchase of a proprietary package.

Price and portability are somewhat connected. For example, Marty tries to keep track of the countries of readers that send him questions by email. India was near the top of the list, probably #2 behind the U.S. Marty also taught one of his JSP and servlet training courses (see http://courses.coreservlets.com/) in Manila, and there was great interest in servlet and JSP technology there.

Now, why are India and the Philippines both so interested? We surmise that the answer is twofold. First, both countries have large pools of well-educated software developers. Second, both countries have (or had, at that time) highly unfavorable currency exchange rates against the U.S. dollar. So, buying a special-purpose Web server from a U.S. company consumed a large part of early project funds.

But, with servlets and JSP, they could start with a free server: Apache Tomcat (either standalone, embedded in the regular Apache Web server, or embedded in Microsoft IIS). Once the project starts to become successful, they could move to a server like Caucho Resin that had higher performance and easier administration but that is not free. But none of their servlets or JSP pages have to be rewritten. If their project becomes even larger, they might want to move to a distributed (clustered) environment. No problem: they could move to Macromedia JRun Professional, which supports distributed applications (Web farms). Again, none of their servlets or JSP pages have to be rewritten. If the project becomes quite large and complex, they might want to use Enterprise JavaBeans (EJB) to encapsulate their business logic. So, they might switch to BEA WebLogic or Oracle9i AS. Again, none of their servlets or JSP pages have to be rewritten. Finally, if their project becomes even bigger, they might move it off of their Linux box and onto an IBM mainframe running IBM WebSphere. But once again, none of their servlets or JSP pages have to be rewritten.

6.Secure

One of the main sources of vulnerabilities in traditional CGI stems from the fact that the programs are often executed by general-purpose operating system shells. So, the CGI programmer must be careful to filter out characters such as backquotes and semicolons that are treated specially by the shell. Implementing this precaution is harder than one might think, and weaknesses stemming from this problem are constantly being uncovered in widely used CGI libraries.

A second source of problems is the fact that some CGI programs are processed by languages that do not automatically check array or string bounds. For example, in C and C++ it is perfectly legal to allocate a 100-element array and then write into the 999th "element," which is really some random part of program memory. So, programmers who forget to perform this check open up their system to deliberate or accidental buffer overflow attacks.

Servlets suffer from neither of these problems. Even if a servlet executes a system call (e.g., with Runtime.exec or JNI) to invoke a program on the local operating system, it does not use a shell to do so. And, of course, array bounds checking and other memory protection features are a central part of the Java programming language.

7.Mainstream

There are a lot of good technologies out there. But if vendors don't support them and developers don't know how to use them, what good are they? Servlet and JSP technology is supported by servers from Apache, Oracle, IBM, Sybase, BEA, Macromedia, Caucho, Sun/iPlanet, New Atlanta, ATG, Fujitsu, Lutris, Silverstream, the World Wide Web Consortium (W3C), and many others. Several low-cost plugins add support to Microsoft IIS and Zeus as well. They run on Windows, Unix/Linux, MacOS, VMS, and IBM mainframe operating systems. They are the single most popular application of the Java programming language. They are arguably the most popular choice for developing medium to large Web applications. They are used by the airline industry (most United Airlines and Delta Airlines Web sites), e-commerce (http://ofoto.com), online banking (First USA Bank, Banco Popular de Puerto Rico), Web search engines/portals (http://excite.com), large financial sites (American Century Investments), and hundreds of other sites that you visit every day.

Of course, popularity alone is no proof of good technology. Numerous counter-examples abound. But our point is that you are not experimenting with a new and unproven technology when you work with server-side Java.

注:本文来源于http://pdf.coreservlets.com

中文译文

Servlet和JSP技术简述

1.1 Servlet的功能

Servlets是运行在Web或应用服务器上的Java程序,它是一个中间层,负责连接来自Web浏览器或其他HTTP客户程序的请求和HTTP服务器上的数据库或应用程序。Servlet的工作是执行如下的任务,如图1-1所示 。

图1-1 Web中间件的作用

1、读取客户发送的显式数据。

最终用户一般在页面的HTML表单中输入这些数据。然而,数据还有可能来自applet或定制的HTTP客户程序。

2、读取由浏览器发送的隐式请求数据。

图1.1中显示了一条从客户端到Web服务器的单箭头,但实际上从客户端传送到Web服务器的数据有两种,它们分别为用户在表单中输入的显式数据,以及后台的HTTP信息。两种数据都很重要。HTTP信息包括cookie、浏览器所能识别的媒体类型和压缩模式等。

3、生成结果。

这个过程可能需要访问数据库、执行RMI或EJB调用、调用Web服务,或者直接计算得出对应的响应。实际的数据可能存储在关系型数据库中。该数据库可能不理解HTTP,或者不能返回HTML形式的结果,所有Web浏览器不能直接与数据库进行会话。即使它能够做到这一点,为了安全上的考虑,我们也不希望让它这么做。对应大多数其他应用程序,也存在类似的问题。因此,我们需要Web中间层从HTTP流中提取输入数据,与应用程序会话,并将结果嵌入到文档中。

4、向客户发送显式数据(即文档)。

这个文档可以用各种格式发送,包括文本(HTML或XML),二进制(GIF图),甚至可以是建立在其他底层格式之上的压缩格式,如gzip。但是,到目前为止,HTML是最常用的格式,故而servlet和JSP的重要任务之一就是将结果包装到HTML中。

5、发送隐式的HTTP响应数据。

图1.1中显示了一条从Web中间层到客户端的单箭头。但是,实际发送的数据有两种:文档本身,以及后台的HTTP信息。同样,两种数据对开发来说都是至关重要的。HTTP响应数据的发送过程涉及告知浏览器或其他客户程序所返回文档的类型(如HTML),设置cookie和缓存参数,以及其他类似的任务。

1.2 动态构建网页的原因

预先建立的文档可以满足客户的许多请求,服务器无需调用servlet就可以处理这些请求。然而,许多情况下静态的结果不能满足要求,我们需要针对每个请求生成一个页面。实时构建页面的理由有很多种:

1、网页基于客户发送的数据。

例如,搜索引擎生成的页面,以及在线商店的订单确认页面,都要针对特定的用户请求而产生。在没有读取到用户提交的数据之前,我们不知道应该显示什么。要记住,用户提交两种类型的数据:显示(即HTML表单的数据)和隐式(即HTTP请求的报头)。两种输入都可用来构建输出页面。基于cookie值针对具体用户构建页面的情况尤其普遍。

2、页面由频繁改变的数据导出。

如果页面需要根据每个具体的请求做出相应的改变,当然需要在请求发生时构建响应。但是,如果页面周期性地改变,我们可以用两种方式来处理它:周期性地在服务器上构建新的页面(和客户请求无关),或者仅仅在用户请求该页面时再构建。具体应该采用哪种方式要根据具体情况而定,但后一种方式常常更为方便,因为它只需简单地等待用户的请求。例如,天气预报或新闻网站可能会动态地构建页面,也有可能会返回之前构建的页面(如果它还是最新的话)。

3、页面中使用了来自公司数据库或其他服务器端数据源的信息。

如果数据存储在数据库中,那么,即使客户端使用动态Web内容,比如applet,我们依旧需要执行服务器端处理。想象以下,如果一个搜索引擎网站完全使用applet,那么用户将会看到:“正在下载50TB的applet,请等待!”。显然,这样很愚蠢;这种情况下,我们需要与数据库进行会话。从客户端到Web层再到数据库(三层结构),要比从applet直接到数据库(二层结构)更灵活,也更安全,而性能上的损失很少甚至没有。毕竟数据库调用通常是对速度影响最大的步骤,因而,经过中间层可以执行高速缓存和连接共享。

理论上讲,servlet并非只能用于处理HTTP请求的Web服务器或应用服务器,它同样可以用于其他类型的服务器。例如,servlet能够嵌入到FTP或邮件服务器中,扩展他们的功能。而且,用于会话启动协议服务器的servlet API最近已经被标准化(参见http://jcp.org/en/jsr/detail?id=116)。但在实践中,servlet的这种用法尚不流行,在此,我们只论述HTTP Servlet。

1.3 Servlet相对于“传统”CGI的优点

和传统CGI及许多类CGI技术相比,Java servelt效率更高、更易用、更强大、更容易移植、更安全、也更廉价。

1、效率

应用传统的CGI,针对每个HTTP请求都用启动一个新的进程。如果CGI程序自身相对比较简短,那么启动进程的开销会占用大部分执行时间。而使用servelt,Java虚拟机会一直运行,并用轻量级的Java线程处理每个请求,而非重量级的操作系统进程。类似地,应用传统的CGI技术,如果存在对同一CGI程序的N个请求,那么CGI程序的代码会载入内存N次。同样的情况,如果使用servlet则启动N个线程,仅仅载入servlet类的单一副本。这种方式减少了服务器的内存需求,通过实例化更少的对象从而节省了时间。最后,当CGI程序结束对请求的处理之后,程序结束。这种方式难以缓存计算结果,保持数据库连接打开,或是执行依靠持续性数据的其他优化。然而,servlet会一直停留在内存中(即使请求处理完毕),因而可以直接存储客户请求之间的任意复杂数据。

2、便利

Servlet提供大量的基础构造,可以自动分析和解码HTML的表单数据,读取和设置HTTP报头,处理cookie,跟踪会话,以及其他的高级功能。而在CGI中,大部分工作都需要我们自己完成。另外,如果您已经了解了Java编程语言,为什么还学Perl呢?您已经承认应用Java技术编写的代码要比Visual Basic,VBScript或C++编写的代码更可靠,且更易重用,为什么还有倒退回去选择那些语言来开发服务器端的程序呢?

3、强大

Servlet支持常规CGI难以实现或根本不能实现的几项功能。Servlet能够直接与Web服务器对话,而常规的CGI程序做不到这一点,至少在不使用服务器专有API的情况下是这样。例如,与Web服务器的通信使得将相对URL转换成具体的路径名变得更为容易。多个servelt还可以共享数据,从而易于实现数据库连接共享和类似的资源共享优化。Servelt还能维护请求之间的信息,使得诸如会话跟踪和计算结果缓存等技术变得更为简单。

4、可移植性

Servelt使用Java编程语言,并且遵循标准的API。所有主要的Web服务器,实际上都直接或通过插件支持servlet。因此。为Macromedia JRun编写的servlet,可以不经过任何修改地在Apache Tomcat,Microsoft Internet Information Server,IBM WebSphere ,iPlanet Enterprise Server,Oracle9i AS 或者StarNine WebStar上运行。他们是Java2平台企业版的一部分,所以对servlet的支持越来越普遍。

5、廉价

对于开发用的网站、低容量或中等容量网站的部署,有大量免费或极为廉价的Web服务器可供选择。因此,通过使用servlet和jsp,我们可以从免费或廉价的服务器开始,在项目获得初步成功后,再移植到具有更高性能或高级管理工具的昂贵的服务器上。这与其他CGI方案形成鲜明的对比,这些CGI方案在初期都需要为购买专利软件包投入大量的资金。

价格和可移植性在某种程度上是相互关联的。例如,Marty记录了所有通过电子邮件向他发送问题的读者的所在国。印度接近列表的顶端,可能仅次于美国。Marty曾在马尼拉讲授过JSP和servlet培训课程(参见 http://courses.coreservlets.com/),那儿对servelt和jsp技术抱有很大的兴趣。

那么,为什么印度和菲律宾都对这项技术这么感兴趣呢?我们推测答案可能分两部分。首先,这两个国家都拥有大量训练有素的软件开发人员。其次,这两个国家的货币对美元的汇率都极为不利。因此,从美国公司那里购买专用Web服务器会消耗掉项目的大部分前期资金。

但是,使用servlet 和JSP,他们能够从免费的服务器开始:Apache Tomcat。项目取得成功之后,他们可以转移到性能更高、管理更容易,但需要付费的服务器。他们的servlet和JSP不需要重新编写。如果他们的项目变得更庞大,他们或许希望转移到分布式环境。没有问题:他们可以转而使用Macromedia JRun Professional,该服务器支持分布式应用。同样,他们的servlet和jsp没有任何部分需要重写。如果项目变得极为庞大,错综复杂,他们或许希望使用Enterprise JavaBeans来封装他们的商业逻辑。因此,他们可以切换到BEA WebLogic或Oracle9i AS。同样,不需要对servlet和JSP做出更改。最后,如果他们的项目变得更庞大,他们或许将他从Linux转移到运行IBM WebSphere的IBM大型机上,他们还是不需要做出任何更改。

6、安全

传统CGI程序中主要的漏洞来源之一就是,CGI程序常常由通用的操作系统外壳来执行。因此,CGI程序必须仔细地过滤掉那些可能被外壳特殊处理的字符,如反引导和分号。实现这项预防措施的难度可能超出我们的想象,在广泛应用的CGI库中,不断发现由这类问题引发的弱点。

问题的第二个来源是,一些CGI程序用不自动检查数组和字符串边界的语言编写而成。例如,在C和C++中,可以分配一个100个元素的数组,然后向第999个“元素“写入数据——实际上是程序内存的随机部分,这完全合法。因而,如果程序员忘记执行这项检查,就会将系统暴露在蓄意或偶然的缓冲区溢出攻击之下。

Servelt不存在这些问题。即使servelt执行系统调用激活本地操作系统上的程序,它也不会用到外壳来完成这项任务。当然,数组边界的检查以及其他内存保护特性是Java编程语言的核心部分。

7、主流

世の中には優れたテクノロジーがたくさんありますが、プロバイダーがそれらをサポートしていないか、開発者がそれらの使用方法を知らなかったら、それらは何の役に立つのでしょうか? servlt および JSP テクノロジは、Apache、Oracle、IBM、Sybase、BEA、Maromedia、Causho、Sun/iPlanet、New Atlanta、ATG、Fujitsu、Lutris、Silverstream、World Wide Web Consortinrm などのサーバー プロバイダーによって広くサポートされています。低コストのプラグインがいくつかあり、これらのプラグインを適用することで、Microsoft IIS と Zeus は、Windows、Unix/Linus、MacOS、VMS、および IBM メインフレーム オペレーティング システムで実行されるサーブレットと jsp テクノロジもサポートします。これらは、航空会社、電子商取引、オンライン バンキング、Web 検索エンジン、ポータル、大規模な金融サイト、および日常的にアクセスするその他の何百ものサイトで使用されています。

もちろん、単に人気があるだけでは技術的な優位性は証明されません。反例は数多くあります。しかし、私たちの立場は次のとおりです。サーバーサイド Java は新しい技術ではなく、実証されていません。

おすすめ

転載: blog.csdn.net/m0_66999594/article/details/128665926