在本地主机上测试Google应用程序引擎Java后端
我正试图在本地主机上测试Google App Engine Java后端。我运行了后端,并且编写了一个servlet 但是,当我向我的后端发送到url时:在本地主机上测试Google应用程序引擎Java后端,java,google-app-engine,servlets,backend,Java,Google App Engine,Servlets,Backend,我正试图在本地主机上测试Google App Engine Java后端。我运行了后端,并且编写了一个servlet 但是,当我向我的后端发送到url时: http://localhost:8888/MyServlet/ 我得到的只是: WARNING: No file found for: /MyServlet/ 我如何实际调用后端来启动一个实例,以便在本地测试它并发布帖子 Servlet: import java.io.BufferedReader; import jav
http://localhost:8888/MyServlet/
我得到的只是:
WARNING: No file found for: /MyServlet/
我如何实际调用后端来启动一个实例,以便在本地测试它并发布帖子
Servlet:
import java.io.BufferedReader;
import java.io.IOException;
import javax.servlet.http.*;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@SuppressWarnings("serial")
public class MyServlet extends HttpServlet {
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, world");
}
web.xml:
<?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>MyBackend</servlet-name>
<servlet-class>com.test.backend.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/_ah/start</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
MyBackend
com.test.backend.MyServlet
测试
/_啊/开始
index.html
尝试使用servlet和servlet映射标记,如下所示:
<servlet>
<servlet-name>MyBackend</servlet-name>
<servlet-class>com.test.backend.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyBackend</servlet-name>
<url-pattern>/MyServlet</url-pattern>
</servlet-mapping>
MyBackend
com.test.backend.MyServlet
MyBackend
/MyServlet
虽然我想建议不要在类名中使用servlet或backend之类的词;它们在开发人员的上下文之外没有任何意义,也没有给出类功能的线索我还意识到您实现了doPost,它是用来处理表单提交的,它不会像那样在浏览器中处理裸体url请求,请将您的方法更改为doGet或service
我的问题是没有启动后端。您首先必须编写一个servlet来侦听
/\u ah/start
,并在后端启动之前响应它
是我的另一个问题,它解决了,但似乎没有帮助。然而,当我启动该项目时,我才意识到我遇到了这个问题:
PM com.google.appengine.tools.development.InstanceHelper sendStartRequest警告:启动服务器0上的/u ah/start请求。导出失败(HTTP状态代码=405)。正在重试…