8

私は Java と mysql を使用してインタラクティブな Web サイトを開発する任務を負っています。サーブレットを使用してデータを取得およびマッサージし、アプレットを使用してクライアント側でデータの特別な処理を行い、さまざまなデータ ビューに対するクライアントからの要求を処理します。

Javaを使用したWeb開発のための適切な汎用ツールキット/環境として何をお勧めしますか.

次の目的で何を使用するかを知る必要があります。

  • サーバー側 (tomcat?/?)
  • CMS
  • エディター/IDE
  • 一般的なツール/ユーティリティ
  • 指示された (特別な目的の) ツール/ユーティリティ
  • テストおよび QA ツール/ユーティリティ/テクニック
  • 参考資料(オンラインとオフラインの両方)

提案された解決策を評価し、代替案/改善策/サポートを提供してください。


推奨される Java Web 開発ツールキット/環境

cdb:

  • サーバー側:
    Tomcat6
  • CMS:
    Drupal (準備段階では必要ありません)
  • エディタ/IDE:
    NetBeans (初心者向け)
  • 一般的なツール:
    (ほとんどすべてが NetBeans にあります... 後で使用します)
  • 指示(特別な目的):
    (ほとんどすべてが NetBeans にあります... 後で行ってください)
  • テストと QA:
    JUnit と Firebug の使用 (最初に手動テストを行う)
  • 参考資料:
    JSP、JavaScript等に関するHeadFirstシリーズ
    SCRIBD(オンライン)
    [編集]
  • フレームワーク:
    Spring Web MVC 2.5 - (これには他のほとんどのフレームワークが含まれているようです)

回答から抽出されたオプション

サーバ側

  • Apache Tomcat - 「Java コードを実行するための HTTP Web サーバー環境」
  • Jetty - 「HTTP サーバー、HTTP クライアント、および javax.servlet コンテナー」
  • GlassFish - アプリケーションサーバー (Tomcat + より多くの機能に基づく)
  • JBoss - アプリケーション サーバー (「100% Pure Java で実装された J2EE ベースのアプリケーション サーバー」)

CMS

エディター/IDE

一般的なツール/ユーティリティ

  • Maven - 「.. Java ベースのプロジェクトの構築と管理に使用できるツール。」
  • log5jここ[SourceForge] - 「Java バージョン 5 以降の Java ログ ライブラリ」

指示された (特別な目的の) ツール/ユーティリティ

  • CruiseControl - チームベースの「カスタム継続ビルドプロセスを作成するためのツールと拡張可能なフレームワーク」
  • Spring Framework (- デザイン)

テストおよび QA ツール/ユーティリティ/テクニック

  • Watij - 「Web アプリケーションの自動化を可能にするために作成された Java API」
  • HtmlUnit - "HTML ドキュメントをモデル化し、ページの呼び出し、フォームへの入力、リンクのクリックなどを可能にする API を提供します..."
  • Firebug - (Firefox) 「任意の Web ページでライブの CSS、HTML、および JavaScript を編集、デバッグ、および監視する」
  • Hudson - 「ソフトウェア プロジェクトの構築/テスト [...] 外部で実行されるジョブの実行の監視」
  • LiveHttpHeaders - HTTP リクエスト ヘッダーをライブで表示および編集する
  • JUnit - 「繰り返し可能なテストを書くためのフレームワーク」

参考資料(オンラインとオフラインの両方)

4

6 に答える 6

4
  • サーバー側
    Tomcat6
  • CMS
    Drupal (プリリム フェーズでは必要ありません)
  • エディタ / IDE
    NetBeans (初心者向け)
  • 一般的なツール/ユーティリティ
    (ほとんどすべてがNetBeansにあります。後で使用します)
  • 指示された(特別な目的の) ツール/ユーティリティ
    (ほとんどすべてがNetBeansにあります。後で使用します)
  • テストと QA ツール/ユーティリティ/テクニック
    JUNITと FireBug の使用(最初に手動テストを行う)
  • 参考資料(オンライン・オフライン共)JSP、JavaScript等のHeadFirst
    シリーズSCRIBD(オンライン)
于 2009-09-08T06:21:03.167 に答える
3

Web開発には、次のものを使用します(推奨します)。

  • JSP/サーブレットAPI
  • SpringMVC
  • JQuery
  • XHTMLとCSS
  • Fitnesse

リソースに関しては、これらすべてのテクノロジーはそれぞれのサイトで十分に文書化されていますが、唯一の例外はXHTMLとCSSであり、http://www.alistapart.comをお勧めします。

エディターに関しては、IntelliJと(私は信じています)Eclipseの両方が非常に優れたHTML、CSS、JSP、JavaScriptエディターを持っています。

また、Firefox(Brianが提案したように)をWebDeveloperプラグインとFirebugの両方で使用します。これらは両方とも不可欠です。

于 2009-09-07T08:15:35.613 に答える
3

TomcatとJettyはどちらも、よく知られている/サポートされているサーブレットコンテナです。顧客向けにデプロイ可能なものを構築している場合、デプロイメントを制御しない場合は、両方でテストすることをお勧めします。

