Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HTTP状态405-请求';邮政';方法不允许_Java_Spring_Jersey 2.0 - Fatal编程技术网

Java HTTP状态405-请求';邮政';方法不允许

Java HTTP状态405-请求';邮政';方法不允许,java,spring,jersey-2.0,Java,Spring,Jersey 2.0,问题是,当我尝试使用@POST符号调用api时,出现以下错误: HTTP Status 405 - Request 'POST' Method Not Allowed 另一个API(@GET)可以工作 web.xml是: <servlet> <servlet-name>uJerseyServlet</servlet-name> <servlet-class>org.glassfish.jersey.servlet

问题是,当我尝试使用@POST符号调用api时,出现以下错误:

HTTP Status 405 - Request  'POST' Method Not Allowed
另一个API(@GET)可以工作

web.xml是:

<servlet>
        <servlet-name>uJerseyServlet</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>jersey.config.server.provider.packages</param-name>
            <param-value>com.fasterxml.jackson.jaxrs;com.info.smarti.api</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
        <async-supported>true</async-supported>

    </servlet>
   <!-- 
    <servlet-mapping>
        <servlet-name>uJerseyServlet</servlet-name>
        <url-pattern>/app/*</url-pattern>
    </servlet-mapping> -->


      <filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>
            org.springframework.web.filter.DelegatingFilterProxy
        </filter-class>
        <async-supported>true</async-supported>
    </filter>
    <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping> 

      <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/application-security.xml
        </param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/UsersDB</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

如果您使用的是Tomcat,则必须在server.xml文件中启用PUT方法


看看

也许你可以检查名为endwith.java的文件,你必须删除一些句子,比如“super.doGet(request,response);”或“super.doPost(request,response);”在您的方法中

Ca您显示了控制器类吗?您检查了吗?是的,我看到了,但不适用于me@Jens类是什么意思?是否有一个POST方法作为API的一部分公开?您是否尝试将项目部署到另一个API中,如Glassfish或Weblogic?问题很严重config@AntonioBalduzziJersey配置有什么问题?我有一些类似的问题。你能解释一下,如果这些行存在,为什么OP会出现问题,以及删除它们如何解决问题,从而改进你的答案吗?
 <init-param>
            <param-name>readonly</param-name>
            <param-value>false</param-value>
        </init-param>
 @Path("/cPass")
    @POST
    @ManagedAsync
    @Consumes(MediaType.TEXT_PLAIN)
    @Produces(MediaType.APPLICATION_JSON)
    public void cPassw(@QueryParam("token") String token,
            @QueryParam("categ") String category,
            @QueryParam("newpass") String newPassword,
            @Suspended final AsyncResponse response) throws Exception {
                       ....
       }