第一种办法:在/opt/IBM/HTTPServer/conf 下的httpd.conf也就是apache的配置文件.加上如下代码
<Location />
<LimitExcept GET POST HEAD CONNECT OPTIONS>
Order Allow,Deny
Deny from all
</LimitExcept>
</Location>
LimitExcept 后面写的是允许经过的http方法,我这边是was8.5默认的put和delete、trace方法是禁止的,head方法好像默认不禁止,你在这里写上LimitExcept GET POST
只允许post和get方法也没用,head照样可以走,我猜想是在was8.5本身默认禁止和不禁止的配置上加这些代码的吧。
第二种方法:在程序中加过滤器,我是Struts1 ,针对每一个请求都加上过滤器,使用request.getMethod方法判断,除了get,post , head,connect ,options之外的方法都直接return就行了,如下所示。
if(method.equalsIgnoreCase("post")||method.equalsIgnoreCase("get")||method.equalsIgnoreCase("head")
||method.equalsIgnoreCase("trace")||method.equalsIgnoreCase("connect")||method.equalsIgnoreCase("options")){
}