テストについては、(JUnit / TestNGの通常の単体テストフレームワークとともに)Watijおよび/またはHtmlUnitをチェックアウトしてください。これらにより、実際のWebとブラウザーの相互作用を自動化でき、長期的には悲しみの世界を救うことができます。欠点は、テストの設定に時間を費やす必要があることです。

自動テストに関連して、自動ビルド/継続的インテグレーションシステムが必要だと思います。Javaの世界にはたくさんあります。2つの一般的なものはCruiseControlHudsonです。

上記の多くの場合、標準のJava /開発ツールが適用されます。たとえば、「標準」のIDE(Netbeans / Eclipse / Intellij-Intellijは支払う価値があります)。同じことがCMSにも当てはまり、このWebサイトには、SVN / Git /Mercurialなどの長所/短所に関する多くのリソースがあります。選択したCMSがIDEと統合されていることを確認する価値があります。

(Firefoxで)開発を簡素化するためにFirebugをチェックします。これにより、フロントエンドの開発がはるかに簡単になります。LiveHttpHeadersは、HTTP転送に関連する問題の診断を容易にします。

于 2009-09-07T08:22:02.480 に答える
3

CMS

  • 亀SVN

エディター/IDE

  • 日食

一般的なツール/ユーティリティ

  • Maven (ビルドおよびデプロイ ツール)
  • クルーズコントロール
  • GWT/ext-GWT/ICEFaces - Web コンポーネント技術
  • Spring - 依存性注入フレームワーク
  • 休止状態-ORM
  • Axis 2.0 Web サービス開発キット
  • ボス

指示された (特別な目的の) ツール/ユーティリティ

  • log5j - ロギング用

テストおよび QA ツール/ユーティリティ/テクニック

- Watij
- Firebug
- QTP for automated testing
- Junit Perf (Junit test cases for performance testing.)

参考資料(オンラインとオフラインの両方)

  • 各テクノロジーの Java ドキュメント
  • もちろんグーグル:)
于 2009-09-07T09:46:57.963 に答える
0

slashmais の要求により編集された最初の段落: この回答は他の回答と実際には一致しておらず、言い換えられた質問です。それは他の答えを補完するものです。テクノロジーを選択する際には、個人の好みが非常に重要だと思います。私はそれをいくつかのことを(嫌い)好きであり、対応するテクノロジーを選択していると考えています。残りの回答では例を示します。


たとえば、開発者のアクションをできるだけリアルタイムでチェックして、すぐにフィードバックを受け取り、可能であれば完了し、早期に多くのエラーを回避する必要があると考えているとします。この (嫌いな) 好みによって、いくつかの好みが決まります。

  • 静的型言語 (Java など) を使用する
  • 入力時にコンパイルされる IDE を使用する (Eclipse など)
  • 厳密な xsd を使用して、すべての Xml を検証する必要があります。コンテンツに他の情報 (Java コードなど) への参照がある場合は、チェックする必要があります (Spring の Bean クラスのチェックなど)。
  • ビュー テクノロジについては、私の Java コードに依存するため、実際の Java コードを含む検証が必要です。Java で私のビューをコーディングすることも考えられます。(ウィケットのように)。
  • 私のプロパティは、翻訳のためにプロパティ ファイルにある必要があります。しかし、私のコード (またはビュー) で文字列キーを使用することは受け入れられません。各プロパティ ファイルから Java 列挙型を作成する小さなツールを実行し、コードで列挙型を参照します。
  • ... 等々

他の例として、「設定より規約」を強く好むとます。つまり、私は自分のプロジェクトで厳密なルールに従うことに同意し、手動で行う配管作業を大幅に減らすことに同意します (デフォルト値が適合するため)。

  • Maven は最適なビルド ツールです。多くの制約を課しますが、すぐに使用できる多くの「ビルド」機能も提供します...
  • Web アプリケーションの場合、Struts 1 は使用できませんでした。なぜなら、それらは struts-config.xml 内のこれらの巨大な構成ファイルであり、ほとんどが配管コードを含むためです。URLをコントローラーにマッピングするためのデフォルト値を持つSpring MVCのようなものに間違いなく切り替えます。
  • 等々 ...

別の例として、明確さと再利用のために、 Model-View-Controller の分離を非常に重視しているので、それを少し拡張したいとします。私は使用できます:

  • ビューでは、モデル (クリーンな Html、書式設定なし、スクリプトなし)、ビュー (または書式設定、外部 CSS のみ)、およびコントローラ (javascript、邪魔にならない JavaScript ポリシーを使用) を明確に分離します。
  • webapp では、Spring MVC を使用してこれらのレイヤーをうまく分離できました。
  • ビジネスでは (この例は少し工夫されています :-) )、豊富なドメイン モデルを用意し、コマンド パターン (「コントローラー」) を広く使用して、ビジネス サービスをインターフェイス API (「ビュー」) として明示的に公開することができます。
于 2009-09-07T08:28:24.963 に答える