首先准备数据库只有一张表

分析数据库根据 parentid来查

jsp代码 servlet代码

<%--
Created by IntelliJ IDEA.
User: 60590
Date: 2019/12/4
Time: 20:26
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<base href=<%= request.getContextPath()%>/>
<script src="js/jquery-1.9.1.js"></script>
<script>
//当页面加载时执行change1方法来获取省 使用jq中的ajax 简洁方式
function change1() {
$.post("servlet/AreaServlet","id=0",function (result) {
//遍历集合
for (var i in result){
//获取标签 append 可以识别标签
$("#pro").append("<option value='"+result[i].areaid+"'>"+result[i].areaname+"</option>")
}
},"json");
}
//当省改变时 执行此方法 并且把当前省的value传进来
function change2(val) {
$.post("servlet/AreaServlet","id="+val,function (result) {
$("#city").html("<option>--请选择--</option>");
for (var i in result){
$("#city").append("<option value='"+result[i].areaid+"'>"+result[i].areaname+"</option>")
}
},"json");
}
//当市改变时 执行此方法
function change3(val) {
$.post("servlet/AreaServlet","id="+val,function (result) {
$("#con").html("<option>--请选择--</option>");
for (var i in result){
$("#con").append("<option value='"+result[i].areaid+"'>"+result[i].areaname+"</option>")
}
},"json");
}
</script>
</head>
<body onload="change1()">
省:<select id="pro" onchange="change2(this.value)">
<option>---请选择---</option>
</select>
市:<select id="city" onchange="change3(this.value)">
<option>---请选择---</option>
</select>
县:<select id="con">
<option>---请选择---</option>
</select>
</body>
</html>

  

package com.bjsxt.servlet;

import com.bjsxt.entity.Area;
import com.bjsxt.serviceIml.AreaServiceIml;
import com.google.gson.Gson;
import org.apache.ibatis.annotations.Select; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List; /**
* @program: JavaEE
* @description
* @author: wuhao
* @create: 2019-12-04 20:22
**/
@WebServlet("/servlet/AreaServlet")
public class AreaServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
//接受参数
String id = req.getParameter("id");
int i = Integer.parseInt(id);
//处理参数
AreaServiceIml areaServiceIml = new AreaServiceIml();
List<Area> list = areaServiceIml.findAll(i); //转换为json 格式 需要导入Gson的jar包
Gson gson = new Gson();
String s = gson.toJson(list);
resp.getWriter().print(s); }
}

最新文章

  1. JavaScript高级程序设计--表单脚本
  2. 项目vue2.0仿外卖APP(五)
  3. 基础的jdbc连接数据库操作
  4. android 底层入门开发(二)
  5. HBase配置性能调优(转)
  6. Emit学习(3) - OpCodes - 循环和异常
  7. TfS+强制删除签出锁定项
  8. Uploadify v3.2.1 上传图片并预览
  9. 关闭VS实时调试器
  10. 乘号在python中的用法,用乘号将元素重复在列表中
  11. Clojure学习资料
  12. wordpress教程之WP_Query()类
  13. 基于Https协议返回Jason字符串
  14. 【PHP篇】面向对象基础
  15. vue better-scroll用法
  16. LINQ to Entities 比较日期
  17. JS 中document.URL 和 windows.location.href 的区别
  18. HTML(二):表格元素
  19. Java进阶知识点:并发容器背后的设计理念
  20. 根据wsdl文件生成WebService客户端代码

热门文章

  1. day23——继承
  2. day48——css样式
  3. Unity 代码提示符和UGUI屏幕自适应
  4. Python中的 x+=x 与 x = x + x的区别
  5. 2019 龙采科技java面试笔试题 (含面试题解析)
  6. python二维数组切片
  7. js的一些较为常见的语句算法题
  8. vue-quill-edito 字体倾斜加粗无效
  9. python多任务的实现:线程,进程,协程
  10. 自动化运维-Ansible-playbook