【发布时间】:2012-05-07 13:00:08
【问题描述】:
如何配置这个项目以便它能够呈现 JSP 文件?我希望 URLS 以 /rest 开头以路由到球衣资源,并让 /* 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";
}
}
Main.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();
}
}
}
【问题讨论】:
标签: jakarta-ee servlets jetty jersey jax-rs