日期:2014-05-17  浏览次数:20705 次

怎么在Servlet中拦截所有以get方式提交的请求
如题,比如在地址栏输入不行,会被拦截,用a标签页不行,也拦截。。求各大神解决

------解决方案--------------------
request.getMethod()
你用servlet还是通过,dopost。和doget方法来处理啊,什么类型进什么方法
------解决方案--------------------
filter写过吧?一样的道理。直接通过request.getMethod()获取,如果是post继续往下走,否则你该干嘛就干嘛。
------解决方案--------------------
在拦截器里判断你的方法是get还是post  通过request.getMethod()这个方法判断你提交的类型。
------解决方案--------------------
servlet里不是重写一个由get方式提交的方法  一个由post提交的方法吗  你把由get提交的那个直接重定向就是了啊
------解决方案--------------------
HTTP 请求默认是 GET 方式,所以浏览器地址栏、a 标签都是采用默认的 GET 请求。在服务端你无法判断该请求是来源于浏览器地址栏,还是 a 标签,或者是 form 的 GET 提交。

如果是地址栏上敲的,在服务端通过 HTTP 头的 Referer 是否为空进行判断,如果 HTTP 请求是 GET 且 Referer 头是空的,可以确定该请求是源于浏览器地址栏,或者是程序发出的。

至于 a 标签,还是 form 的 GET 请求那就无从判断了。