zoukankan      html  css  js  c++  java
  • ajax与Servlet

    1.后台返回text类型的数据

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://"
                + request.getServerName() + ":" + request.getServerPort()
                + path + "/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
        <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
        <script type="text/javascript">
           $(function(){
              $("#btn").click(function(){
              //获取用户的输入
             var name= $("#name").val();
               $.ajax({   
                url:"AjaxServlet",  /*对应的是web.xml文件中url  也是我们的请求路径  */
                type:"post", /* 请求的方式 */
                data:"name="+name,  /* 请求中携带的数据 */
                dataType:"text",  /* 后台返回的数据类型  */
                beforeSend:function(){
                  alert("请求正在处理。。。。。。");
                },
                success:function(data){
                alert(data);
              
                }
                });
              });
           });
        </script>
        
    </head>
    
    <body>
    
    
         用户名:<input  type="text" id="name">
       <input  type="button" id="btn" value="请求ajax">
    
    </body>
    </html>
    前台jsp页面
    public class AjaxServlet extends HttpServlet {
    
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doPost(request, response);
        }
    
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            System.out.println("进入了ajax..........");
            response.setHeader("Content-type", "text/html;charset=utf-8");
    
             // 01.获取ajax请求过来的name值
            String name = request.getParameter("name");
                response.getWriter().print(name);
            
    
        }
    
    }
    创建对应的servlet

    2.返回单个对象

    public class Student {
        private String name;
        private String pwd;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getPwd() {
            return pwd;
        }
    
        public void setPwd(String pwd) {
            this.pwd = pwd;
        }
    
        public Student(String name, String pwd) {
            super();
            this.name = name;
            this.pwd = pwd;
        }
    
        public Student() {
            super();
        }
    
        @Override
        public String toString() {
            return "Student [name=" + name + ", pwd=" + pwd + "]";
        }
    
    }
    Student实体类
    前台jsp页面
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://"
                + request.getServerName() + ":" + request.getServerPort()
                + path + "/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
        <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
        <script type="text/javascript">
           $(function(){
              $("#btn").click(function(){
              //获取用户的输入
             var name= $("#name").val();
               $.ajax({   
                url:"AjaxServlet",  /*对应的是web.xml文件中url  也是我们的请求路径  */
                type:"post", /* 请求的方式 */
                data:"name="+name,  /* 请求中携带的数据 */
                dataType:"json",  /* 后台返回的数据类型  */
                beforeSend:function(){
                  alert("请求正在处理。。。。。。");
                },
                success:function(data){
                /* 返回集合 */
    
                
               //返回单个对象 alert(data);
                $("#myDiv").append("姓名:"+data.name);
                $("#myDiv").append("密码:"+data.pwd); 
                }
                });
              });
           });
        </script>
        
    </head>
    
    <body>
    
    
         用户名:<input  type="text" id="name">
       <input  type="button" id="btn" value="请求ajax">
       <div id="myDiv"></div>
       
    </body>
    </html>

    public class AjaxServlet extends HttpServlet {
    
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doPost(request, response);
        }
    
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            System.out.println("进入了ajax..........");
            response.setHeader("Content-type", "text/html;charset=utf-8");
    
            // 创建一个Student对象 返回给前台
            Student student = new Student("admin1", "123456");
            // 需要把student对象转换成json格式
            System.out.println("转换前==》" + student);
            Gson gson = new Gson();
            // json 就是转换之后的 student对象 {"name":"admin","pwd":"123456"}
            String json = gson.toJson(student);
            System.out.println("转换后==" + json);
            response.getWriter().print(json);
    
        }
    
    }
    对应的servlet

    3.返回对象的集合

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://"
                + request.getServerName() + ":" + request.getServerPort()
                + path + "/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
        <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
        <script type="text/javascript">
           $(function(){
              $("#btn").click(function(){
              //获取用户的输入
             var name= $("#name").val();
               $.ajax({   
                url:"AjaxServlet",  /*对应的是web.xml文件中url  也是我们的请求路径  */
                type:"post", /* 请求的方式 */
                data:"name="+name,  /* 请求中携带的数据 */
                dataType:"json",  /* 后台返回的数据类型  */
                beforeSend:function(){
                  alert("请求正在处理。。。。。。");
                },
                success:function(data){
                /* 返回集合 */
                 $("#myDiv").append("<span>姓名</span>&nbsp;&nbsp;&nbsp;");
                 $("#myDiv").append("<span>密码</span></br>"); 
                //遍历传递过来的json数组
                $(data).each(function(i){
                $("#myDiv").append("<span>"+data[i].name+"</span>&nbsp;&nbsp;&nbsp;");
                $("#myDiv").append("<span>"+data[i].pwd+"</span></br>");
                })
                
              
                }
                });
              });
           });
        </script>
        
    </head>
    
    <body>
    
    
         用户名:<input  type="text" id="name">
       <input  type="button" id="btn" value="请求ajax">
       <div id="myDiv"></div>
       
    </body>
    </html>
    前台jsp页面
    public class AjaxServlet extends HttpServlet {
    
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doPost(request, response);
        }
    
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            System.out.println("进入了ajax..........");
            response.setHeader("Content-type", "text/html;charset=utf-8");
    
            Student student1 = new Student("admin1", "123456");
            Student student2 = new Student("admin2", "123456");
            Student student3 = new Student("admin3", "123456");
            Student student4 = new Student("admin4", "123456");
    
            ArrayList<Student> list = new ArrayList<Student>();
            list.add(student1);
            list.add(student2);
            list.add(student3);
            list.add(student4);
            System.out.println("转换前==》" + list);
            Gson gson = new Gson();
            String json = gson.toJson(list);
            System.out.println(json);
            response.getWriter().print(json);
    
        }
    
    }
    对应的servlet
  • 相关阅读:
    Flask 服务器设置host=0.0.0.0之后外部仍然无法访问
    HTB::Sauna
    VulnHub::DC-4
    【CTFHub 技能树】RCE
    【CTFHub 技能树】反射型XSS
    VulnHub::DC-3
    HashMap中add()方法的源码学习
    equals和HashCode深入理解(转)
    AQS原理分析
    初步认识线程安全性
  • 原文地址:https://www.cnblogs.com/999-/p/6268323.html
Copyright © 2011-2022 走看看