Web在线聊天室(7) --- 查询频道列表

2024-02-01 19:08

本文主要是介绍Web在线聊天室(7) --- 查询频道列表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 查询频道列表接口
    • 接口设计文档
    • 编写前端ajax回调函数
    • 编写servlet实现doget方法
    • 编写操作数据库方法
    • 实现结果

查询频道列表接口

接口设计文档

请求:
GET /channel
响应:
HTTP/1.1 200 OK
[ok:truereason:xxxdata{channelId: 1,channelName: xxx}
]

编写前端ajax回调函数

	   getChannels() {$.ajax({type: "get",url: "channel",success: function(body, status) {if(body.ok) {app.channels = body.data;}else {alert(body.reason)}}})}

编写servlet实现doget方法

@WebServlet("/channel")@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("UTF-8");resp.setCharacterEncoding("UTF-8");resp.setContentType("applicaation/json");Response response = new Response();try {//查询所有频道列表返回List<Channel> list = ChannelDao.query();response.setOk(true);response.setData(list);//ok:true,data[{},{}]}catch (Exception e) {e.printStackTrace();//目前,前端的实现,在后端报错,要返回空的list//改造前端为解析ok,reason//参考LoginServlet改造response.setReason(e.getMessage());//ok:false,reason:""}resp.getWriter().println(Util.serialize(response));}

编写操作数据库方法

    /*** 查询频道列表*/public static List<Channel> query() {Connection connection = null;PreparedStatement statement = null;ResultSet resultSet = null;//定义返回数据List<Channel> list = new ArrayList<>();try {//1. 获取数据库连接Connectionconnection = Util.getConnection();//2. 通过Connection+sql 创建操作命令对象StatementString sql = "select channelId,channelName from channel";statement = connection.prepareStatement(sql);//3. 执行sql:执行前替换占位符resultSet = statement.executeQuery();//如果是查询操作,处理结果集while (resultSet.next()) {//移动到下一行,有数据返回trueChannel channel = new Channel();//设置属性channel.setChannelId(resultSet.getInt("channelId"));channel.setChannelName(resultSet.getString("channelName"));list.add(channel);}return list;}catch (Exception e) {throw new AppException("查询频道列表出错", e);}finally {//释放资源Util.close(connection,statement,resultSet);}}

实现结果

我们登录到账号上,就可以看到频道列表了
在这里插入图片描述

这篇关于Web在线聊天室(7) --- 查询频道列表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/668187

相关文章

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

MyBatis-Plus使用动态表名分表查询的实现

《MyBatis-Plus使用动态表名分表查询的实现》本文主要介绍了MyBatis-Plus使用动态表名分表查询,主要是动态修改表名的几种常见场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录1. 引入依赖2. myBATis-plus配置3. TenantContext 类:租户上下文

JavaWeb 中的 Filter组件详解

《JavaWeb中的Filter组件详解》本文详细介绍了JavaWeb中的Filter组件,包括其基本概念、工作原理、核心接口和类、配置方式以及常见应用示例,Filter可以实现请求预处理、响应后... 目录JavaWeb 中的 Filter 详解1. Filter 基本概念1.1 什么是 Filter1.

MySQL基本表查询操作汇总之单表查询+多表操作大全

《MySQL基本表查询操作汇总之单表查询+多表操作大全》本文全面介绍了MySQL单表查询与多表操作的关键技术,包括基本语法、高级查询、表别名使用、多表连接及子查询等,并提供了丰富的实例,感兴趣的朋友跟... 目录一、单表查询整合(一)通用模版展示(二)举例说明(三)注意事项(四)Mapper简单举例简单查询

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE

Python列表去重的9种方法终极指南

《Python列表去重的9种方法终极指南》在Python开发中,列表去重是一个常见需求,尤其当需要保留元素原始顺序时,本文为大家详细介绍了Python列表去重的9种方法,感兴趣的小伙伴可以了解下... 目录第一章:python列表去重保持顺序方法概述使用字典去重(Python 3.7+)使用集合辅助遍历性能

springboot+mybatis一对多查询+懒加载实例

《springboot+mybatis一对多查询+懒加载实例》文章介绍了如何在SpringBoot和MyBatis中实现一对多查询的懒加载,通过配置MyBatis的`fetchType`属性,可以全局... 目录springboot+myBATis一对多查询+懒加载parent相关代码child 相关代码懒

在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)

《在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)》DataGrip是JetBrains公司出品的一款现代化数据库管理工具,支持多种数据库系统,包括MySQL,:本文主要介绍在D... 目录前言一、登录 mysql 服务器1.1 打开 DataGrip 并添加数据源1.2 配置 MySQL

Go语言中如何进行数据库查询操作

《Go语言中如何进行数据库查询操作》在Go语言中,与数据库交互通常通过使用数据库驱动来实现,Go语言支持多种数据库,如MySQL、PostgreSQL、SQLite等,每种数据库都有其对应的官方或第三... 查询函数QueryRow和Query详细对比特性QueryRowQuery返回值数量1个:*sql