当前位置: 首页 > 知识库问答 >
问题:

JSP和响应实体

索嘉胜
2023-03-14

我正在从jsp调用一个endpoint:

@GET
@Path("/select-users")
@Produces(MediaType.TEXT_PLAIN)
public ResultSet selectUsers() throws SQLException {
    PreparedStatement statement = appService.connect().prepareStatement("SELECT * FROM users");
    ResultSet result = statement.executeQuery();
    return result;
}

它返回对象类型ResultSet

来自jsp我想将响应保存在该对象中,以便解析查询结果。

<%
Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8080/StudentsCRM/rest/controller/select-users");
ClientResponse myresponse = webResource.accept("text/plain").get(ClientResponse.class);

ResultSet rs = myresponse.getEntity(java.sql.ResultSet.class);

%>

错误:com。太阳运动衫应用程序编程接口。客户ClientHandlerException:Java类Java的消息体读取器。sql。结果集和Java类型接口Java。sql。未找到结果集和MIME媒体类型应用程序/八位字节流

问:这是保存ResultSet响应的正确方法吗?

共有1个答案

汝彭薄
2023-03-14

问题在于你的代码:

@Produces(MediaType.TEXT_PLAIN)
public ResultSet selectUsers() throws SQLException {
    PreparedStatement statement = appService.connect().prepareStatement("SELECT * FROM users");
    ResultSet result = statement.executeQuery();
    return result;
}

根据javadoc

Products annotation定义资源类或MessageBodyWriter的方法可以生成的媒体类型。

你声明,它产生纯文本。但您的方法不会返回纯文本。它返回ResultSet。我觉得你不需要纯文本。您需要一些能够让用户保持稳定的数据格式,例如,JSONXML

如果选择JSON,那么应该迭代结果集以获得用户列表,并返回它。此外,还需要设置正确的产品类型。

 类似资料:
  • Response响应对象主要将JSP容器处理后的结果传回到客户端。可以通过response变量设置HTTP的状态和向客户端发送数据,如Cookie、HTTP文件头信息等。 一个典型的响应看起来就像下面这样: HTTP/1.1 200 OK Content-Type: text/html Header2: ... ... HeaderN: ... (空行) <!doctype ...> <ht

  • 如何通过代码将我的响应和请求对象从jsp文件发送到servlet?我不想提交表单之类的。 我试过了: 但它说: 澄清一下:我有一个客户端向JSP文件发送一个post请求。这个JSP文件解析一个文件并将所需的信息放入会话中。我想从这个jsp文件中调用一个servlet来向数据库中添加一些东西。我认为这个错误代码是由这行

  • 我们如何将消息(例如“File uploaded Successed”)传递到调用/上一个jsp页面(例如upload.jsp)。jsp页面正在获取会话的属性,并检查用户登录的部门。它以部门名称确认用户。当用户上传文件,servlet在表单操作中被调用时,servlet检查部门名称并在数据库中插入数据,并在同一个upload.jsp页面上向用户显示消息“文件上传成功”。当iam在请求分派器中传递页

  • 我正在学习Spring Boot。我创建了一个具有Spring Boot安全性的示例Spring Boot Web应用程序,它运行良好。 现在我想在同一个Web应用程序中添加Rest Webservice功能。 问题:当我尝试访问任何API时,我得到的响应是登录。jsp 要求:我希望不需要JSON响应身份验证和授权 要实现这一目标,我需要做哪些更改 Web安全配置:

  • 我使用的是Spring版本4(Spring data),我想将Object作为JSON返回,我想知道以下代码即使不使用xmlRootElement注释用户类也能工作: 任何机构都可以解释吗?当我需要注释要返回为JSON的对象类时,响应体/响应实体是否自己完成工作?

  • 我可以使用toEntity()方法返回ResponseEntity,如下所示: 但是我想在返回之前处理响应头。上面的代码将WebClient响应转换为响应实体并立即返回,但我想将其存储在响应实体变量中,处理它,然后返回响应实体。 我提到了这个- 当我试图将其存储在varibale中时,我遇到了这个错误-