この質問がこれと非常に似ていることは知っていますが、ここで独自の質問を正当化するのに十分なほど具体的で異なると感じています。
私は、ドキュメントを残さなかった唯一の開発者から Java Web アプリ プロジェクトを継承しました。次のような基本的なパッケージ構造を持つ Spring MVC アプリです。
com.ourOrg.app.controllers
ImageController
ProgramController
UserController
com.ourOrg.app.otherPackages
各クラスは、および でController
注釈が付けられた単なる POJOです。例えば:@Controller
@RequestMapping("/blah")
@Controller
@RequestMapping("/images")
public class ImageController() {
@RequestMapping(value="/saveImage", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<String> saveImage(@RequestParam(value="imageData", required=true) String imageXML, HttpServletRequest request){
// This method gets executed whenever the:
// http://ourSite.com/images/saveImage
// URL is hit
}
}
ブラウザーのキャッシュを無効にするために、次の HTTP ヘッダーを Spring 構成に追加するように依頼されました。
プラグマ: no-cache
キャッシュ制御: キャッシュなし
期限切れ: -1
WebContentGenerator
上記のリンク先の記事では、コントローラーがこのクラスを拡張する必要があるように聞こえます。残念ながら、膨大な数のメソッドを持つコントローラーが多数あるため、それぞれをリファクタリングしていくつかの基本型を拡張または継承することは、実際には実行可能なオプションではありません (それが唯一のオプションでない限り!)。
応答ヘッダーを変更する AOP インターセプターを使用するように Spring を構成する必要があるように思われる記事も見てきましたが、今では本当になじみのない領域に入り込んでいます。
Spring MVC のセットアップと実装を考えると、サーバーから返されるすべての応答にこれら 3 つの単純なヘッダーを追加する最も簡単な方法は何ですか (実行されるコントローラーまたはメソッドに関係なく)。
前もって感謝します!