java Restful框架(一):jersey 在maven+spring环境下使用,入门Demo

本文介绍jersey在maven+spring环境下使用的步骤。
1、maven pom.xml配置

<!-- jersey包,用于实现restful -->
		<dependency>
			<groupId>com.sun.jersey</groupId>
			<artifactId>jersey-core</artifactId>
			<version>1.18</version>
		</dependency>
		<dependency>
			<groupId>com.sun.jersey</groupId>
			<artifactId>jersey-server</artifactId>
			<version>1.18</version>
		</dependency>
		<dependency>
			<groupId>com.sun.jersey</groupId>
			<artifactId>jersey-json</artifactId>
			<version>1.18</version>
		</dependency>
		<dependency>
			<groupId>com.sun.jersey</groupId>
			<artifactId>jersey-servlet</artifactId>
			<version>1.18</version>
		</dependency>
		<dependency>
			<groupId>com.sun.jersey.contribs</groupId>
			<artifactId>jersey-spring</artifactId>
			<version>1.18</version>
			<exclusions>
				<exclusion>
					<artifactId>spring-aop</artifactId>
					<groupId>org.springframework</groupId>
				</exclusion>
				<exclusion>
					<artifactId>spring-context</artifactId>
					<groupId>org.springframework</groupId>
				</exclusion>
				<exclusion>
					<artifactId>spring-beans</artifactId>
					<groupId>org.springframework</groupId>
				</exclusion>
				<exclusion>
					<artifactId>spring-web</artifactId>
					<groupId>org.springframework</groupId>
				</exclusion>
				<exclusion>
					<artifactId>spring-core</artifactId>
					<groupId>org.springframework</groupId>
				</exclusion>
			</exclusions>
		</dependency>

2、web.xml中配置jersey的servlet

<servlet>
		<servlet-name>jerseySpring</servlet-name>
		<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
		<init-param>
			<param-name>com.sun.jersey.config.property.packages</param-name>
			<param-value>com.mfns.restful</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>jerseySpring</servlet-name>
		<url-pattern>/rest/*</url-pattern>
	</servlet-mapping>

3、创建服务端
注意:此服务端的package需要与web.xml中配置的servlet下的param-value一致

package com.mfns.restful;


import com.alibaba.fastjson.JSONObject;

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

/**
 * Created by mfns on 2018/9/28.
 */
@Path("hello")
public class Demo1 {
    /**
     * 响应字符串
     * @param name
     * @return
     */
    @GET
    @Path("/sayHi")
    public String sayHi(@QueryParam("name") String name){
        System.out.println(name);
        return "hello world "+name;
    }
    /**
    响应体进行响应
    */
    @GET
    @Path("/hi")
    public Response hi(@QueryParam("name") String name){
        JSONObject json = new JSONObject();
        json.put("hello",name);
        json.put("msg","welcome to jersey world");
        return Response.status(Response.Status.OK).entity(json.toString()).build();
    }
}

4、部署到tomcat,访问
在这里插入图片描述

5、tomcat报错java.util.zip.ZipException: invalid LOC header (bad signature)

java.util.zip.ZipException: invalid LOC header (bad signature)
    at java.util.zip.ZipFile.read(Native Method)  
    at java.util.zip.ZipFile.access$1400(ZipFile.java:56)  
    at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:679)  
    at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:415)  
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)  
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)  
    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)          

到maven的reposity目录下搜aether*****in-progress(可以搜aether或者in-progress都行)文件,如果存在,把这个文件对应的版本目录删除,刷新一下项目重新部署打包即可。

猜你喜欢

转载自blog.csdn.net/weixin_43299617/article/details/82886116