实体类:

Province:

package com.bjpowernode.entity;public class Province {private Integer id;private String name;private String jiancheng;private String shenghui;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getJiancheng() {return jiancheng;}public void setJiancheng(String jiancheng) {this.jiancheng = jiancheng;}public String getShenghui() {return shenghui;}public void setShenghui(String shenghui) {this.shenghui = shenghui;}@Overridepublic String toString() {return "Province{" +"id=" + id +", name='" + name + '\'' +", jiancheng='" + jiancheng + '\'' +", shenghui='" + shenghui + '\'' +'}';}
}

City:

package com.bjpowernode.entity;public class City {private Integer id;private String name;private Integer provinceId;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getProvinceId() {return provinceId;}public void setProvinceId(Integer provinceId) {this.provinceId = provinceId;}@Overridepublic String toString() {return "City{" +"id=" + id +", name='" + name + '\'' +", provinceId=" + provinceId +'}';}
}

dao层:QueryDao:

package com.bjpowernode.dao;import com.bjpowernode.entity.City;
import com.bjpowernode.entity.Province;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;public class QueryDao {private Connection conn;private PreparedStatement pst;private ResultSet rs;private String sql;private String url="jdbc:mysql://localhost:3306/springdb";private String username="root";private String password="123456";//查询所有的省份信息public List<Province> queryProvinceList(){List<Province> provinces  = new ArrayList<>();try{Province p = null;Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection(url,username,password);sql="select id,name,jiancheng,shenghui from province order by id";pst = conn.prepareStatement(sql);rs = pst.executeQuery();while(rs.next()){p  = new Province();p.setId( rs.getInt("id"));p.setName( rs.getString("name"));p.setJiancheng( rs.getString("jiancheng"));p.setShenghui( rs.getString("shenghui"));provinces.add(p);}}catch(Exception e){e.printStackTrace();}finally{try{if( rs != null){rs.close();}if( pst != null){pst.close();}if( conn != null){conn.close();}}catch (Exception ex){ex.printStackTrace();}}return provinces;}//查询一个省份下面的所有城市public List<City> queryCityList(Integer provinceId){List<City> cities  = new ArrayList<>();try{City city = null;Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection(url,username,password);sql="select  id, name from city where provinceid = ? ";pst = conn.prepareStatement(sql);//设置省份的参数值pst.setInt(1, provinceId);rs = pst.executeQuery();while(rs.next()){city = new City();city.setId( rs.getInt("id"));city.setName( rs.getString("name"));cities.add(city);}}catch(Exception e){e.printStackTrace();}finally{try{if( rs != null){rs.close();}if( pst != null){pst.close();}if( conn != null){conn.close();}}catch (Exception ex){ex.printStackTrace();}}return cities;}
}

controller层:

QueryProviceServlet:

package com.bjpowernode.controller;import com.bjpowernode.dao.QueryDao;
import com.bjpowernode.entity.Province;
import com.fasterxml.jackson.databind.ObjectMapper;import javax.management.Query;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;public class QueryProviceServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String json = "{}";//调用dao,获取所有的省份信息, 是一个List集合QueryDao dao  = new QueryDao();List<Province> provinces = dao.queryProvinceList();//把list转为json格式的数据,输出给ajax请求if( provinces != null ){//调用jackson工具库,实现List--jsonObjectMapper om  = new ObjectMapper();json = om.writeValueAsString(provinces);}//输出json数据,响应ajax请求的,返回数据response.setContentType("application/json;charset=utf-8");PrintWriter pw  = response.getWriter();pw.println(json);pw.flush();pw.close();}
}

QueryCityServlet:

package com.bjpowernode.controller;import com.bjpowernode.dao.QueryDao;
import com.bjpowernode.entity.City;
import com.fasterxml.jackson.databind.ObjectMapper;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;public class QueryCityServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String json = "{}";// 获取请求传过来的, 省份idString strProviceId =  request.getParameter("proid");if( strProviceId != null  && !"".equals(strProviceId.trim())){QueryDao dao  =new QueryDao();List<City> cityList = dao.queryCityList( Integer.valueOf( strProviceId));//把list转为jsonObjectMapper om = new ObjectMapper();json  = om.writeValueAsString(cityList);}//输出数据response.setContentType("application/json;charset=utf-8");PrintWriter pw = response.getWriter();pw.println(json);pw.flush();pw.close();}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}
}

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--查询所有的省份servlet声明开始--><servlet><servlet-name>QueryProviceServlet</servlet-name><servlet-class>com.bjpowernode.controller.QueryProviceServlet</servlet-class></servlet><servlet-mapping><servlet-name>QueryProviceServlet</servlet-name><url-pattern>/queryProvince</url-pattern></servlet-mapping><!--查询所有的省份servlet声明完成--><!--注册查询city的servlet开始--><servlet><servlet-name>QueryCityServlet</servlet-name><servlet-class>com.bjpowernode.controller.QueryCityServlet</servlet-class></servlet><servlet-mapping><servlet-name>QueryCityServlet</servlet-name><url-pattern>/queryCity</url-pattern></servlet-mapping><!--注册查询city的servlet完成-->
</web-app>

index.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>省市级联查询</title><script type="text/javascript" src="js/jquery-3.4.1.js"></script><script type="text/javascript">function loadDataAjax() {//做ajax请求,使用jquery的$.ajax()$.ajax({url:"queryProvince",dataType:"json",success:function( resp ){//删除旧的数据,把已经存在的数据清空 empty清空子对象$("#province").empty();//[{"id":1,"name":"河北","jiancheng":"冀","shenghui":"石家庄"},{}]$.each( resp, function (i,n) {//获取select这个dom对象$("#province").append("<option value='"+n.id+ "'>" +  n.name + "</option>");})}})}$(function(){//  $(function())在页面的dom的对象加载成功后执行的函数, 在此发起ajax。loadDataAjax();//绑定事件$("#btnLoad").click(function(){loadDataAjax();})//给省份的select绑定一个change事件,当select内容发生变化时,触发事件$("#province").change(function () {//获取选中的列表框的值var obj = $("#province>option:selected");// alert(" select 的change 事件" + obj.val() + "===="+obj.text())var provinceId = obj.val(); // 1 ,2, 3//做一个ajax请求,获取省份的所有城市信息$.post("queryCity",{proid:provinceId,name:"Lisi",age:20},callback,"json");})})//定义一个处理返回数据的函数function callback(resp){//清空select列表$("#city").empty();$.each( resp, function(i,n){$("#city").append("<option value='"+n.id+"'>"+n.name+"</option>")})}</script></head><body><p>省市级联查询,使用ajax</p><div><table border="1" cellpadding="0" cellspacing="0"><tr><td>省份:</td><td><select id="province"><option value="0">请选择.....</option></select><!--<input type="button" value="load数据" id="btnLoad" />--></td></tr><tr><td>城市:</td><td><select id="city"><option value="0">请选择.....</option></select></td></tr></table></div></body>
</html>

数据库表:

jQuery:级联查询-省份城市信息相关推荐

  1. jsoup实战之抓取大众点评网区域省份城市信息

    需求:从大众点评网抓取 所有区域,省份,城市信息 所使用技术:manve+jsoup.1.7.3+httpclient.4.3.3 pom.xml <project xmlns="ht ...

  2. 根据经纬度查询具体城市信息

    Google Maps API URL地址:http://maps.google.com/maps/api/service/输出格式?参数  释义:service表述的是请求的服务,输出格式可分为xm ...

  3. 省份城市区县三级联动html代码,基于Jquery实现省份、城市、区县三级联动

    -//W3C//DTD HTML 4.01 Transitional//EN" ";> $(document).ready(function(){ //省份城市数组 var ...

  4. Django城市信息查询功能

    基于 Pythgo的 Django 框架,编程实现一个 WEB 程序,为用户提供 城市信息查询功能.用户可输入一个城市名,输出其所在省份名称和邮编 等信息.例如,输入"桂林市",输 ...

  5. Web前端-Ajax-02-实例:根据省份id查询省份信息

    Web前端-Ajax-02-实例:根据省份id查询省份信息 1.需求 用户在文本框输入省份的编号id,在其他文本框中显示其对应的省份名称.省份简称以及省会. 2.准备工作 2.1创建数据库与数据表 2 ...

  6. iOS开发:通过经纬度获得城市、省份等信息

    iOS系统自带定位,用CLLocationManager就可以轻松的实现定位的操作,获得的是一组经纬度,当然,也可以根据给出的经纬度获取相应的省份.城市.街道等信息,下面就看一个根据经纬度获得城市的d ...

  7. 【Web开发】级联查询(Ajax/ jQuery/ Servlet)

    实现级联查询 共有两个下拉框,第一级为学院,第二级为学院开设的科目. 实现的功能为:当改变学院的选择,第二级下拉框需变为对应学院开设的科目内容. 结果预览: jsp页面 <%@ page con ...

  8. 免费省份证信息归属地查询接口,ASPI,WDL,webservice

    免费使用接口,省份证,归属地,年龄,星座,出生日期,生日,ASPI,WDL,webservice,接口 { "area":"云南省牟定县", "bir ...

  9. 百度地图api使用城市列表组件选择城市、省份获取对应城市信息(省市经纬度)

    文章目录 前言 一.核心代码 二.可能遇到的问题 1.关于百度地图相关变量报错的问题 报错: TS2552: Cannot find name 'BMap'. Did you mean 'Map'? ...

  10. 中国省份城市级联选择--JavaScript

    原文地址为: 中国省份城市级联选择--JavaScript 前一段做了一个小程序居然都用到列表框选择城市,一直都是在里面直接编辑项,这样没做一次都要写那么多的城市名,真是让人有崩溃的冲动,网上也有很多 ...

最新文章

  1. 本科毕业出国率下降,考研or保研?条条大路通「内卷」
  2. 详解vue组件的is特性:限制元素动态组件
  3. mybatis入门-第一个程序
  4. linux内核之accept实现
  5. 316. Remove Duplicate Letters 去除重复字母
  6. 2019牛客暑期多校训练营(第七场)J A+B problem
  7. Java中的DatagramPacket与DatagramSocket的初步
  8. U盘安装ubuntu server 10.4
  9. linux查看接口的命令,linux shell命令查看接口索引--ip link show
  10. uniapp手写地图搜索选取功能
  11. 百度编辑器(ueditor)魔改:5、自定义一键排版(按照需求保留标签和样式)
  12. DFA(deterministic finite automaton )有限状态机概念
  13. 彩扩机项目--两个状态指示灯,巧妙的使用二极管的特性,以及物理按键的滤波...
  14. snapchat_如何截屏和共享Snapchat快照
  15. scrapy数据存入mysql_Scrapy爬虫实例教程(二)---数据存入MySQL
  16. 网站安全公司对渗透测试行业的运营观点
  17. IX redis(1)
  18. 配置文件加密 HikariDataSource
  19. 眼球摘除手术| 作为眼科医生最无奈的手术之一,它是如何进行的?
  20. java的单行注释符是_Java 程序中的单行注释符是( ),多行注释符是( )_学小易找答案...

热门文章

  1. 如何用c#来制作一个activeX控件或类似的东西
  2. 半小时实现Java手撸网络爬虫框架!!(附完整源码,建议收藏)
  3. 树莓派LINUX内核移植
  4. autocad java api,autocad接口api
  5. Android SDK下载安装及配置教程
  6. H5调用摄像头扫码详解
  7. 分享一些很小众但是很实用的软件
  8. 依赖于 !important 标签是个危险的现象。奔驰车如何查4S店的保养记录
  9. 几个支持SCORM的免费平台
  10. 一款好用的取色工具TakeColor.exe