【问题标题】:Running a JSF-2 page using embedded Jetty?使用嵌入式 Jetty 运行 JSF-2 页面?
【发布时间】:2012-04-01 21:43:10
【问题描述】:

是否可以使用嵌入式 Jetty 启动 JSF-2 页面(假设我有 *.html 和支持 bean)?

Embedded Jetty 是指类似以下内容(但显然与 JSF 页面相结合)

import java.io.IOException;

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

import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.AbstractHandler;

public class HelloHandler extends AbstractHandler
{
    public void handle(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response) 
    throws IOException, ServletException
    {
        response.setContentType("text/html;charset=utf-8");
        response.setStatus(HttpServletResponse.SC_OK);
        baseRequest.setHandled(true);
        response.getWriter().println("<h1>Hello World</h1>");
    }

    public static void main(String[] args) throws Exception
    {
        Server server = new Server(8080);
        server.setHandler(new HelloHandler());

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

【问题讨论】:

    标签: java jsf servlets jsf-2 embedded-jetty


    【解决方案1】:

    解决此问题的最佳方法是use Arquillian

    【讨论】:

      【解决方案2】:

      使用 org.eclipse.jetty 版本 8.1.1.v20120215 并使用 Debug As... 从 Eclipse 中的主程序以编程方式启动它,它在 Eclipse 控制台中没有显示错误并且运行良好。

      如果您想使用 EL 2.2,它似乎还需要 web.xml 中的 EXPRESSION_FACTORY 上下文参数。

      附加信息:我使用 servlet 3.0 和 jsf 2.1.7

      如果您使用 Maven,请注意所包含库的范围(运行时、编译、测试...)。

      【讨论】:

      • 我知道有各种方法可以使用 eclipse 插件和 maven 插件来实现这一点。我想要的是一个纯 Java 版本——可以从多个执行主机启动。
      猜你喜欢
      • 1970-01-01
      • 2012-07-02
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-15
      • 1970-01-01
      相关资源
      最近更新 更多