嵌入式Jetty入门
我刚开始使用嵌入式码头。我被一些错误信息卡住了。这是简单明了的几行代码,我在网上找到并想测试一下嵌入式Jetty入门,jetty,Jetty,我刚开始使用嵌入式码头。我被一些错误信息卡住了。这是简单明了的几行代码,我在网上找到并想测试一下 import org.jaxen.Context; import org.mortbay.jetty.Server; import org.mortbay.jetty.servlet.ServletHolder; public class Main { public static void main(String[] args) throws Exception {
import org.jaxen.Context;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.servlet.ServletHolder;
public class Main {
public static void main(String[] args) throws Exception {
ServletHolder sh = new ServletHolder(ServletContainer.class);
sh.setInitParameter("com.sun.jersey.config.property.resourceConfigClass", "com.sun.jersey.api.core.PackagesResourceConfig");
sh.setInitParameter("com.sun.jersey.config.property.packages", "jerseyplusjetty");
Server server = new Server(80);
ServletContextHandler sch = new ServletContextHandler(server, "/");
sch.addServlet(sh, "/*");
server.start();
server.join();
}
}
我有java构建路径中的所有jetty JAR。但我不断遇到错误:构造函数ServletHolder(Class)未定义,构造函数服务器(int)未定义,ServletContextHandler无法解析为类型。
如果我删除ServletHolder和服务器中的参数,它将停止抱怨。e、 g.如果我有:ServletHolder sh=newservletholder();服务器=新服务器();
但这是不对的。我读过Jetty文档,ServletHolder类可以获取参数。我在这里遗漏了什么吗?我拥有的ServletHolder版本在构造函数中采用了字符串或servlet。因此,与其这样做
newservletholder(ServletContainer.class)
您应该执行newservletholder(ServletContainer.class.getCanonicalName())
或newservletholder(new ServletContainer())
ServletContainer是servlet的奇怪名称,请确保它实际上是一个servlet
另外,请注意Jetty有很多不同的版本(您使用的是旧版本,因为在新版本中,所有类都在org.eclipse.Jetty包中),并且很容易找到引用不同版本的示例代码。我将从maven获得jetty 7.2.2,并使用示例代码。一般来说,仅供嵌入式jetty参考。。。我已经创建了一个github项目,我谦恭地提交了这个项目,它可能涵盖了不断出现的大多数嵌入式jetty问题 我有AbstractHandler、Servlet、Jersey Servlet、静态文件、webapps等等的例子。仍在研究RoR和Sinatra,但会到达那里 有关详细信息,请参阅。 任何想贡献的人,只管问