tomcat集群搭建超詳細,jersey tomcat MySQL_IDEA+Jersey+Tomcat搭建RESTful API

 2023-12-10 阅读 27 评论 0

摘要:環境:IDEA Ultimate 2017.2.2 + JDK 1.8 + Jersey 2 + Maven + Tomcat 9.0.0.M22首先創建項目:選中Web Application(3.1)框架,勾選Create web.xml,IDE會在創建項目時創建web.xml配置文件。tomcat集群搭建超詳細。創建項目創建項目

環境:

IDEA Ultimate 2017.2.2 + JDK 1.8 + Jersey 2 + Maven + Tomcat 9.0.0.M22

首先創建項目:

選中Web Application(3.1)框架,勾選Create web.xml,IDE會在創建項目時創建web.xml配置文件。

196d274d65cf

tomcat集群搭建超詳細。創建項目

創建項目后右鍵選中項目,添加框架支持,選中Maven,隨即生成pom.xml文件。這里會彈出Event對話框,會有提示你Enable Auto-Import,這里我們Enable一下。

196d274d65cf

添加框架

然后開始通過maven添加依賴jar包,引用Jersey,pom.xml配置如下:

com.overc_i3.jerseydemo

Tomcat與Java Web開發技術詳解、JerseyDemo

1.0-SNAPSHOT

1.8

1.8

2.25

tomcat apache。org.glassfish.jersey.containers

jersey-container-servlet

${jersey.version}

org.glassfish.jersey.core

jersey-server

tomcat環境搭建基本流程、${jersey.version}

org.glassfish.jersey.core

jersey-client

${jersey.version}

org.glassfish.jersey.media

tomcat nginx。jersey-media-json-jackson

${jersey.version}

接下來是配置web.xml,項目里的路徑是web/WEB-INF/web.xml,這里我們將 Jersey 當做 Servlet:

jerseyServlet

org.glassfish.jersey.servlet.ServletContainer

eclipse安裝配置tomcat。jersey.config.server.provider.packages

com.overc_i3.jerseydemo

1

jerseyServlet

/*

tomcat怎么搭建博客。也可將 Jersey 當做 Servlet Filter,如下配置:

MyApplication

org.glassfish.jersey.servlet.ServletContainer

...

...

MyApplication

/myApp/*

元素內容將取決于你如何決定資源配置不同的 Jersey 資源。

最后一步配置,在輸出中把jar包全部加進去

196d274d65cf

在輸出中加入庫文件

配置完成,開始寫上API代碼,首先在src\main\java中根據之前配置的包建好對應的包,我這里配置的是com\overc_i3\jerseydemo,這里使用Json做交互,先建model:

package com.overc_i3.model;

import java.util.List;

public class ReqJson {

private String id;

private List list;

public List getList() {

return list;

}

public void setList(List list) {

this.list = list;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public static class ListBean {

private String maxname;

public String getMaxname() {

return maxname;

}

public void setMaxname(String maxname) {

this.maxname = maxname;

}

}

}

創建TestApi類:

package com.overc_i3.jerseydemo;

import com.overc_i3.model.ReqJson;

import javax.ws.rs.*;

import javax.ws.rs.core.MediaType;

import javax.ws.rs.core.Response;

import java.util.ArrayList;

import java.util.List;

@Path("/")

public class TestApi {

//GET注解設置接受請求類型為GET

@GET

// 與Produces對應的是@Consumes

@Produces(MediaType.TEXT_PLAIN)

//用作測試服務啟動情況

public String getMessage() {

return "Hello world!";

}

@GET

@Consumes(MediaType.TEXT_PLAIN)//注解指定解壓方式接收數據類型

@Path("/hello")

public Response postJson(@QueryParam("name") String name) {

return Response.status(200).entity("hello "+name).build();

}

@POST

@Consumes(MediaType.APPLICATION_JSON)//注解指定解壓方式接收數據類型

@Produces(MediaType.APPLICATION_JSON)//注解指定壓縮方式返回數據類型

@Path("/postJson2")

public Response postJson2(ReqJson msg) {

ReqJson reqJson = new ReqJson();

reqJson.setId(msg.getId());

List listBeanList = new ArrayList<>();

for (int i = 0; i < msg.getList().size(); i++) {

ReqJson.ListBean listBean = new ReqJson.ListBean();

listBean.setMaxname(msg.getList().get(i).getMaxname());

listBeanList.add(listBean);

}

reqJson.setList(listBeanList);

return Response.status(200).entity(reqJson).build();

}

}

現在配置Tomcat運行一下:

點擊Run >Edit Configurations… > “+” > Tomcat Server > Local,加入Tomcat,選擇Deployment tab, 點擊 “+”, 選擇唯一的Artifact,點擊"OK"即可。

196d274d65cf

Tomcat配置

配置好之后直接運行,在瀏覽器訪問http://localhost:8080

196d274d65cf

默認地址

196d274d65cf

Get hello

到這里RESTful API已經正常運行,接下來再用Fiddler調用API(注意設置請求格式Content-Type: application/json):

196d274d65cf

調用API

196d274d65cf

查看調API結果

到這里RESTful API已經搭建完成,下面是部署的一些其它“姿勢”:

自定義 Application 子類

如果你的繼承 Application 類來提供有關根資源類的列表(getresources())和單身(getsingletons()),即你的 JAX-RS 應用模型,然后你需要注冊一個 javax.ws.rs.Application [原名] 名稱的 Servlet 或 Servlet 過濾器作為 web 應用程序的初始化參數,在 web.xml 中進行部署描述:

配置 Jersey 容器 Servlet 或者 過濾器來自定義 Application 子類

javax.ws.rs.Application

org.foo.MyApplication

Jersey 將考慮所有 Application 實現的 getClasses() 和 getSingletons() 方法的返回。

注意:JAX-RS 規范定義的配置名稱確實是 javax.ws.rs.Application 而不是 javax.ws.rs.core.Application

Jersey 掃描包

如果配置屬性無需設置,要部署應用程序只包括存儲在特定的包的資源和提供者,那么你可以指示 Jersey 自動掃描這些包,這樣就能自動注冊找到的任何資源和提供者:

配置 Jersey 的 Servlet 或者 Filter 來掃描包

jersey.config.server.provider.packages

org.foo.myresources,org.bar.otherresources

jersey.config.server.provider.scanning.recursive

false

Jersey 將會自動發現被選中的資源和提供者。你可以通過設置 >jersey.config.server.provider.scanning.recursive 屬性來決定 Jersey 是否掃描子包。默認值是 true , 即啟用遞歸掃描子包。

源碼:https://github.com/overclockingi3/JerseyDemo

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/194174.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息