如何以编程方式将我自己的ServletConfig传递给servlet

Dav*_*lla 3 jetty servlet-3.0

这是一个关于嵌入jetty 7的示例:http: //wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty

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();
    }
}
Run Code Online (Sandbox Code Playgroud)

服务器HelloServlet将通过调用init(ServletConfig config)进行初始化;

如何告诉Jetty将我自己的ServletConfig传递给HelloServet?(我没有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)
Run Code Online (Sandbox Code Playgroud)

Dav*_*lla 8

解决了:

ServletHolder helloServletHolder = new ServletHolder(new HelloServlet());
helloServletHolder.setInitParameter("my_key", "my_value");
context.addServlet(helloServletHolder,"/*");
Run Code Online (Sandbox Code Playgroud)