【问题标题】:The HTTP GET method is not supported by this URL此 URL 不支持 HTTP GET 方法
【发布时间】:2015-05-05 21:27:23
【问题描述】:

我几乎完成了我的项目,但我想回到一个老问题。当我开始它时,我创建了一个会话系统,用户可以在其中连接一个 html 表单。

    <form id="form1" method="post"> 

        <input name="myLog" type="text" placeholder="Identifiant">
        <br>
        <input name="myPwd" type="password" placeholder="mot de passe">
        <br>
        <input id="Valider" name="valider" type="submit" value="Connexion">         

    </form>

在最初,我使用了“get”方法,但是为了更安全,我想使用没有结果的 post 方法。但是我在我的 servlet doGet 中通过 doPost 进行了如下更改:

     public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException{

        String id = request.getParameter( "myLog" );
        String mdp = request.getParameter( "myPwd" );
      ...
      }

但是当我尝试转到我的表单 JSP 时启动 tomcat 后,我​​的屏幕上出现了这条消息:

此 URL 不支持 HTTP GET 方法

我不明白问题是什么,我已经自己搜索了(很多人有这种问题但我没有解决方案:它不起作用)。

我该如何解决?

谢谢!

阿奇

【问题讨论】:

    标签: jsp servlets post get


    【解决方案1】:

    嗯……我搞错了…… 如果您有同样的问题,我会与您分享我的解决方案。

    我认为如果我只是通过 doPost 更改 doGet,这是一种不好的方式......

    这是我的登录页面,所以当我第一次尝试连接时,我没有发布值,所以 servlet 丢失了。

    实际上,我的表单重定向到我的登录 servlet,它执行特征(我可以做另一个 servlet 来解决我的问题)。所以我不得不这样做:

    public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException{
            this.getServletContext().getRequestDispatcher( "/WEB-INF/LoginPage.jsp" ).forward( request, response );//don't forget it 
        }
        public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException{
                ...
    }
    

    如需更精确,请询问我 ;)

    【讨论】:

      猜你喜欢
      • 2013-11-14
      • 1970-01-01
      • 2015-09-05
      • 1970-01-01
      • 2012-12-14
      • 2015-03-10
      相关资源
      最近更新 更多