Servlet映射无法在Google App Engine中使用

时间:2013-12-31 10:42:45

标签: java google-app-engine jsp servlets mapping

您好我在eclipse中创建了一个Google App Engine Project应用程序。 它在我的localhost上工作正常,我已经在GAE上部署了它。

显示所有静态页面,如登录,注册页面,但是当我从jsp页面向servlet发送请求时,它显示错误。

假设我已经打开了login.jsp页面,当我点击登录按钮时它会显示一个错误:

Error: Not Found

The requested URL /Dologin was not found on this server.

我已在com文件夹下的src包中定义了所有servlet文件。 在此之前,我收到了webservlet annotation的错误,但我在tomcat server的库中添加了build path,所有错误都消失了,但现在出现了这个servlet映射错误。

的web.xml

  <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
              http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5"
         xmlns="http://java.sun.com/xml/ns/javaee">

  <!-- Servlets -->
  <servlet>
    <servlet-name>greetServlet</servlet-name>
    <servlet-class>pj.server.GreetingServiceImpl</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>greetServlet</servlet-name>
    <url-pattern>/prj/greet</url-pattern>
  </servlet-mapping>

  <!-- Default page to serve -->
  <welcome-file-list>
    <welcome-file>signup.jsp</welcome-file>
  </welcome-file-list>

</web-app>

here is mt base/main page Google应用引擎部署的项目。

任何人都可以帮助我。

2 个答案:

答案 0 :(得分:3)

  

在此之前,我收到了webservlet注释的错误,但我在构建路径中的库中添加了tomcat服务器,所有错误都消失了,但现在这个servlet映射错误就出现了。

从上面的描述中,您似乎正在使用javax.servlet.annotation.WebServlet注释来配置您的环境。从servlet 3.0规范开始支持基于注释的servlet配置,但是,在撰写本文时,App Engine支持的servlet API为2.5。删除所有此类注释,并仅通过web.xml描述符配置您的环境。

Here您可以找到Servlet API 3.0的App Engine功能请求。

答案 1 :(得分:-1)

也许你错过了greetServlet方法中的路径。我猜 greetServlet 是你的servlet,里面你有foo方法:

@Path("/Dologin") //add this before your method
public String foo(@Context HttpServletRequest req) {...}