RESTEasy使用入门

1. 使用maven生成代码框架

mvn archetype:generate -DgroupId=win.mengx.study -DartifactId=RESTfulExample -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

运行命令后,会建立如下目录树:

RESTfulExample
├── pom.xml
└── src
└── main
├── resources
└── webapp
├── index.jsp
└── WEB-INF
└── web.xml

2. 生成idea可使用的工程文件

mvn idea:idea

3. 编辑pom.xml,增加resteasy库的依赖

--- a/pom.xml
+++ b/pom.xml
@@ -14,6 +14,11 @@
<version>3.8.1</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jaxrs</artifactId>
+ <version>2.2.1.GA</version>
+ </dependency>
</dependencies>
<build>

4. 创建REST Service

添加文件/src/main/java/win/mengx/study/MessageRestService.java

package win.mengx.study;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Response;

@Path("/message")
public class MessageRestService {

@GET
@Path("/{param}")
public Response printMessage(@PathParam("param") String msg) {

String result = "Restful example : " + msg;

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

}

}

5. 修改web.xml

修改文件src/main/webapp/WEB-INF/web.xml

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Restful Web Application</display-name>

<!-- Auto scan REST service -->
<context-param>
<param-name>resteasy.scan</param-name>
<param-value>true</param-value>
</context-param>

<!-- this need same with resteasy servlet url-pattern -->
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/rest</param-value>
</context-param>

<listener>
<listener-class>
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
</listener-class>
</listener>

<servlet>
<servlet-name>resteasy-servlet</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>resteasy-servlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>

</web-app>

上面的例子,resteasy-servlet url-pattern/rest/*,所以必须设置resteasy.servlet.mapping.prefix/rest[2]。

到此例子可以在tomcat中运行了,只需要编译出war包即可。

运行命令mvn package,在target目录下会生成RESTfulExample.war,把此文件放到tomcat的webapps目录(如果是ubuntu用apt安装的tomcat7,所在目录为/var/lib/tomcat7/webapps)下。重启tomcat服务service tomcat7 restart。打开浏览器,在地址栏中输入http://localhost:8080/RESTfulExample/rest/message/mengx,会显示Restful example : mengx这样的页面。

6. 在IntelliJ IDEA Ultimate中集成tomcat

打开设定窗口,在Application Servers页面,点击+,选择Tomcat Server

在弹出的窗口中选择tomcat安装的目录/usr/share/tomcat7

注意:这里可能会提示"Error running Tomcat : Can't find directory '/usr/share/tomcat7/conf'",需要在此目录下建立一个conf链接,链接到/var/lib/tomcat7/conf,并且确保此目录对于IDEA来说有读权限[3]。

7. 配置项目

  1. 配置项目的Modules,设置src目录为项目的Sources目录。
  2. 在module中add web


  3. 修改Web Resource Directories,选择目录src/main/webapp

  4. 增加Artifacts,见下图




  5. 配置调试服务


  6. 配置服务端口,例如8088
  7. 点击Deployment标签,添加Artifact

8. 调试

启动调试,用浏览器访问http://localhost:8088/rest/message/mengx,会显示Restful example : mengx这样的页面。注意:这时候,uri中不需要写RESTfulExample

参考链接

  1. RESTEasy hello world example
  2. Can't run Tomcat from Intellij Idea
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,288评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,227评论 6 342
  • 1、JavaWeb概念Java web,是用java技术来解决相关web互联网领域的技术的总称。web包括:web...
    寒剑飘零阅读 7,395评论 0 12
  • 0 系列目录# WEB请求处理 WEB请求处理一:浏览器请求发起处理 WEB请求处理二:Nginx请求反向代理 W...
    七寸知架构阅读 10,900评论 3 66
  • 自从去年夏天开始有规律的每周几次跑步,就把2017年斯德哥尔摩马拉松(下称斯马)当做阶段性的目标,并且早早地在自己...
    语乔筑轩阅读 4,028评论 4 0

友情链接更多精彩内容