那年面试。
A君:你能解释‘==’和equals的区别吗?
小白:巴拉巴拉巴拉~~~~~~~~~~~~~~~~~~~~
此处省略十万个为什么~~~~~~~~~~~~~~~~~~
A君:能说说你的这个项目使用的哪些框架吗?
小白:框架~~嗯~~~~卡顿中 ~~~~~~~~~~~(内心独白:咋个没有多少说的呢,好后悔没有学好啊啊啊啊啊,看来自己这个菜鸟还要继续学习…)嗯
初识Jersey-第一次测试(结合Resin发布)
百度百科:Jersey是一个REST框架
废话不多说,直接进入主题:创建第一个基于jersey的demo;
本次测试源码:链接: https://pan.baidu.com/s/15wB1lEWiOHSIjPjbcvdLrg 提取码: m3y8
- 创建Web Projext工程或者maven projext。两者都可,前者需要自己引入jar文件,后者使用maven自动引入依赖(需要自己配置相关仓库设置等)
- 引入jar文件
a、通过classpath方式导入(你可以自己到仓库查找,常用仓库地址
1)http://mvnrepository.com/ 2) http://findjar.com 3) http://sourceforge.net/
b、通过maven导入jar
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.19.3</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.9</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.9</version>
</dependency>
...其他略,建议依据仓库对应的数据填写
查找方式如图:
- 修改web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>JerseyApplication</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name> jersey.config.server.provider.packages</param-name>
<param-value>cc.xiaobai</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>JerseyApplication</servlet-name>
<url-pattern>/*</url-pattern> <!--**注意点1** 切记本标识,通配符-->
<!-- <url-pattern>/web_url_name</url-pattern> 项目的第一级访问目录名urlname -->
</servlet-mapping>
</web-app>
- 写测试的类JerseyService.java
package cc.xiaobai;
import java.util.HashMap;
import java.util.Map;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import com.alibaba.fastjson.JSONObject;
@Path("/cc")
public class JerseyService {
@GET
@Path("/xiaobai")
@Produces("text/plain;charset=gbk") //解决乱码问题
public String getAllResource() {
Map<String, Object> map = new HashMap<String, Object>();
map.put("cc_test", "第一次开启测试");
map.put("cc_name", "小白成长");
return JSONObject.toJSONString(map);
}
}
- 启动tomcat或者Resin(我这里启动Resin,最近我用这个比较多,顺带练习Resin启动Web项目)
需要配置resin.conf指定访问的项目
a、你可以把项目打包放在resin的webapps中,再通过指定访问的项目名称
<host id="" root-directory=".">
<web-app id="/resin_url_name" root-directory="webapps/ROOT"/><!-- **注意点2** 项目存放在resin的webapps下 -->
</host>
.
b、直接指定web项目的路径
<host id="" root-directory=".">
<web-app id="/" root-directory="E:\xxxx\weaverWorkspace\Test_cc\WebRoot"/><!-- 同注意点2 路径注意下图 -->
</host>
6. 启动好服务,则开发访问项目:
在浏览器中输入预先设定的访问路径–结果如下
.
特别注意点解释:
1.如果你在注意点1设置了名称则表示项目访问路径前需要加你添加的路径。
例如:127.0.0.1:8080/urlname[web.xml中设置的路径]/cc[类中设置的路径]/test[方法上设置的路径]
2.resin设置中注意点2,你设置了id内容(访问路径),则启动项目你首先需要加该id(url)在项目访问前。
例如:127.0.0.1:8080/resin_url_name[Resin中设置的路径,()可以无)]/web_url_name[web.xml中设置的路径(可以使用通配符)]/cc[类中设置的路径]/test[方法上设置的路径]
3.注意转码,可能会有乱码问题,可以在 注解 ‘@Produces(“text/plain;charset=gbk”) //解决乱码问题’中 设置
以上为小白初次接触Jersey测试内容,有待完善后期补充中。。。
当然小白还是那个小白,希望大家多多指教,【本次测试代码见顶部】