【问题标题】:how to programmatically pass my own ServletConfig to a servlet如何以编程方式将我自己的 ServletConfig 传递给 servlet
【发布时间】:2012-08-25 20:05:29
【问题描述】:

这是一个关于从以下位置嵌入 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();
    }
}

服务器 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)

【问题讨论】:

    标签: jetty servlet-3.0


    【解决方案1】:

    已解决:

    ServletHolder helloServletHolder = new ServletHolder(new HelloServlet());
    helloServletHolder.setInitParameter("my_key", "my_value");
    context.addServlet(helloServletHolder,"/*");
    

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 2013-02-07
      • 2016-09-21
      • 2015-10-24
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 2014-06-09
      • 2017-02-24
      相关资源
      最近更新 更多