最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解使用IntelliJ IDEA新建Java Web后端resfulAPI模板

 更新時(shí)間:2018年08月29日 10:10:04   作者:detectiveHLH  
這篇文章主要介紹了詳解使用IntelliJ IDEA新建Java Web后端resfulAPI模板,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

初始化項(xiàng)目

打開(kāi)IntelliJ IDEA,我的版本是Version 2018.1.4。點(diǎn)擊Create New Project。在左側(cè)的列表中選擇Maven。然后在右側(cè)勾選Create from archetype。

然后在右側(cè)的列表中選擇org.apache.maven.archetypes:maven-archetype-webapp。點(diǎn)擊next。

填寫(xiě)GroupId和ArtifactId。GroupId定義了項(xiàng)目屬于哪個(gè)組織,例如,我們需要使用一個(gè)包,名字叫做fastjson,用戶(hù)在項(xiàng)目中返回json數(shù)據(jù)的,是阿里的開(kāi)源框架,被不少企業(yè)使用,是一個(gè)極其優(yōu)秀的Json框架。它的groupId是com.alibaba,artifactId是fastjson。

簡(jiǎn)單理解一下,拿Github舉個(gè)例子。GroupId就相當(dāng)于是你的用戶(hù)名,而ArtifactId就相當(dāng)于是你的具體某個(gè)項(xiàng)目的名稱(chēng),也是我們當(dāng)前的項(xiàng)目的根目錄名稱(chēng)。例子如下。

GroupId: com.detectivehlh.test
ArtifactId: testDemo

點(diǎn)擊next,下兩頁(yè)不用設(shè)置,直接點(diǎn)擊next。此時(shí)新建項(xiàng)目成功,右下角會(huì)彈出一個(gè)提示框,上面寫(xiě)著Maven projects need to be imported.此時(shí)選擇Enable Auto-Import。就可以看到項(xiàng)目開(kāi)始自動(dòng)的去加載依賴(lài)包了。加載完成之后,項(xiàng)目會(huì)多出一個(gè)src目錄。

引入jersey和servlet

打開(kāi)根目錄下pom.xml文件,在dependencies標(biāo)簽中添加如下代碼,引入servlet。

<dependency>
 <groupId>org.glassfish.jersey.containers</groupId>
 <artifactId>jersey-container-servlet</artifactId>
 <version>2.22.2</version>
</dependency>

打開(kāi)/src/main/webapp/WEB_INF/web.xml。在web-app標(biāo)簽之間添加如下代碼。

