zoukankan      html  css  js  c++  java
  • Ajax随笔

    <%@ 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 'ajax.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">
        var xmlHttpRequest = null; //声明一个空对象以接收XMLHttpRequest对象
        function ajaxSubmit()
        {
            if(window.ActiveXObject) // IE浏览器
            {
                xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
            }
            else if(window.XMLHttpRequest) //除IE外的其他浏览器实现
            {
                xmlHttpRequest = new XMLHttpRequest();
            }
            
            if(null != xmlHttpRequest)
            {
                var v1 = document.getElementById("value1ID").value;
                var v2 = document.getElementById("value2ID").value;
                xmlHttpRequest.open("POST", "AjaxServlet", true);        //xmlHttpRequest.open("GET", "AjaxServlet?v1="+v1+"&v2="+v2, true);
                //关联好ajax的回调函数
                xmlHttpRequest.onreadystatechange = ajaxCallback;
                //真正向服务器端发送数据
                // 使用post方式提交,必须要加上如下一行,表单默认编码方式
                xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
                xmlHttpRequest.send("v1=" + v1 + "&v2=" + v2);            //xmlHttpRequest.send(null);
            }
        }
        function ajaxCallback()
        {
            //1.构造对象,2.发送请求,3.收到响应,4.处理响应
            if(xmlHttpRequest.readyState == 4)
            {
                if(xmlHttpRequest.status == 200)
                {
                    var responseText = xmlHttpRequest.responseText;
                    
                    document.getElementById("div1").innerHTML = responseText;
                }
            }
        }
        </script>
      </head>
      <body>
        <input type="button" value="get content from server" onclick="ajaxSubmit();"><br>
        <input type="text" name="value1" id="value1ID"><br>
        <input type="text" name="value2" id="value2ID"><br>
        <div id="div1"></div>
      </body>
    </html>
    package com.shengsiyuan.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class AjaxServlet extends HttpServlet
    {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException
        {
            System.out.println("doGet invoked");
    
            process(req, resp);
        }
    
        private void process(HttpServletRequest req, HttpServletResponse resp)
                throws IOException
        {
            String v1 = req.getParameter("v1");
            String v2 = req.getParameter("v2");
    
            System.out.println("v1=" + v1 + ", v2=" + v2);
            
            String v3 = String.valueOf(Integer.valueOf(v1) + Integer.valueOf(v2));
    
            PrintWriter out = resp.getWriter();
    
            // try
            // {
            // Thread.sleep(5000);
            // }
            // catch (InterruptedException e)
            // {
            // e.printStackTrace();
            // }
    
            resp.setHeader("pragma", "no-cache");
            resp.setHeader("cache-control", "no-cache");
    
            out.println(v3);
    
            out.flush();
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException
        {
            System.out.println("doPost invoked");
    
            this.process(req, resp);
        }
    }
  • 相关阅读:
    oracle 删除表中重复数据留一条
    C# 特性
    oracle 常用简单命令语句
    2017年学习计划
    java web开发基础学习
    Java Axis2支持json
    java基础教程
    axis2 发布webservice
    孤荷凌寒自学python第103天认识区块链017
    孤荷凌寒自学python第102天认识区块链016
  • 原文地址:https://www.cnblogs.com/exmyth/p/3234815.html
Copyright © 2011-2022 走看看