使用条件:前端数据返回给后端,但前端仍然要显示后端经过处理返回的数据,这个时候就需要js来实现,这里只是简单使用

1、举例,提交用户名和密码之后,返回个人信息,在当前页textarea显示.(一开始不会显示,然后提交之后,经过servlet处理然后就会显示)

<form action="servlet" method="post"  onsubmit="return false">
    用户名:<input type="text" name="username" id="name">
    密码:<input type="text" name="lpassword" id="password">
       <button id="login">提交</button>
</from>
<div>
<textarea id="show">
</div>

如果不用js语法,它是点击按钮由表单自动提交,但是使用js语法,它是由js提交,你只需要在表单属性里加上οnsubmit="return false"即可

2、js语法,使用jquery

//使用js语法必须要写上这一句
<script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
<script>
 jQuery(document).ready(function () {
       $("#login").on("click",function () {
           $.ajax({
               type:"post",//提交方式
               url:"/login",//提交的URL地址,即servlet处理地址
               data:{"username":$("#name").val(),"lpassword":$("#password").val(),},//这里写传送给servlet的参数,引号里面的是名字,冒号后面的是根据id值获取到的值,不同组件使用的不一样,在下面介绍
               success:function (data) {//可以看成分割线,上面为传送过去,这里是成功传送回来,封装在data里
                alert(data.mess);
                   if(data.mess==="登陆成功") $("show").val(data.textmassage);
               }
           }
        );
       })
    });
</script>

对于提交数据的组件都可以使用$("#组件id").on("click",function () {});方法,

如果用到返回数据可以使用

 $.ajax({
               type:"post",//提交方式
               url:"/login",//提交的URL地址,即servlet处理地址
               data://传送给后端的数据,没有可以不写,用花括号括起来,每个属性逗号隔开,每个属性前面写名字(这个名字自定义,但是后端要通过这个名字来获取)再写冒号,后面写id属性值
               success:function (data) {

              //可以看成分割线,上面为传送过去,这里是成功传送回来,封装在data里
                这里可以使用data传过来的各种属性获取,比如后端写了res.put("inputCount", count);你就可以使用

               $("#组件id").val(data.inputCount).获取或者直接获取 var x; x=data.inputCount;

               }
        );

注意:给组件获取值或者设定值根据组件类型不一样,方法也不一样

例如:input 获取值$("#id").val()    获取值时括号里为空,赋值时括号里为值


$("#showStack").html(""); xxxxx.inner() xxxx.text()


//具体获取或者赋值使用什么要看组件类型,自行百度

3.后端如何处理

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("application/json;charset=utf-8");
        String name=request.getParameter("usrname");
        String password=request.getParameter("lpassword");//引号里的值是ajax传过来的data里属性中冒号前面的名字
        //存返回信息
        Map<String, Object> res = new HashMap<>();
        String message=null;
        .....
        登录处理
        if(成功){给massage赋值}
        else 给massage赋相应的值
        ....

        res.put("textmassage",message);
        //返回Json字符串,就当做ajax中的data使用,这个要用的话需要引一下jar包,我会把它附在下面
        response.getWriter().write(new Gson().toJson(res));
    
}

有需要用到json的jar包的可以用json jar包 提取码:eqe3

以上介绍的都是浅层使用js,利于初学者使用,不喜勿喷