部署Java servlet的最快方法?

时间:2011-08-11 19:59:14

标签: java servlets

部署Java HttpServlet的最快方法是什么? 是否有一种解决方案可以让您像在Ruby / PHP / Python中一样以最少的配置快速完成?

我需要一些能让我快速运行servlet并在调试周期中交换它们的东西。我对Java不太熟悉,特别是在部署方面。

我不想花费数小时来设置它,搞乱配置文件和整理依赖项。我只想要一些我可以安装和运行的东西。不那么“面向企业”。

使用IDE。

是否存在可以减少部署以在终端中运行某些东西的东西,比如Ruby。一些痛苦的东西。 某些东西不会让我想跳出窗外。没有数万亿的XML文件。

到目前为止,最好的选择是放弃整个“servlet”的想法,并部署在支持Java的HTTP服务器上。它似乎比涉及servlet的任何东西容易1000倍。

5 个答案:

答案 0 :(得分:3)

结帐embedded Jetty。配置都是用Java完成的,因此您不必使用一堆配置文件。它非常快 - 启动大约需要2秒钟,不需要IDE。我通常在终端中运行它,并在我进行更改时将其弹回,但您可以将其配置为动态重新加载更改。如果滚动到该链接的底部,您将看到有关配置servlet的详细信息。

以下是Jetty wiki的一些示例代码,即服务器代码:

public class OneServletContext
{
    public static void main(String[] args) throws Exception
    {
        Server server = new Server(8080);

        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
        context.setContextPath("/");
        server.setHandler(context);

        context.addServlet(new ServletHolder(new HelloServlet()),"/*");
        context.addServlet(new ServletHolder(new HelloServlet("Buongiorno Mondo")),"/it/*");
        context.addServlet(new ServletHolder(new HelloServlet("Bonjour le Monde")),"/fr/*");

        server.start();
        server.join();
    }
}

一个示例servlet:

public class HelloServlet extends HttpServlet
{
    private String greeting="Hello World";
    public HelloServlet(){}
    public HelloServlet(String greeting)
    {
        this.greeting=greeting;
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        response.setContentType("text/html");
        response.setStatus(HttpServletResponse.SC_OK);
        response.getWriter().println("<h1>"+greeting+"</h1>");
        response.getWriter().println("session=" + request.getSession(true).getId());
    }
}

答案 1 :(得分:2)

查看JRebel

答案 2 :(得分:1)

你看过Grails了吗? 它基本上是Rails上的Groovy,字节码是Java,如果重要的话。

另请参阅有关One-step deployment with Grails

的文章

答案 3 :(得分:1)

在Eclipse中,您可以直接从工作区有效地运行servlet - 它可以非常干净地链接到TomCat或WebSphere CE。几乎编辑/保存(自动编译)/ debug /

答案 4 :(得分:1)

当然,最快的方法是使用您选择的IDE。 至于最小配置,请查看Servlet 3.0 API中出现的WebServlet注释。使用此批注,您无需向web.xml添加任何其他信息。