IntelliJ上创建Tomcat + Jersey 工程
来源:互联网 发布:lol怎么刷金币软件 编辑:程序博客网 时间:2024/06/06 01:52
REST以其简洁的模式被越来越多的web服务采用和实现,并出现了很多框架,Jersey是其中优秀代表。
Jersey扩展了JAX-RS 参考实现, 提供了更多的特性和工具, 可以进一步地简化 RESTful service 和 client 开发。尽管相对年轻,但已经是一个产品级的 RESTful service 和 client 框架。
需要做一个RESTful架构的web服务,结构为IntelliJ + Tomcat + Maven + Jersey。(注:这里的Intellij需要用 Ultimate版本)
1、新建项目
使用Intellij新建工程,选择Java Enterprise=>RESTful Web Service,下边的Libraries选择Setup Library Later,方便后边我们用Maven管理Jersey包。如图:
2、添加框架支持
这里我们要添加web application
和Maven
的支持。在项目名称上右键=》Add Frameworks Support
,选中Web Application
和Maven
,前者会添加web文件夹,里边包括web-inf
和web.xml
,后者会添加pom.xml
。
此时项目目录看着应该是这个样子的,在pom.xml
中修改自己的groupID
。
3、配置Tomcat服务
Run=》Run...=》Edit Configurations
对Tomcat进行配置,默认应该已经有一个,没有的话自己添加。
如果没有特殊需求的话,这里只需要改一个warning,根据下方提示Fix部署的问题,可以保持默认直接apply,然后运行Tomcat就可以了。
此时打开的http://localhost:8080/
页面是空的,编辑一下index.jsp
,里边随便添点东西,就可以显示出来了。
3、添加REST环境支持
修改pom.xml
文件,添加jersey
的依赖。找了下,新版的release是2.23。可以在这里找,可以直接复制粘贴。
<!-- https://mvnrepository.com/artifact/org.glassfish.jersey.containers/jersey-container-servlet --><dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet</artifactId> <version>2.23</version></dependency>
完成后会自动下载对应的依赖,如果没有开启自动导入,用View=》Tool Windows=》Maven Projects
打开Maven试图,compile一下就行了。
接下来需要把项目依赖的lib发布到WEB-INFO/lib
下,选择File=》Project Structure...
,然后按照下图所示操作,全选包,Put into /WEB-INF/lib
,然后apply
即可。
4、添加测试
(1)在src/main/java
下新建一个Java文件,这里放在com.test包里。
@Path("hello")public class HelloJsersy { @GET @Produces("text/plain") public String getString(){ return "hello jersey"; } @GET @Path("{username}") @Produces("text/plain") public String getParam(@PathParam("username")String username){ return "hello "+username; }}
第一个函数getString()
没有再指定@Path
,直接响应hello
,访问页面时将返回字符串hello jersey
;第二个函数getParam()
指定了@Path
,响应hello/{username}
,其中{username}
为地址传过来的参数。例如使用hello/tom
访问就返回字符串hello tom
。
(2)修改web.xml文件
这里是添加jersey
的处理,添加以下内容:
<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.test</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>JAX-RS Servlet</servlet-name> <url-pattern>/test/*</url-pattern> </servlet-mapping>
这里的<param-value>com.test</param-value>
就是我们最终提供RESTful服务代码所在的包名。
OK,现在重启一下Tomcat,访问http://localhost:8080/test/hello
就可以看到hello jersey
了
中文乱码处理
以上虽然搭建好环境,但是用浏览器访问的时候中文显示乱码。
(1)修改Tomcat默认编码
修改Tomcat目录下conf/server.xml文件
<Service name="Catalina"><Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>……<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
给其中的Connector添加上utf8编码URIEncoding="UTF-8"
,最后类似于:
<Service name="Catalina"><Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>……<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>
重启Tomcat,即可正常显示页面中的中文;
(2)为Jersey指定编码
这个也很简单,在@Produces里指定就好了,类似于:
@Produces("application/json;charset=utf8")
OK!
- IntelliJ上创建Tomcat + Jersey 工程
- IntelliJ 创建Tomcat + Maven +Jersey Restful 工程
- IDEA -- IntelliJ IDEA14 创建JavaWeb工程 配置Tomcat 部署 运行
- IntelliJ IDEA创建JavaWeb工程及配置Tomcat部署
- IntelliJ IDEA 部署Tomcat及创建一个web工程
- IntelliJ+Jersey+Maven+Tomcat搭建Restful WebServices基础示例
- 使用intellij创建Spring工程
- Intellij Idea 创建 Maven 工程
- IntelliJ IDEA 创建Maven 工程
- Intellij idea 14.4创建web工程并与tomcat服务集成
- IntelliJ IDEA 15 部署Tomcat及创建一个简单的Web工程
- Intellij Community(社区版) 使用Maven创建Web工程 并部署tomcat
- IntelliJ IDEA 15 部署Tomcat及创建一个简单的Web工程
- IntelliJ IDEA的安装,配置Tomcat部署及创建JavaWeb工程
- Intellij Idea2016部署Maven工程到Tomcat
- IntelliJ IDEA 创建第一个Mybatis工程
- intellij idea创建springmvc4_hibernate5_maven web工程
- intellij使用sbt工程创建指南
- Android面试之J2SE基础
- 自定义SlideSwitch(开关控件)
- Java提高篇(三三)-----Map总结
- 结构型--装饰者模式
- 文件流形式WEB页面显示图片
- IntelliJ上创建Tomcat + Jersey 工程
- css常用的简写
- Python matplotlib支持中文
- gitbook edit
- register
- 推荐!国外程序员整理的Java资源大全
- IOS --- OC与Swift混编
- 反射调用指定方法
- 【Linux】 进程通信--命名管道