如何使jersey Servlet在Java REST应用程序中加载多个服务或类 [英] How to make jersey servlet to load more than one service or class in java REST application
本文介绍了如何使jersey Servlet在Java REST应用程序中加载多个服务或类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在同一软件包中有两个不同的Java文件.这些类是EntryPoint.java和ModelInn.java. 现在,当球衣Servlet启动时,我希望它同时加载EntryPoint类和ModelInn类.但与此同时,我只能加载一个.但是我想加载两个类.我正在使用码头9.
I have Two different java files in the same package. The classes are EntryPoint.java and ModelInn.java . Now, when the jersey servlet starts, I want it to load both the EntryPoint class and ModelInn class. But For the meantime I can only load one. But I want to load the two classes. Am using jetty 9.
下面是我用来加载EntryPoint Java类的代码
Below is the code i used to load EntryPoint java class
package com.rest.test;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
public class App {
public static void main(String[] args) throws Exception {
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
Server jettyServer = new Server(8080);
jettyServer.setHandler(context);
ServletHolder jerseyServlet = context.addServlet(
org.glassfish.jersey.servlet.ServletContainer.class, "/*");
jerseyServlet.setInitOrder(0);
// Tells the Jersey Servlet which REST service/class to load.
jerseyServlet.setInitParameter(
"jersey.config.server.provider.classnames",
EntryPoint.class.getCanonicalName());
try {
jettyServer.start();
jettyServer.join();
} finally {
jettyServer.destroy();
}
}
}
推荐答案
您可能应该改用包定义.如果需要,您将能够添加多个软件包:
You should probably use package definition instead. If required, you will be able to add multiple packages :
jerseyServlet.setInitParameter("jersey.config.server.provider.packages",
"com.rest.test.restpackage1;com.rest.test.restpackage2");
希望有帮助!
这篇关于如何使jersey Servlet在Java REST应用程序中加载多个服务或类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文