簡體   English   中英

如何使jersey中的RESTful資源支持HTTPS

[英]How to make the RESTful resources in jersey support HTTPS

我有一個服務器和客戶端對。 服務器是使用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應用程序。

在你所展示的內容中,你的代碼都不需要改變。 但啟用SSL取決於您的設置。 如果你在Tomcat面前有Apache httpd,那么你需要從Apache SSL文檔開始 如果您只運行Tomcat,那么您需要查看Tomcat SSL文檔 這兩個過程都有很好的記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM