我知道 Spring MVC 控制器是单例。
因此,使用控制器的字段来存储数据可能会导致安全问题。
问题是,假设它有一个允许用户下载文件的映射 -
@RequestMapping(value = "downloadReport", method=RequestMethod.GET)
public void downloadReport(@RequestParam("reportStoreId") String reportStoreId,
HttpServletResponse response, HttpServletRequest request) {
// use reportStoreId to fetch a report from file system and pass it to user using PrintWriter, response.getWriter(), etc...
}
那么如果多个用户同时请求下载不同ID的文件,是否会导致一个用户获取另一个用户请求的文件?