WebJava-sparkアプリケーションの正しいURLフロー

ポールテイラー

私のWebアプリケーションはSparkFramework(サーバーと同じページに接続)で作成されています。最初のページのURLはhttp:// localhost:4567 / startです。ここから、ユーザーはボタンをクリックして4つのタスクのいずれかを決定します。フォームアクションボタンは/ startです

サーバーはすべてが正常であることを確認してから、このタスクの新しいページ(fixsongsなど)をページから返します(つまり、ページの内容を文字列として返します)。

post(RoutePath.START, (request, response)       -> new ServerStart().processRoute(request, response));//User has picked task on start page

ServerFixSongs ssfs = new ServerFixSongs();
path(RoutePath.STARTFIXSONGS, () ->
{
    //Display Page
    post(RoutePath.FIX,             (request, response) -> ssfs.startTask(request, response)); //User submits form on Options page
}); 

問題は、URLが同じままである、つまり、ユーザーがいる場所の背後にあることです。

これを解決する方法を考え出しました。サーバーがページを返す代わりに、/ fixsongs.go(これはルートにマップされます)にリダイレクトします。メソッドは、ページの内容を文字列として返し、URLを変更します。

post(RoutePath.START, (request, response)       -> new ServerStart().processRoute(request, response));//User has picked task on start page
ServerFixSongs ssfs = new ServerFixSongs();
path(RoutePath.STARTFIXSONGS, () ->
{
    get(RoutePath.GO,               (request, response) -> new FixSongsPage(request.session().attribute(FOLDER)).createPage(null, null)); //Display Page
    post(RoutePath.FIX,             (request, response) -> ssfs.startTask(request, response)); //User submits form on Options page
});   

しかし、私は2つの質問があります

  1. これはもっと面倒なアプローチですか?これを行う正しい方法ですか
  2. これらの追加のリダイレクト手順はパフォーマンスに影響しますか

注テンプレートを使用していませんが、j2htmlを使用してWebページを作成しています

htmlは実際には存在せず、ページは動的に作成されるため、最初の呼び出しでhtmlファイルに直接リダイレクトすることはできません。

また、STARTページから開始タスクを送信すると、STARTFIXSONGSにリダイレクトするため、POSTリクエストを送信しますが、これは、次の段階でユーザーが[戻る]ボタンを使用してSTARTFIXSONGSに戻ることができることを意味します。私は彼らがこれを行うことができないことを望んでいるので、これは私がこの場合リダイレクトを使用してはならないことを意味します。

ほろ酔い

あなたの質問は、実際にはSparkやj2htmlに関連しているのではなく、一般的なWebアプリケーションに関連しています。

これはもっと面倒なアプローチですか?これを行う正しい方法ですか

それはあなたが望むものに依存します。ユーザーがブラウザのボタンを使用してナビゲートできるようにする場合は、Post-Redirect-Getフローを使用します。これを望まない場合は、おそらくajaxリクエストを使用する必要があります。JavaScriptを使用してサーバーに投稿すると、サーバーはDOM(通常はJSON形式)を更新するための指示で応答します。

これらの追加のリダイレクト手順はパフォーマンスに影響しますか

あなたがそれについて心配する必要があるほど十分ではありません。往復がもう1回ありますが、99.9%の場合は問題ではありません。ターゲットユーザーベースが別の大陸でGPRSを使用してページを閲覧している場合はそうなりますが、おそらくそうではありません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

非WebJavaアプリケーションをデプロイします

分類Dev

AWSに非WebJavaアプリケーションをデプロイする

分類Dev

BootstrapのcssとjsをWebJavaアプリケーション(jsp)にロードするにはどうすればよいですか?

分類Dev

Spring Boot WebJava構成が機能しない

分類Dev

Herokuで2番目の非WebJavaアプリプロセスを実行する

分類Dev

WebJavaプロジェクトですべての例外を処理する方法

分類Dev

wpfアプリケーションの画像コントロールが画像を正しく表示しない

分類Dev

アプリケーションサーバーにデプロイするための正しいmaven2フェーズは何ですか?

分類Dev

ビルド時変数を使用したJavaScriptアプリケーションパイプラインの正しいフローは何ですか?

分類Dev

ディープリンクで正しいリファラーアプリケーションを取得する

分類Dev

ファイルパスは、コンソールアプリケーションのローカルで正確に機能していませんか?

