如何配置这个项目以便它能够呈现 JSP 文件?我希望以 /rest 开头的 URL 路由到球衣资源并让 /* URLS 服务 JSP 文件。我在这个项目中没有任何 web.xml。
项目文件夹
├───src
│ └───main
│ └───java/Main.java
│ └───resources/HelloResource.java
└───WEB-INF
└───jsp/NewFile.jsp
HelloResource.java
package resources;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@Path("/hello")
public class HelloResource {
@GET
@Produces("text/plain")
public String handleGreeting() {
return "Hello World";
}
@Path("/test")
@GET
@Produces("text/json")
public String test() {
return "just test";
}
}
主.java
import java.io.IOException;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import com.sun.jersey.spi.container.servlet.ServletContainer;
public class Main {
public static void main(String[] args) throws IOException {
Server server = new Server(Integer.valueOf(System.getenv("PORT")));
ServletContextHandler context = new ServletContextHandler(
ServletContextHandler.SESSIONS);
context.setContextPath("/");
server.setHandler(context);
ServletContainer container = new ServletContainer();
ServletHolder h = new ServletHolder(container);
h.setInitParameter("com.sun.jersey.config.property.packages",
"resources");
h.setInitParameter(
"com.sun.jersey.config.property.JSPTemplatesBasePath",
"/WEB-INF/jsp");
h.setInitParameter(
"com.sun.jersey.config.property.WebPageContentRegex",
"/(images|js|styles|(WEB-INF/jsp))/.*");
context.addServlet(h, "/*");
try {
server.start();
server.join();
} catch (Exception e) {
e.printStackTrace();
}
}
}