Я пытаюсь привязать URL к JSP через Джерси.Я пытаюсь создать сайт с шутками, и мне хотелось бы:
(1) / jokes = список шуток (2) / jokes / 213 = страница для шуток с идентификатором 213
Однако (2), похоже, не работает, я понятия не имею.
Это мой web.xml с сервлетом джерси
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.moesjokes.site.server.resources</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.config.feature.Redirect</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.config.feature.ImplicitViewables</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<!--<url-pattern>/jokes</url-pattern>-->
<url-pattern>/jokes/*</url-pattern>
</servlet-mapping>
Вот мой ресурс:
@Path("/")
public class Jokes {
@GET
@Path("/jokes")
@Produces("application/xml")
public Viewable getAll() {
JspPage jsp = new JspPage(Pages.WELCOME);
JspGlobalWidget global = jsp.getGlobal();
JokesWidget jokes = new JokesWidget(jsp);
jokes.setContents( new ContentServcies().getLatestContents(1, 20) );
Map<String, String> map = new HashMap<String, String>();
map.put("jokes", jokes.toHtml());
return new Viewable("/jsp/jokes/index.jsp", map);
}
@GET
@Path("/jokes/{id}/*")
@Produces("application/xml")
public String get(@PathParam("id") String id) {
return "<test>" + id + "</test>";
}
}
Я что-то не так делаю или ...?Я использую Jetty 6.1, Джерси 1.6
Любая помощь будет признательна =)