問題タブ [front-controller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
247 参照

java - Java サーブレット - フロント コントローラーに関する質問 (リスナーとコンテキスト)

現在取り組んでいるプロジェクトでは、フロント コントローラー パターンを使用することにしました。私は常に、フロント コントローラーが (最終的には) Web アプリで発生するすべての処理を担当する必要があるという印象を受けてきました。リスナーはこのパターンに違反しますか?

もちろん、これは次のものよりもはるかに単純に見えます。

これは非常に単純化された例です。実際にはもっと多くのパラメータがあります。では、どのスニペットがフロント コントローラー パターンにより忠実であると考えられるでしょうFrontControllerか? 下から構成を渡すか、または構成を直接クラスに提供しますか?

私はJavaが初めてなので、フレームワークを使用せずにサーブレットを学習しようとしています(当面)。

0 投票する
1 に答える
81 参照

java - アプリケーション スコープのデータの読み込みを担当する必要がある Web アプリの要素はどれですか?

以下の図のように、Front Controller デザイン パターンから構築された、戦略パターン ベースのアクション、.jsp ページ、javabeans、およびデータベース接続を含む Web アプリケーションを考えてみましょう。 ここに画像の説明を入力

アプリケーション スコープのデータの読み込み、初期化、および更新について、自分のコードで責任を割り当てるにはどうすればよいですか?

私はこのテーマについて多くのことを読んできましたが、フレームワーク固有のもの、および類似しているが非常に異なる Q&A のすべての間で、探しているものを見つけるのは困難です。

Android とは異なり、Google での「Java Web アプリ ライフサイクル」検索は、Web アプリを実行するのではなく、開発プロセスでヒットを返します。ライフサイクルの基本的な理解と、Web アプリケーションの責任管理を探しています。

データベースから Java オブジェクトに接続し、データを取得し、並べ替えることができるプロバイダー クラスが既にあります。これがベスト プラクティス ソリューションであると仮定すると、Web アプリのライフサイクル/コードのどこでこのプロバイダーを参照/作成し、アプリケーション全体で使用するためにデータを保存する必要がありますか?

0 投票する
0 に答える
137 参照

c# - 同じソリューション内の複数の .Net MVC Web プロジェクト用の単一のフロント コントローラー

2 つの Web プロジェクト (1 つの管理者と 1 つのパブリック) と多数のクラス ライブラリを含むソリューションがあります。すべての Web 要求に対して呼び出される管理プロジェクトに配置されたフロント コントローラーがあります。私の問題は、パブリック プロジェクトで作成したコントローラーが、管理プロジェクトのフロント コントローラーから見えないことです。両方のプロジェクトで同じフロント コントローラーを使用するにはどうすればよいですか? 概要:

管理者 -> コントローラー - フロントコントローラー - その他の管理者コントローラー

パブリック -> コントローラ - パブリック コントローラ (フロント コントローラはこれらのコントローラを「認識」しません。これらのコントローラは別のプロジェクトに存在するためです)。

ご協力いただきありがとうございます。

0 投票する
1 に答える
816 参照

php - PHPでフロントコントローラーを理解する

私は PHP に非常に慣れていませんが、非常に大まかな CMS を作成することができまし。現時点では、多くの異なるページとインクルードを使用しています。

ただし、可能であれば、多くのページを使用するのではなく、コントローラーを使用したいと思います (既に取得していますarticle.php/admin.php)。

例として、次のようなものに変換しようとしています。

これは で使用される$_GET['page']ため、管理 URL は次のようになります。http://cms.dev/?page=admin

しかし、admin のサブディレクトリに移動する必要がある場合はどうなりますか? たとえば、これらがハードコーディングされたページである場合、私はadmin/new-post.php. を使用して取得できる同等のものはあり$_GET methodますか?

これがうまく説明されていない場合は申し訳ありません。お知らせください。編集してみます。私はチュートリアルの smorgsaboard を使用したので、これについて 100% ではありません。

0 投票する
1 に答える
605 参照

java - フロント コントローラー Web アプリケーションで Http 要求の競合状態を処理するにはどうすればよいですか?

以下の画像で説明されているように、Front Controller パターンの実装である Web アプリケーションがあります。具体的には、この質問の回答で説明されているように、フロント コントローラー パターンのコード例に従いました。

デザイン パターン Web ベースのアプリケーション

フロントコントローラー

.jsp ページの 1 つで更新の問題が発生しています。特に、このページにはポップアップ エディターがあり、ユーザーは外部データベースのデータ セットへのリンクを追加または削除できます。ユーザーが保存ボタンを押すと、リクエストが送信され、フロント コントローラーによってインターセプトされます。次に、参照リンク (多対多の ID 番号) を保存または削除するための正しいアクションが、システム独自のデータベースで実行されます。その後、ページをリロードする必要があります。これにより、ポップアップなしで本質的に同じページにリダイレクトする前に、両方のデータベースからデータをロードする連鎖コマンドがトリガーされます。

ただし、理解できない何らかの形式のキャッシュが原因で、ページはリロードされません。キャッシュされたデータのロードを防ぐために、URLに一意の値を追加することから、jspページにメタタグを追加することまで、見つけられるすべてのソリューションを試しました。サーバー側でデータが読み込まれていることを確認しました。F5 を 1 回クリックするだけで、ページが自動的に更新されるように更新されます。

また、window.location.reload() を呼び出す onClose 関数をポップアップに実装しました。ただし、この呼び出しはフロント コントローラーに割り込み、最新の要求を処理するために現在実行中のすべてを停止します。これにより競合状態が発生し、フロント コントローラーがページのリロードを開始する前に、データを挿入/削除できる場合とできない場合があります。

列を作るべきですか?このようにしない正当な理由はありますか?フロントコントローラーの実行メソッド、またはクラス自体が何らかの同期を実装する必要がありますか?