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

熊孩纸 阅读:28 2024-08-20 17:24:36 评论: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(); 
    } 
} 

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

请您参考如下方法:

已解决:

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


标签:Servlet
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号