java - 在 google app engine 中出现此错误 405 此 URL 不支持 HTTP 方法 GET

标签 java google-app-engine jsp servlets

我的 web.xml。请在此处检查 url 模式。正确与否

    <?xml version="1.0" encoding="utf-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
    <servlet>
    <servlet-name>AppEngine</servlet-name>
    <servlet-class>pack.exp.AppEngineServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>AppEngine</servlet-name>
    <url-pattern>/appengine</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    </web-app>

我的jsp文件是这样的。它有一个文本字段和一个按钮。想要将文本字段中提供的数据传递给 servlet。然后在新页面上显示数据。

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
       <head>
            <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
            <title>Insert title here</title>
       </head>
       <body>
         <form method="post" action="appengine">
            <fieldset>
             <legend>Text input</legend>
                 <p>
                 <label>Text box</label>
                  <input type="text"  name="myText"/> 
                 </p>

        <button name="submit-action" value="confirm" type="submit">Submit!</button>
          </fieldset>
                </form>
      </body>
    </html>

Servlet 文件是这样的。

    package pack.exp;
    import java.io.IOException;
    import java.io.PrintWriter;

    import javax.servlet.ServletException;
    import javax.servlet.http.*;

    @SuppressWarnings("serial")
    public class AppEngineServlet extends HttpServlet 
    {

     @Override
     protected void doPost(HttpServletRequest req, HttpServletResponse resp)    
         throws 
         ServletException, IOException 
     {
    String output= req.getParameter("myText");

     PrintWriter pw = resp.getWriter();
     pw.println("Hello " + output);
     }

    }

最佳答案

您在此处提供的代码没有任何问题。您必须已将一些其他代码库上传到 App Engine。我获取了您的代码,在本地运行它并也部署到 App Engine 云。一切看起来都适合你想做的事情。

看看:http://1.testappromin.appspot.com/test.jsp

关于java - 在 google app engine 中出现此错误 405 此 URL 不支持 HTTP 方法 GET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20535889/

相关文章:

JavaFx - 方法未定义

javascript - Googlebots 会导致 JS 错误,我应该关心吗?

java - 使用 jquery 根据 servlet 的结果更改 div 背景颜色

java - Servlet 的 Google guice 注入(inject)器返回 500 错误

java - 内存分配的最佳技术 - 重用一个全局内存或分配许多本地缓冲区并让它被垃圾收集

java - Hibernate JPA - PESSIMISTIC.WRITE 不起作用

google-app-engine - 将 Parse 服务器部署到 Google App Engine

java - WEB-INF/jsp 中包含更多文件夹的 viewResolver 在 spring 中不起作用

java - 在类的唯一现有构造函数中创建对 "this"的引用

android - GoogleJsonResponseException : 404 Not Found using google apps endpoint engine backend