2020-10-08

    科技2025-09-14  95

    事实证明web知识还是要掌握一点的,这ajax请求的好多语句我都没see过,花了点时间看了看web里的ajax技术和servlet技术,看困了午觉睡到了3点- - ,之后用用ajax传输json语句,要用到3个jar包,放的时候看错了,我把它放在自己建立lib包里面,死活读取不到,我还以为包有问题还是兼容问题,整了半天结果发现包放错了地方,头晕。。。 核心代码还是很简单的,html:

    <script> $("#button1").click(function () { $.ajax({ url:"/idea_java_war_exploded/Ajaxjson", data:"username=123&password=66666", async:true, type:"get", dataType:"json", success:function (data) { JSON.stringify(data); alert(data.name+'\t'+data.age+'\t'+data.sex); }, error:function (data) { } }); }) </script>

    servlet:

    public class Ajaxjson extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { user user1=new user("jack",18,"nan"); ObjectMapper om=new ObjectMapper(); String json1=om.writeValueAsString(user1); System.out.println(json1); response.getWriter().write(json1); } }

    class:

    package servlet; public class user { private String name; private int age; private String sex; public user() { } public user(String name, int age, String sex) { this.name = name; this.age = age; this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }

    主要就是new了一个user对象然后,新建ObjectMapper对象(作用是实现java与json的相互转化),然后用此对象的writeValueAsString方法,再 response.getWriter().write(json1);返回浏览器,有些浏览器得到的data是【object,object】,用JSON.stringify(data);转化得到的data,就行了。 getParameter是用于获取POST/GET传递的参数值:

    data: "username=123&password=9999", type: "post", String username=request.getParameter("username");

    然后就米了 做数据库作业- -

    Processed: 0.009, SQL: 8