一、view
登录页面 index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
注册页面 regist.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
二、控制层
SelectAllCountryController类
package controller;
import domain.Country;
import service.CountryService;
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.ArrayList;
@WebServlet("/selectAllCountry")
public class SelectAllCountryController extends HttpServlet {
//service对象作为属性
private CountryService service = new CountryService();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//取值
//调用
ArrayList countryList = service.selectAllCountry();
//将查询的信息存入request作用域就可以啦
request.setAttribute("countryList",countryList);
//转发给regist.jsp拼接响应信息
request.getRequestDispatcher("regist.jsp").forward(request,response);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
SelectAreaByCidController类
package controller;
import com.alibaba.fastjson.JSONObject;
import domain.Area;
import service.AreaService;
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.ArrayList;
@WebServlet("/selectAreaByCid")
public class SelectAreaByCidController extends HttpServlet {
private AreaService service = new AreaService();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//接收参数
Integer cid = Integer.parseInt(request.getParameter("cid"));
//找寻业务层做事
ArrayList areaList = service.selectAreaByCid(cid);
//2.自己拼接响应
// 集合里面的内容处理一下 将整个信息相应回去
// areaList集合---->写入一个文件XML---->传递给AJAX---->AJAX读取XML文件内容---->展示
// AJAX 异步--发送和处理都需要JavaScript XML数据的存储和传输
// areaList集合---->String---->AJAX接收---->JS处理(解析JSON)---->展示
// JSON
// JavaScript Object Notation
// fastjson-1.2.9.jar
JSONObject jsonObject = new JSONObject();//是一个容器
jsonObject.put("areaList",areaList);
//put进入JSONObject中的对象
// String int Integer 很少见
// 数组[] 集合 List Set Map 对象
System.out.println(jsonObject.toJSONString());
//[{"aid":1,"aname":"北方","country":{"cid":1}},{"aid":2,"aname":"南方","country":{"cid":1}}]
response.setCharacterEncoding("UTF-8");
response.getWriter().write(jsonObject.toJSONString());
//原来的方式 ArrayList------>String-----响应回去
// [{aid:1,aname:东北};{aid:2,aname:西北};{aid:3,aname:东南}]
// StringBuilder sb = new StringBuilder();
// sb.append("[");
// for(Area area : areaList){
// sb.append("{");
// sb.append("aid");
// sb.append(":");
// sb.append(area.getAid());
// sb.append(",");
// sb.append("aname");
// sb.append(":");
// sb.append(area.getAname());
// sb.append("}");
// sb.append(";");
// }
// sb.delete(sb.length()-1,sb.length());
// sb.append("]");
// System.out.println(sb.toString());
// response.setCharacterEncoding("UTF-8");
// response.getWriter().write(sb.toString());
//查询的结果响应回浏览器
//1.转发----JSP(服务于我们的 帮我们做拼接的 内容是响应)
// request.setAttribute("areaList",areaList);
// request.getRequestDispatcher("handleAreaList.jsp").forward(request,response);
//中间利用了一个JSP帮我们处理响应信息的拼接
//JSP多了一个文件 JSP底层需要解析 性能不好啦
}
}

- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
servlet层
package service;
import dao.AreaDao;
import domain.Area;
import java.util.ArrayList;
public class AreaService {
//dao作为树形
private AreaDao dao = new AreaDao();
//根据国家编号查询地区
public ArrayList selectAreaByCid(Integer cid){
return dao.selectAreaByCid(cid);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
package service;
import dao.CountryDao;
import domain.Country;
import java.util.ArrayList;
public class CountryService {
//需要一个dao作为属性
private CountryDao dao = new CountryDao();
//一个查询所有国家的方法
public ArrayList selectAllCountry(){
return dao.selectAllCountry();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
三、moder层
package dao;
import domain.Area;
import domain.Country;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
@SuppressWarnings("ALL")
public class AreaDao {
//设计一个方法 根据cid查询对应的所有地区
public ArrayList selectAreaByCid(Integer cid){
ArrayList areaList = new ArrayList<>();
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/cons?useSSL=false";
String user = "root";
String password = "root";
String sql = "SELECT AID,ANAME,CID FROM AREA WHERE CID = ?";
try {
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,user,password);
PreparedStatement pstat = conn.prepareStatement(sql);
pstat.setInt(1,cid);
ResultSet rs = pstat.executeQuery();
while(rs.next()){
Area area = new Area();
area.setAid(rs.getInt("aid"));
area.setAname(rs.getString("aname"));
area.setCountry(new Country(rs.getInt("cid"),null));
areaList.add(area);
}
rs.close();
pstat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return areaList;
}
}

- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
package dao;
import domain.Country;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
public class CountryDao {
//查询所有的国家
public ArrayList selectAllCountry(){
ArrayList countryList = new ArrayList<>();
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/cons?useSSL=false";
String user = "root";
String password = "root";
String sql = "SELECT CID,CNAME FROM COUNTRY";
try {
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,user,password);
PreparedStatement pstat = conn.prepareStatement(sql);
ResultSet rs = pstat.executeQuery();
while(rs.next()){
countryList.add(new Country(rs.getInt("cid"),rs.getString("cname")));
}
rs.close();
pstat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return countryList;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
package domain;
public class Area {
private Integer aid;
private String aname;
private Country country;
public Area() {
}
public Area(Integer aid, String aname, Country country) {
this.aid = aid;
this.aname = aname;
this.country = country;
}
public Integer getAid() {
return aid;
}
public void setAid(Integer aid) {
this.aid = aid;
}
public String getAname() {
return aname;
}
public void setAname(String aname) {
this.aname = aname;
}
public Country getCountry() {
return country;
}
public void setCountry(Country country) {
this.country = country;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
package domain;
public class City {
private Integer cityid;
private String cityname;
private Float citysize;
private Area area;
public City() {
}
public City(Integer cityid, String cityname, Float citysize, Area area) {
this.cityid = cityid;
this.cityname = cityname;
this.citysize = citysize;
this.area = area;
}
public Integer getCityid() {
return cityid;
}
public void setCityid(Integer cityid) {
this.cityid = cityid;
}
public String getCityname() {
return cityname;
}
public void setCityname(String cityname) {
this.cityname = cityname;
}
public Float getCitysize() {
return citysize;
}
public void setCitysize(Float citysize) {
this.citysize = citysize;
}
public Area getArea() {
return area;
}
public void setArea(Area area) {
this.area = area;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
package domain;
public class Country {
private Integer cid;
private String cname;
public Country() {
}
public Country(Integer cid, String cname) {
this.cid = cid;
this.cname = cname;
}
public Integer getCid() {
return cid;
}
public void setCid(Integer cid) {
this.cid = cid;
}
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32