【问题标题】:Java Servlets Without Extending a Servlet Class不扩展 Servlet 类的 Java Servlet
【发布时间】:2015-01-25 10:35:42
【问题描述】:

我继承了一个我想要更好地理解的大型项目。

我见过充当 servlet 但不扩展 HttpServlet 或实现任何接口的类。然而,它们的方法被映射到 URI。

这种魔法是如何发生的?会不会跟春天有关? web.xml? pom.xml?

对不起,如果问题太模糊。我一直在阅读一些关于 servlet 的教程,它们似乎都表明该类必须扩展 HttpServlet 或类似的。如果没有它,我不知道它们是如何工作的,因此很难提出更具体的问题。

【问题讨论】:

  • 也许它们只是普通的旧 .jsp 文件?这些可以通过常规的网络服务器(如 apache 或其他)加载......

标签: java spring maven servlets


【解决方案1】:

可能是Java企业版http://docs.oracle.com/javaee/7/tutorial/doc/home.htm

如果类有@Path 注解,它可能是一个 RESTful Web 服务。像这样的:

@Path("helloworld")
public class HelloWorld {
    GET
    @Produces("text/html")
    public String getHtml() {
        return "<html lang=\"en\"><body><h1>Hello, World!!</h1></body></html>";
    }

现代 Java EE 容器通过非常经济的注解提供了许多功能。

编辑:Oracle Java EE 7 教程的相关部分是http://docs.oracle.com/javaee/7/tutorial/doc/jaxrs002.htm#GILIK

【讨论】:

  • 即使您使用 Java EE 6+ 功能,您的类也需要指定它从 HttpServlet 扩展或实现 Servlet 接口。
  • 啊-感谢您的更正。我已更改我的答案,建议使用 RESTful Web 服务。
  • 它确实是一个 RESTful Web 服务。我拥有的 servlet 映射与您链接的内容不匹配,但希望我现在走在正确的轨道上。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-04
  • 1970-01-01
  • 2013-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多