我有以下代码
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import org.glassfish.jersey.server.mvc.Viewable;
@Path("/")
public class HomeController {
@GET
@Produces(MediaType.TEXT_HTML)
@Path("/help")
public Viewable help() {
return new Viewable("/help");
}
@GET
@Produces(MediaType.TEXT_HTML)
@Path("/")
public Viewable index() {
return new Viewable("/index");
}
}
并且web.xml具有以下映射
<servlet-mapping>
<servlet-name>mysite</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
调用http://localhost:8080/mysite和http://localhost:8080/mysite/help,两个请求都只路由到索引方法。我已将servlet- *标记更改为filter- *标记,并将url-pattern更改为/ *。但似乎没有任何效果。我无法路由到索引以外的任何页面。任何帮助表示赞赏。
答案 0 :(得分:0)
你不需要方法的斜杠:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import org.glassfish.jersey.server.mvc.Viewable;
@Path("/")
public class HomeController {
@GET
@Produces(MediaType.TEXT_HTML)
@Path("help")
public Viewable help() {
return new Viewable("/help");
}
@GET
@Produces(MediaType.TEXT_HTML)
public Viewable index() {
return new Viewable("/index");
}
}