我需要一种不使用 web.xml 来配置 Wicket 的方法。
我已经尝试了几篇博客文章,但仍然遇到问题。
例如:
https://cwiki.apache.org/confluence/display/WICKET/Wicket+without+web.xml+%28embedded+Jetty%29
和
http://dev-loki.blogspot.de/2008/05/embedded-jetty-wicketfilter-webxml.html
找不到有效的解决方案。
我创建了一个只有一个主页的简单项目,按照上面提到的链接中的步骤操作,但没有成功。
我尝试了 jetty 并收到 HTTP ERROR 404。我可以向您展示应该像 web.xml 一样运行的代码。这是一个基于弹簧的解决方案。
public class WicketApplicationInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(SpringConfig.class);
servletContext.addListener(new ContextLoaderListener(ctx));
WicketFilter filter = new WicketFilter(new WicketApplication());
filter.setFilterPath("");
servletContext.addFilter("wicketFilter", filter).addMappingForUrlPatterns(null, false, "/*");
servletContext.addServlet("/*", DefaultServlet.class);
}
}
这应该可以解决问题,但没有被服务器识别。它看起来很简单,就像普通 web.xml 中的步骤一样,但不起作用。
主页只有一个挂载:
mountPage("/testing", HomePage.class);
尝试访问:
https://localhost:8443/testing
结果是:
HTTP ERROR 404 Problem accessing /testing. Reason: Not Found
任何人都可以帮忙吗?
也许有人有一个没有丑陋 web.xml 的简约工作项目?或者只是一些建议。