栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

一、view 登录页面 index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

  
    
  
  
    
账号:
密码:
注册页面 regist.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

    
        
    
    
        
账号:
密码:
确认:
性别: 男 女
国家: 地区: 城市:
电话:
邮箱:
<%@ 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);
    }
}

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底层需要解析 性能不好啦


    }
}

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);
    }
}
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();
    }
}

三、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;
    }
}

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;
    }
}

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;
    }
}

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;
    }
}

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;
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1035415.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号