<servlet>
 <servlet-name>JAX-RS Servlet</servlet-name>
 <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
 <init-param>
  <param-name>jersey.config.server.provider.packages</param-name>
  <param-value>com.detectivehlh.test</param-value>
 </init-param>
 <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
 <servlet-name>JAX-RS Servlet</servlet-name>
 <url-pattern>/api/*</url-pattern>
</servlet-mapping>

新建項(xiàng)目目錄和文件

在/src/main目錄下新建java、resources目錄,java放項(xiàng)目java源代碼,resources放項(xiàng)目的靜態(tài)資源文件。

打開(kāi)File中的Project Structure,或者使用快捷鍵,command + ;就可以快捷打開(kāi)了。將剛剛創(chuàng)建的名為java目錄設(shè)置為Sources,resources設(shè)置為Resources。然后Apply。然后在java目錄下依次新建com.detectivehlh.test三個(gè)包,就是我們的GroupId.

然后在com.detectivehlh.test中新建Hello類(lèi)。代碼如下。

package com.detectivehlh.test;

import com.alibaba.fastjson.JSONObject;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.ArrayList;
import java.util.List;

@Path("/hello")
public class Hello {
 @Path("get")
 @GET
 @Produces(MediaType.APPLICATION_JSON)
 public Response getStudent() {
  List<Student> lists = new ArrayList<Student>();
  lists.add(new Student("1","mayun",23));
  lists.add(new Student("2","mahuateng",24));
  lists.add(new Student("3","zhouhongyi",25));
  JSONObject json = new JSONObject();
  return Response.status(Response.Status.OK).entity(json.toJSONString(lists)).build();
 }
}

同樣的地方新建Student類(lèi)。代碼如下。

package com.detectivehlh.test;

public class Student {
 private String id;
 private String name;
 private int age;

 public Student(String id, String name, int age) {
  this.id = id;
  this.name = name;
  this.age = age;
 }

 public String getId() {
  return id;
 }
 public void setId(String id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
}

引入fastjson

這個(gè)時(shí)候可以看到,Hello的class中有報(bào)錯(cuò)。是因?yàn)闆](méi)有在pom.xml中沒(méi)有引入對(duì)fastjson的依賴(lài)。在根目錄下的pom.xml中添加如下依賴(lài)。

<dependency>
 <groupId>com.alibaba</groupId>
 <artifactId>fastjson</artifactId>
 <version>1.2.21</version>
</dependency>

再回到Hello中就可以看到?jīng)]有錯(cuò)誤信息了。

配置Tomcat

選擇頂部菜單欄中的Run->Edit Configurations。點(diǎn)擊左側(cè)的+,選擇Tomcat Server->local。配置好Tomcat后,選擇Server旁邊的Deployment標(biāo)簽,點(diǎn)擊下方的+,選擇Artifact,選擇testDemo:war exploded。點(diǎn)擊Apply。然后點(diǎn)擊右上角的長(zhǎng)得像播放鍵的按鈕,啟動(dòng)項(xiàng)目。

就可以看到會(huì)新建一個(gè)瀏覽器標(biāo)簽頁(yè)。顯示"Hello World!",然后改變?yōu)g覽器中的路由為我們寫(xiě)的接口的路由,/api/hello/get。就可以看到返回的json數(shù)據(jù)了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • maven+阿里云創(chuàng)建國(guó)內(nèi)鏡像的中央倉(cāng)庫(kù)(親測(cè)可用)

    maven+阿里云創(chuàng)建國(guó)內(nèi)鏡像的中央倉(cāng)庫(kù)(親測(cè)可用)

    本篇文章主要介紹了maven+阿里云創(chuàng)建國(guó)內(nèi)鏡像的中央倉(cāng)庫(kù)(親測(cè)可用),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • 在java中用Scanner類(lèi)讀入單個(gè)字符的方法

    在java中用Scanner類(lèi)讀入單個(gè)字符的方法

    今天小編就為大家分享一篇在java中用Scanner類(lèi)讀入單個(gè)字符的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 詳解springboot中的jar包部署步驟

    詳解springboot中的jar包部署步驟

    這篇文章主要介紹了springboot中的jar包部署步驟及l(fā)inux中部署項(xiàng)目常用指令,需要的朋友可以參考下
    2018-07-07
  • Java定時(shí)器問(wèn)題實(shí)例解析

    Java定時(shí)器問(wèn)題實(shí)例解析

    這篇文章主要結(jié)合實(shí)例介紹了java當(dāng)中的定時(shí)器的一些問(wèn)題,有需要的朋友可以參考一下
    2017-04-04
  • SpringBoot中關(guān)于static和templates的注意事項(xiàng)以及webjars的配置

    SpringBoot中關(guān)于static和templates的注意事項(xiàng)以及webjars的配置

    今天小編就為大家分享一篇關(guān)于SpringBoot中關(guān)于static和templates的注意事項(xiàng)以及webjars的配置,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • spring boot 日志配置詳解

    spring boot 日志配置詳解

    本篇文章主要介紹了spring boot 日志配置 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • java對(duì)象克隆實(shí)現(xiàn)方法詳解

    java對(duì)象克隆實(shí)現(xiàn)方法詳解

    這篇文章主要給大家介紹了關(guān)于java對(duì)象克隆實(shí)現(xiàn)的相關(guān)資料,克隆就是復(fù)制一個(gè)對(duì)象的副本,Java支持我們對(duì)一個(gè)對(duì)象進(jìn)行克隆,通常用在裝飾模式和原型模式中,需要的朋友可以參考下
    2023-06-06
  • springMVC如何防止表單重復(fù)提交詳解

    springMVC如何防止表單重復(fù)提交詳解

    平時(shí)開(kāi)發(fā)的項(xiàng)目中經(jīng)常會(huì)遇到表單重復(fù)提交,造成數(shù)據(jù)重復(fù),增加服務(wù)器負(fù)載,嚴(yán)重甚至?xí)斐煞?wù)器宕機(jī),因此有效防止表單重復(fù)提交有一定的必要性,這篇文章主要給大家介紹了關(guān)于springMVC如何防止表單重復(fù)提交的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • Java中關(guān)于線程安全的三種解決方式

    Java中關(guān)于線程安全的三種解決方式

    這篇文章主要介紹了Java中關(guān)于線程安全的三種解決方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • springboot手寫(xiě)一個(gè)自己的starter源碼

    springboot手寫(xiě)一個(gè)自己的starter源碼

    在本篇文章里小編給大家整理了關(guān)于springboot手寫(xiě)一個(gè)自己的starter源碼的全部知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-06-06

最新評(píng)論

昆山市| 长顺县| 梁山县| 衢州市| 贺州市| 红安县| 青铜峡市| 云浮市| 桐梓县| 德化县| 宽城| 龙泉市| 茶陵县| 漳州市| 绥化市| 调兵山市| 永安市| 江城| 尉犁县| 麟游县| 万全县| 永平县| 衡山县| 讷河市| 遵化市| 赫章县| 上犹县| 铁力市| 灵丘县| 饶平县| 临沂市| 林芝县| 吉安县| 共和县| 阿尔山市| 博野县| 皋兰县| 芦溪县| 云龙县| 家居| 竹溪县|