java中 ok的用法,Java中利用Response.ok().build()操作response的statuscode的用法例子

本文提供了一个使用JDK 1.7和Glassfish 3.1.2实现RESTful API的示例代码,展示了如何通过不同的HTTP状态码创建响应,包括重定向、临时重定向、无内容等,并提供了JSP页面返回的例子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统环境

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));

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值