在同一个Maven项目中的Web服务和Web服务器
问题描述:
我正在使用Jetty进入Maven项目来部署一个小型Web服务器。我想在同一个项目中部署REST/SOAP服务(我正在关注This Tutorial)。如果我用Maven编译只有REST/SOAP工作,并且如果我使用Jetty编译,只有网页可以工作。在同一个Maven项目中的Web服务和Web服务器
有两个问题:
1.我该怎么做才能使这两个部件工作?
2. SOAP目前在CXF下。迁移到AXIS2M有多容易?
答
问题可能在于,如果您在教程链接中使用相同的代码粘贴,则Main.java不会注册CXFServlet。现在,您需要在两个单独的端口号上进行两种配置,即一个用于Web应用程序,另一个用于SOAP服务。这将解决问题。
所以主类需要进行修改,以有类似以前的和新的块代码如下:
Server server = new Server(9090);
// Register and map the dispatcher servlet
final ServletHolder servletHolder = new ServletHolder(new CXFServlet());
final ServletContextHandler context = new ServletContextHandler();
context.setContextPath("/");
context.addServlet(servletHolder, "/rest/*");
context.addEventListener(new ContextLoaderListener());
context.setInitParameter("contextClass", AnnotationConfigWebApplicationContext.class.getName());
context.setInitParameter("contextConfigLocation", AppConfig.class.getName());
server.setHandler(context);
server.start();
server.join();
来源:http://aredko.blogspot.co.uk/2014/09/embedded-jetty-and-apache-cxf-secure.html
希望这有助于
+0
谢谢Ashok。您在代码中提供给我的一些库来自Spring。我们想避免使用Spring,因为我们的开发过于沉重。我们可以使用这些库而不使用Spring吗?我怎样才能使用两个端口?谢谢。 –
可以请你添加一些代码片段来说明问题 – Ashoka