0
我试图使用命令行部署一个非常简单的HttpServlet到TomEE 1.7.2,但我没有运气。代码如下所示:从命令行部署一个简单的HttpServlet到TomEE
@WebServlet("/HttpServlet")
public class SimpleHttpServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>Hello Servlet Get</h1>");
out.println("</body>");
out.println("</html>");
}
}
我使用下面的命令编译类:
javac -cp "$TOMEE/lib/*" SimpleHttpServlet.java
一切看起来好,因为我只得到以下警告:
warning: Supported source version 'RELEASE_6' from annotation processor 'org.apache.openjpa.persistence.meta.AnnotationProcessor6' less than -source '1.8'
1 warning
要创建战争我做了以下事情:
jar cf SimpleHttpServlet.war SimpleHttpServlet.class
我开始TomEE使用bin/startup.sh
与部署我的战争:
bin/tomee.sh deploy path/to/my/SimpleHttpServlet.war
我得到以下输出:
deploying /.../SimpleHttpServlet.war
Nov 05, 2015 5:39:50 PM org.apache.openejb.client.EventLogger log
INFO: RemoteInitialContextCreated{providerUri=http://localhost:8080/tomee/ejb}
Application deployed successfully at "/.../SimpleHttpServlet.war"
App(id=/.../apache-tomee-plus-1.7.2/apps/SimpleHttpServlet)
EjbJar(id=SimpleHttpServlet, path=/.../apache-tomee-plus-1.7.2/apps/SimpleHttpServlet)
WebApp(context-root=/SimpleHttpServlet, id=SimpleHttpServlet, path=/.../apache-tomee-plus-1.7.2/apps/SimpleHttpServlet)
如果我去http://localhost:8080/manager/html我可以看到我的战争,都没有问题。然而,当我去http://localhost:8080/SimpleHttpServlet/HttpServlet我从TomEE得到404:
HTTP Status 404 - /SimpleHttpServlet/HttpServlet/
type Status report
message /SimpleHttpServlet/HttpServlet/
description The requested resource is not available.
Apache Tomcat (TomEE)/7.0.62 (1.7.2)
据我了解,当使用@WebServlet
的web.xml
不是强制性的。我错过了什么?
谢谢!
NYG
而且它工作!非常感谢! – nyg