• jsp+ajax+json练习(表单数据检测)


    一、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"%>
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    二、控制层

    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
  • 相关阅读:
    记一次clickhouse手动更改分片数异常
    Linux的挖矿木马病毒清除(kswapd0进程)
    【程序员必备的十个网站推荐】
    1807_emacs_org-mode归档不自动存储的一个部分补救方案
    零基础想自学编程,不知道学前端还是后端还是其他,也不知道学哪种编程语言?
    玩转外贸LinkedIn必备的三大特质,以及突破六度人脉技巧
    Unity随笔:C#运行时
    一次Mybaits查询的源码分析
    国内MES系统应用研究报告 | MES系统如何选型?
    Java StringBuffer.append()方法具有什么功能呢?
  • 原文地址:https://blog.csdn.net/m0_53222768/article/details/126174887