簡體   English   中英

為什么顯示為HTTP狀態405-此URL不支持HTTP方法POST?

[英]Why it is shown HTTP Status 405 - HTTP method POST is not supported by this URL?

我在春季從事過演示登錄應用程序的工作。 這是我的LoginController.java:

       package com.pran.pal.controller;


    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse;   
    import org.springframework.stereotype.Controller; 
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.servlet.ModelAndView; 

   @Controller

public class LoginController extends HttpServlet{

     @RequestMapping(value="/login" ,method=RequestMethod.GET) 
     public ModelAndView login(HttpServletRequest request, HttpServletResponse response) { 

         String userName=request.getParameter("userName"); 
         String password=request.getParameter("password"); 
         String message; 
         if(userName != null && !userName.equals("") && userName.equals("admin") 
         && password != null && !password.equals("") && password.equals("123")){ 
             message = "Welcome " +userName + "."; 
        return new ModelAndView("index", "message", message);   
        }
         else{ 
             message = "Wrong username or password."; 
        return new ModelAndView("index", "message", message); 
        } 
    } 

我使用過Eclipse Neon,Tomcat v9。

這是我的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.pran.pal</groupId>
  <artifactId>LoginSystemPAL</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>LoginSystemPAL Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
   <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>4.3.4.RELEASE</version>
   </dependency>
  </dependencies>
  <build>
    <finalName>LoginSystemPAL</finalName>
  </build>
</project>

這是我的web.xml

    <!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <servlet> 
  <servlet-name>LoginController</servlet-name> 
  <servlet-class>com.pran.pal.controller.LoginController</servlet-class> 
  <load-on-startup>1</load-on-startup> 
  </servlet>   
  <servlet-mapping> 
  <servlet-name>LoginController</servlet-name> 
  <url-pattern>/login</url-pattern>
   </servlet-mapping>   

</web-app>

它顯示輸入的用戶名和密碼如下:

HTTP狀態405-此URL不支持HTTP方法POST

類型狀態報告

此URL不支持消息HTTP方法POST

說明所請求的資源不允許使用指定的HTTP方法。

我怎么解決這個問題?

您的<servlet-class>應該是com.pran.pal.controller.LoginController ,但是您還應該從此處對Spring Web有依賴性。

另外,您沒有正確使用Spring @Controller批注。 請按照此處的逐步教程進行操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM