如何运行java Web应用程序?

时间:2015-03-19 13:22:37

标签: java eclipse jetty

我有一个只有.java文件的文件夹。没有.html,.jsp,.jsf等文件只有.java。我被告知这是一个Web应用程序,但我不知道如何运行它。

以下是其中一个.java文件的示例代码:

public List<String> generateHtml(String name, String css) {
    List<String> html = new ArrayList<>();
    html.add("<!DOCTYPE HTML><html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"" + css
            + "\"/></head><body>");
    html.add("<div class='screen page_size " + name + "'>");
    for (HtmlElement element : orderedElements) {
        element.generateHtml(html);
    }
    html.add("</div>");
    html.add("</body></html>");
    return html;
}

我尝试在eclipse中创建一个Web项目并导入文件并运行它,但没有运气。它与jetty有关,给了我很多错误。安装码头后,它仍然无法正常工作。也许我安装错了。任何人都有任何想法?

1 个答案:

答案 0 :(得分:0)

如果您想使用码头创建可运行的战争,请查看Embedded Jetty examples

您可以从下面的servlet调用generateHtml方法。

package org.eclipse.jetty.embedded;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletHandler;

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

        ServletHandler handler = new ServletHandler();
        server.setHandler(handler);


        handler.addServletWithMapping(HelloServlet.class, "/*");


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

    @SuppressWarnings("serial")
    public static class HelloServlet extends HttpServlet
    {
        @Override
        protected void doGet( HttpServletRequest request,
                              HttpServletResponse response ) throws ServletException,
                                                            IOException
        {
            response.setContentType("text/html");
            response.setStatus(HttpServletResponse.SC_OK);
            //From here you can call the generateHtml method
            response.getWriter().println("<h1>Hello from HelloServlet</h1>");
        }
    }
}