我想开发一个身份验证系统,如果身份验证令牌已过期,它将允许您继续在请求身份验证之前存储您的请求,例如查询参数或键入查询参数的会话对象。
对于GET
操作,很容易将查询参数捕获为查询字符串的一部分,并在以后将其传回。但是,POST
可能不一定是x-www-encoded
或PUT
,DELETE
,OPTION
,操作并不像我能说的那样容易处理
我正在考虑使用getServletInputStream()捕获内容并将其放入随请求存储的bytearray中。然后使用请求调度程序等操作对其执行回放。但是,这可能会导致getParameter()方法出现问题。
这很接近但不一定是我想要的,因为它没有解决getParameter()
方法。
答案 0 :(得分:0)
您可以编写自己的HttpServletRequest
,它从原始请求(参数,标题等)中获取所有内容,并将其存储在本地变量中。然后在会话中存储您自己的请求对象,稍后将其与请求调度程序一起使用。
如果您的请求非常大(文件上载等),您可以在OutOfMemoryError中运行。因此,您可能希望在文件中缓存大型参数/部件/标题。