使用IntelliJ IDEA新建Java Web后端resfulAPI模板
初始化项目
打开IntelliJ IDEA,我的版本是Version 2018.1.4。点击Create New Project。在左侧的列表中选择Maven。然后在右侧勾选Create from archetype。
然后在右侧的列表中选择org.apache.maven.archetypes:maven-archetype-webapp。点击next。
填写GroupId和ArtifactId。GroupId定义了项目属于哪个组织,例如,我们需要使用一个包,名字叫做fastjson,用户在项目中返回json数据的,是阿里的开源框架,被不少企业使用,是一个极其优秀的Json框架。它的groupId是com.alibaba,artifactId是fastjson。
简单理解一下,拿Github举个例子。GroupId就相当于是你的用户名,而ArtifactId就相当于是你的具体某个项目的名称,也是我们当前的项目的根目录名称。例子如下。
GroupId: com.detectivehlh.test
ArtifactId: testDemo
点击next,下两页不用设置,直接点击next。此时新建项目成功,右下角会弹出一个提示框,上面写着Maven projects need to be imported.此时选择Enable Auto-Import。就可以看到项目开始自动的去加载依赖包了。加载完成之后,项目会多出一个src目录。
引入jersey和servlet
打开根目录下pom.xml文件,在dependencies标签中添加如下代码,引入servlet。
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.22.2</version>
</dependency>
打开/src/main/webapp/WEB_INF/web.xml。在web-app标签之间添加如下代码。
<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>
新建项目目录和文件
在/src/main目录下新建java、resources目录,java放项目java源代码,resources放项目的静态资源文件。
打开File中的Project Structure,或者使用快捷键,command + ;就可以快捷打开了。将刚刚创建的名为java目录设置为Sources,resources设置为Resources。然后Apply。然后在java目录下依次新建com.detectivehlh.test三个包,就是我们的GroupId.
然后在com.detectivehlh.test中新建Hello类。代码如下。
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类。代码如下。
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
这个时候可以看到,Hello的class中有报错。是因为没有在pom.xml中没有引入对fastjson的依赖。在根目录下的pom.xml中添加如下依赖。
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.21</version>
</dependency>
再回到Hello中就可以看到没有错误信息了。
配置Tomcat
选择顶部菜单栏中的Run->Edit Configurations。点击左侧的+,选择Tomcat Server->local。配置好Tomcat后,选择Server旁边的Deployment标签,点击下方的+,选择Artifact,选择testDemo:war exploded。点击Apply。然后点击右上角的长得像播放键的按钮,启动项目。
就可以看到会新建一个浏览器标签页。显示"Hello World!",然后改变浏览器中的路由为我们写的接口的路由,/api/hello/get。就可以看到返回的json数据了。
使用IntelliJ IDEA新建Java Web后端resfulAPI模板的更多相关文章
- IntelliJ IDEA新建JAVA WEB项目(转载)
IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本控制工具(git.svn ...
- 使用Intellij idea新建Java Web项目(servlet) 原理及初步使用
准备 JDK (配置JDK_HOME\bin 和 CLASSPATH) 注:JDK8下载已经需要注册了,请使用JDK11(现在是官方长期支持的版本) 对于我们新手来说,JD ...
- Mac下Intellij IDea发布Java Web项目详解五 开始测试
测试前准备工作目录 Mac下Intellij IDea发布Web项目详解一 Mac下Intellij IDea发布Java Web项目(适合第一次配置Tomcat的家伙们)详解二 Mac下Intell ...
- 26.使用IntelliJ IDEA开发Java Web项目时,修改了JSP后刷新浏览器无法及时显示修改后的页面
转自:https://blog.csdn.net/yuxxz/article/details/51318908 使用IntelliJ IDEA开发Java Web项目时,修改了JSP后刷新浏览器无法及 ...
- 使用intelliJ IDE开发java web项目
<!-- spring版本号 --> <spring.version>4.3.0.RELEASE</spring.version> <!-- mybatis版 ...
- Intellij IDEA工具Java web 环境搭建
Java web 环境搭建 环境依赖 操作系统:Windows 7 64位 开发工具:IntelliJ IDEA 13.1.4 开发工具依赖环境 JDK版本:1.7+ 开发工具依赖插件 包管理:Mav ...
- (java web后端方向)如何让你的简历为你争取到更多的面试机会,内容来自java web轻量级开发面试教程
我们在做培训时,会发现一个不合理的情况,一些程序员能力不错,在公司里也是技术牛人,但发出去的简历往往会石沉大海,没有回复.对于刚毕业的大学生或工作年限在2年之内的程序员,这个情况会更严重. 这种情况下 ...
- 使用工具intellij idea 进行java web开发简介
一.工具下载及安装准备 1.首先下载工具 Intellij idea ,下载地址:https://www.jetbrains.com/ 2.破解 百度下载一个 JetbrainsCrack-2.7- ...
- 使用IntelliJ IDEA开发java web
前言:由于本人接触java语言时间还比较短,IDE工具eclipse还比较熟悉点,想试试用IntelliJ IDEA来开发java web项目来练练手! 一.下载安装篇 1.安装IntelliJ ID ...
随机推荐
- mongodb分组排序
@Override public MessageDto getCheckInMembersByFlight(String fltDt, String fltNr, String channel,Str ...
- P2634 [国家集训队]聪聪可可
淀粉质 第二道点分治的题 关于点分治的一点理解: 所谓点分治,其实就是把要求的问题(一般与路径有关)划分成两种情况 1.路径经过rt(根节点) 2.路径在根节点的子树内 我们只需要处理情况1,因为情况 ...
- P3047 [USACO12FEB]附近的牛Nearby Cows
https://www.luogu.org/problemnew/show/P304 1 #include <bits/stdc++.h> 2 #define up(i,l,r) for( ...
- javascript生成器
next()方法 如果给next方法传参数, 那么这个参数将会作为上一次yield语句的返回值 ,这个特性在异步处理中是非常重要的, 因为在执行异步代码以后, 有时候需要上一个异步的结果, 作为下次异 ...
- Linux如何挂载U盘
1,以root用户登陆 先加载USB模块 modprobe usb-storage 用fdisk -l 看看U盘的设备 假如U盘是sda1 2,确定在 目录 /mnt 下建立了 文件夹 / ...
- django建立管理系统之五----单页ajax数据交互
ajax数据提交: 需求: 1. 点击ajax方式提交后数据提交到后台数据库,并且在前台实现数据更新 a.可以用刷新页面来实现数据页面的更新 对应的html,实现局部刷新(可以用刷新页面实现,例如 $ ...
- deepCopy深拷贝
function deepCopy(p,c){ var c = c || {}; for ( var i in p ){ //确保属于自己的属性 if ( p.hasOwnProperty( i ) ...
- explicit_defaults_for_timestamp引发的狗血剧情
今天就碰到了一个较初级的问题,居然为找这个参数花了好半天时间,深以为不齿.需求是这样的,有个表的某个字段需要从datetime改成timestamp类型.原结构如下:create table tmp1 ...
- CentOS6.8手动安装MySQL5.6(转)
1.安装mysql5.6依存包 2.下载编译包 wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linux-glibc2 ...
- 关于Android 8.0java.lang.SecurityException: Permission Denial错误的解决方法
背景 当我在Android 7.0及以下手机运行启动页,进行Activity跳转的时候,完美跳转到对应的目标Activity. 但当在Android 8.0及以上手机进行Activity跳转时,会爆如 ...