IntelliJ 创建Tomcat + Jersey Restful 工程

前提及资源准备

项目需要,做一个RESTful架构的web服务,结构为IntelliJ + Tomcat + Maven + Jersey, 大家明白意思就好,IDE和web容器和依赖工具和库都混着交代了。
创建工程需要的资源如下:

  • IntelliJ Ultimate版本 (请尽可能购买正版软件
  • Tomcat
  • Maven
  • JDK

工程模板选择

打开IntelliJ新建工程,选择Java Enterprise -> Web Application,如图:

IntelliJ 创建Tomcat + Jersey Restful 工程_第1张图片
new_project.png

之所以没有选择Java Enterprise -> RESTful Web Service是因为我们要使用Maven做依赖去下载Jersey库,就不下载到本地了,以后部署起来也方便[其实也有原因是因为直接创建的RESTful Web Service跑起来总报错还找不到原因,但是用了Maven依赖库就没有问题,知道的小伙伴可以告诉留言我]; 同时也适合我们一步步前进,来验证环境搭建是否正确。

自动生成的工程结构如下:


IntelliJ 创建Tomcat + Jersey Restful 工程_第2张图片
default_project_structure.png

让普通web服务先运行起来

  • 首先创建一个运行配置,位置如图


    IntelliJ 创建Tomcat + Jersey Restful 工程_第3张图片
    edit_configuration.png
  • 在接下来的页面,添加一个Tomcat server,如图:


    IntelliJ 创建Tomcat + Jersey Restful 工程_第4张图片
    new_tomcat_server.png
  • 命名你的配置,添加tomcat home,然后fix deploy问题,如图:


    IntelliJ 创建Tomcat + Jersey Restful 工程_第5张图片
    fix_deployment.png
  • 修改index.jsp 在中加入Hello REST字符串,然后运行
    会看到浏览器自动打开http://localhost:8080/并显示出你的Hello REST字符串

添加REST环境支持

  • 在工程根目录下创建pom.xml,然后加入代码如下:

    
    4.0.0    
    com.yhzhou.test 
    demo
    1.0-SNAPSHOT
    
                     
            org.glassfish.jersey.containers            
            jersey-container-servlet            
            2.22.2        
        
    

  • 右键pom.xml,在菜单中选择Add as Maven Project,然后你可以看到IntelliJ在帮我们下载依赖,完成后,工程窗口下就变成了下图的样子:
    IntelliJ 创建Tomcat + Jersey Restful 工程_第6张图片
    after_dependencies.png
  • 根据你上面填写的groupId来在src下创建目录com/yhzhou/test,并创建java类Hello,内容如下:
package com.yhzhou.test;
/**
 * Created by yhzhou on 4/11/16.
 */
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/hello")
public class Hello {
    // This method is called if TEXT_PLAIN is request
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String sayPlainTextHello() {
        return "Hello Jersey";
    }
    // This method is called if XML is request
    @GET
    @Produces(MediaType.TEXT_XML)
    public String sayXMLHello() {
        return "" + " Hello Jersey" + "";
    }
    // This method is called if HTML is request
    @GET
    @Produces(MediaType.TEXT_HTML)
    public String sayHtmlHello() {
        return " " + "" + "Hello Jersey" + ""
                + "

" + "Hello Jersey" + "

" + " "; } }
  • 修改web/WEB-INFO/web.xml内容如下:


    
        JAX-RS Servlet
        org.glassfish.jersey.servlet.ServletContainer
        
            jersey.config.server.provider.packages
            com.yhzhou.test
        
        1
    
    
        JAX-RS Servlet
        /api/*
    

注意上面的com.yhzhou.test应该是你最终提供RESTful服务代码所在的包名。

  • 选择菜单上File->Project Structure...,按照下图,把项目依赖的lib发布到WEB-INFO/lib下, 然后apply。
IntelliJ 创建Tomcat + Jersey Restful 工程_第7张图片
deploy_lib.png
  • 运行,访问http://localhost:8080/api/hello,看到Hello Jersey
    代码下载

你可能感兴趣的:(IntelliJ 创建Tomcat + Jersey Restful 工程)