分類Dev

UnityDashからのアプリケーションURIの正しい処理

分類Dev

UnityDashからのアプリケーションURIの正しい処理

分類Dev

トラフィックの多い接続アプリケーションを管理する正しい方法

分類Dev

Play 2.6 アプリケーションからダウンロードするときのファイル名が正しくない

分類Dev

ValgrindのMassifツールがアプリケーションのプロファイルを作成しない

分類Dev

アプリケーションの正しいパスを取得する方法

分類Dev

IISの正しいアプリケーションパスを見つける

分類Dev

iOS Swift 2.3:アプリケーションrestorementHandlerの正しい構文?

分類Dev

ローカル画像ファイルのコンテンツURLがWindowsPhone8アプリケーションで機能しない

分類Dev

別のリリースのアプリケーションを再スター/リロードする正しい方法

分類Dev

Spark typesafeconfigを使用してアプリケーションプロパティファイルを送信します

分類Dev

TPLデータフローとコンソールアプリケーションがアプリケーションを終了しない

分類Dev

VisualVM Profilerがアプリケーションをプロファイルしないのはなぜですか?

分類Dev

リバースプロキシの背後にあるThymeleafテンプレート(Springブートアプリケーション内)がURLを正しく形成しない

分類Dev

OrderedRequestContextFilterでのSpringBootアプリケーションの予期しないログ

分類Dev

OrderedRequestContextFilterでのSpringBootアプリケーションの予期しないログ

分類Dev

OrderedRequestContextFilterでのSpringBootアプリケーションの予期しないログ

分類Dev

アプリケーションローダーを介した新しいアプリ内購入の追加

Related 関連記事

  1. 1

    非WebJavaアプリケーションをデプロイします

  2. 2

    AWSに非WebJavaアプリケーションをデプロイする

  3. 3

    BootstrapのcssとjsをWebJavaアプリケーション(jsp)にロードするにはどうすればよいですか?

  4. 4

    Spring Boot WebJava構成が機能しない

  5. 5

    Herokuで2番目の非WebJavaアプリプロセスを実行する

  6. 6

    WebJavaプロジェクトですべての例外を処理する方法

  7. 7

    wpfアプリケーションの画像コントロールが画像を正しく表示しない

  8. 8

    アプリケーションサーバーにデプロイするための正しいmaven2フェーズは何ですか?

  9. 9

    ビルド時変数を使用したJavaScriptアプリケーションパイプラインの正しいフローは何ですか?

  10. 10

    ディープリンクで正しいリファラーアプリケーションを取得する

  11. 11

    ファイルパスは、コンソールアプリケーションのローカルで正確に機能していませんか?

  12. 12

    UnityDashからのアプリケーションURIの正しい処理

  13. 13

    UnityDashからのアプリケーションURIの正しい処理

  14. 14

    トラフィックの多い接続アプリケーションを管理する正しい方法

  15. 15

    Play 2.6 アプリケーションからダウンロードするときのファイル名が正しくない

  16. 16

    ValgrindのMassifツールがアプリケーションのプロファイルを作成しない

  17. 17

    アプリケーションの正しいパスを取得する方法

  18. 18

    IISの正しいアプリケーションパスを見つける

  19. 19

    iOS Swift 2.3:アプリケーションrestorementHandlerの正しい構文?

  20. 20

    ローカル画像ファイルのコンテンツURLがWindowsPhone8アプリケーションで機能しない

  21. 21

    別のリリースのアプリケーションを再スター/リロードする正しい方法

  22. 22

    Spark typesafeconfigを使用してアプリケーションプロパティファイルを送信します

  23. 23

    TPLデータフローとコンソールアプリケーションがアプリケーションを終了しない

  24. 24

    VisualVM Profilerがアプリケーションをプロファイルしないのはなぜですか?

  25. 25

    リバースプロキシの背後にあるThymeleafテンプレート(Springブートアプリケーション内)がURLを正しく形成しない

  26. 26

    OrderedRequestContextFilterでのSpringBootアプリケーションの予期しないログ

  27. 27

    OrderedRequestContextFilterでのSpringBootアプリケーションの予期しないログ

  28. 28

    OrderedRequestContextFilterでのSpringBootアプリケーションの予期しないログ

  29. 29

    アプリケーションローダーを介した新しいアプリ内購入の追加

ホットタグ

アーカイブ