系统环境
JDK 1.7.0_09
Glassfish 3.1.2
利用javax.ws.rs.core.Response
代码例子
package com.cft.ui.service;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Variant;
import com.sun.jersey.api.client.ClientResponse.Status;
@Path("/service/response")
public class ResponseService {
private static final String REDIRECT_PATH = "http://xxx:9090/";
@Context
private HttpServletRequest request = null;
@Path("seeOther")
@GET
public Response seeOther() throws URISyntaxException {
Response response = Response.seeOther(new URI(REDIRECT_PATH)).build();
System.out.println(request.getRequestURI());
System.out.println(response.getStatus());
return response;
}
@Path("temporaryRedirect")
@GET
public Response temporaryRedirect() throws URISyntaxException {
Response response = Response.temporaryRedirect(new URI(REDIRECT_PATH)).build();
System.out.println(request.getRequestURI());
System.out.println(response.getStatus());
return response;
}
@Path("created")
@GET
public Response created() throws URISyntaxException {
Response response = Response.created(new URI(REDIRECT_PATH)).build();
System.out.println(request.getRequestURI());
System.out.println(response.getStatus());
return response;
}
@Path("fromResponse")
@GET
public Response fromResponse() throws URISyntaxException {
Response response = Response.fromResponse(seeOther()).build();
System.out.println(request.getRequestURI());
System.out.println(response.getStatus());
return response;
}
@Path("noContent")
@GET
public Response noContent() throws URISyntaxException {
Response response = Response.noContent().build();
System.out.println(request.getRequestURI());
System.out.println(response.getStatus());
return response;
}
@Path("notAcceptable")
@GET
public Response notAcceptable() throws URISyntaxException {
Response response = Response.notAcceptable(new ArrayList()).build();
System.out.println(request.getRequestURI());
System.out.println(response.getStatus());
return response;
}
@Path("notModified")
@GET
public Response notModified() throws URISyntaxException {
Response response = Response.notModified().build();
System.out.println(request.getRequestURI());
System.out.println(response.getStatus());
return response;
}
@Path("ok")
@GET
public Response ok() throws URISyntaxException {
Response response = Response.ok().build();
System.out.println(request.getRequestURI());
System.out.println(response.getStatus());
return response;
}
@Path("serverError")
@GET
public Response serverError() throws URISyntaxException {
Response response = Response.serverError().build();
System.out.println(request.getRequestURI());
System.out.println(response.getStatus());
return response;
}
@Path("status")
@GET
public Response status() throws URISyntaxException {
Response response = Response.status(Status.BAD_GATEWAY).build();
System.out.println(request.getRequestURI());
System.out.println(response.getStatus());
return response;
}
}
JSP页面返回
@Path("ok2")
@GET
@Produces(MediaType.TEXT_HTML)
public Response ok2() throws URISyntaxException {
Viewable view = new Viewable("/sample.jsp", new SampleJspBean("test", 1986));
Response response = Response.ok().entity(view).type(MediaType.TEXT_HTML).build();
System.out.println(request.getRequestURI());
System.out.println(response.getStatus());
return response;
}
另外写法
@Path("ok2")
@GET
@Produces(MediaType.TEXT_HTML)
public Response ok2() {
return new Viewable("/sample.jsp", new SampleJspBean("test", 1986));
}