3

これは、 http ://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty からの jetty 7 の埋め込みに関する例です 。

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()),"/*");

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

サーバーの HelloServlet は、init(ServletConfig config) への呼び出しで初期化されます。

自分の ServletConfig を HelloServet に渡すように Jetty に指示するにはどうすればよいですか? (私は web.xml ファイルを持っていません。また、必要としません)

Note:
I think that in Jetty6, you can call context.setInitParameter("my_key", "my_value");
but this function does not exists in Jetty7.

I've tried with context.getServletContext.setInitParameter("my_key", "my_value");
but I get an exception
java.lang.IllegalStateException was thrown.
org.eclipse.jetty.servlet.ServletContextHandler$Context.setInitParameter(ServletContextHandler.java:569)
4

1 に答える 1

7

解決済み:

ServletHolder helloServletHolder = new ServletHolder(new HelloServlet());
helloServletHolder.setInitParameter("my_key", "my_value");
context.addServlet(helloServletHolder,"/*");
于 2012-08-25T23:45:53.010 に答える