这几日在做项目过程中遇到一个问题,系统中调用rest接口的put方法去做更新数据库操作时前台页面提示403 Forbidden,后台日志报Request method 'GET' not supported。纠结了很久终于解决,根源在于rest默认的是不支持put,delete等方法的,所以才会报GET不支持put方法,需要修改几步:
1.修改tomcat下conf/web.xml
default
org.apache.catalina.servlets.DefaultServlet
debug
0
listings
false
//主要是这里,默认的readonly属性是true,即不支持put方法,改为false
readonly
false
1
这段代码若web.xml中已经存在就修改上面readonly节点属性即可,若没有就新加。
2.修改tomcat目录下conf/tomcat-users.xml,添加用户权限,同时调用接口时也需要加上同下的权限。
3.修改工程项目下的web.xml
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
Demo App
/*
PUT
admin
BASIC
Demo App
Role for restricted resources
admin
新加以上代码。
至此即可调用put方法。