我有一个服务器和客户端对。服务器是使用Jersey为RESTful API编写的。我在Tomcat服务器上运行它。它适用于HTTP GET / POST / DELETE调用。但我想使用HTTPS进行调用。我需要在服务器端更改什么?
<!-- language: lang-java -->
@Path("/article")
public class ArticleService {
EntityDao<Article> articleDao = new ArticleDaoImpl();
@GET
public Response greet() {
return Response.ok("Welcome to restroshop APIs...").build();
}
@GET
@Path("/read/{id}")
@Produces("application/json")
public Response readArticle(@PathParam("id") final long id) {
Article article = articleDao.read(id);
return article != null ?
Response.ok(article, MediaType.APPLICATION_JSON).build() :
Response.noContent().build();
}
@POST
@Path("/create")
public long create(Article article) {
return ((Long) articleDao.create(article));
}
@DELETE
@Path("/delete/{id}")
public Response delete(@PathParam("id") final long id) {
articleDao.delete(id);
return Response.ok("Article Deleted successfully").build();
}
}
我的web.xml如下:
<web-app>
<display-name>Restroshop Application</display-name>
<servlet>
<servlet-name>Restroshop-servlet</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.restroshop.application</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Restroshop-servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
我的客户端是一个Android应用程序。
答案 0 :(得分:1)
您所展示的内容中,您的代码都不需要更改。但启用SSL取决于您的设置。如果你在Tomcat面前有Apache httpd,那么你需要从the Apache SSL docs开始。如果您只运行Tomcat,那么您需要查看the Tomcat SSL docs。这两个过程都有很好的文档记录。