javaWeb前后端传递数据交互的两种方式

从前端向后台传递参数方法

一、通过表单传递参数

1.前端部分,在前端jsp页面设置form表单确定需要传递的参数让用户输入,通过点击按钮后submit()提交到后台

用户名:
密   码:
注册
用户名:
密   码:
性   别:
工   资:
编   号:
出生日期:

2.后台通过request.getParameter(),获取form表单的数据

  public String login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String ename = request.getParameter("ename");
        String pwd = request.getParameter("pwd");
        System.out.println(ename + pwd);
        EmpDao mapper = MyBatisUtils.getMapper(EmpDao.class);
        Emp login = mapper.login(ename, pwd);
        if (login != null) {
            return showAll(request, response);
        }
        return Const.REDIRECT + "/login.jsp";
    }

二、使用ajax传递数据(有post和get写法)

1、在js中直接使用ajax作为异步请求

2.后台对前端请求的反应,接收数据

String ename= request.getParameter("ename");
  public String reg(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ParseException {
        EmpDao mapper1 = MyBatisUtils.getMapper(EmpDao.class);
        String ename = request.getParameter("ename");
        String esex = request.getParameter("esex");
        Double salary = Double.valueOf(request.getParameter("salary"));
        Integer dno = Integer.valueOf(request.getParameter("dno"));
        String pwd = request.getParameter("pwd");
        Date borndate = DateUtil.stringToDate(request.getParameter("borndate"));
        Emp emp = new Emp(ename, esex, salary, pwd, dno, borndate);
        int i = mapper1.regEmp(emp);
        MyBatisUtils.commit();
        System.out.println(i);
        if (i > 0) {
            System.out.println("添加成功");
            return showAll(request, response);
        } else {
            MyBatisUtils.rollback();
            return Const.REDIRECT + "reg.jsp";
        }
    }

3.后台对前端发送请求的反应,将Java数据转换为json数据

     public String selectEmpByEno(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String eno = request.getParameter("eno");
        EmpDao mapper1 = MyBatisUtils.getMapper(EmpDao.class);
        Emp emp = mapper1.selectEmpByEno(eno);
        if (emp!=null) {
            ObjectMapper om = new ObjectMapper();
            String string = om.writeValueAsString(emp);
            response.getWriter().print(string);
        }
        return null;
    }

4.再看看前端接收到后端返回的数据是如何处理的

 javaWeb前后端传递数据交互的两种方式_第1张图片

javaWeb前后端传递数据交互的两种方式_第2张图片

 

 

 

 

你可能感兴趣的:(JAVAEE,前端,ajax,js,jquery,java,mybatis)