Ajax中post和get的区别

在ajax中有这个方法

xmlreq.open("post","servlet/MyServlet?time="+newDate().getTime(),true);

这里的第一个参数表示的是提交方式。可以是post和get

这两个是有区别的。

Get处理数据效率高,但是传输量小,一般在1K左右。Post相反。

如果是get那么xmlreq.open(null)open只能是空。

如果是post那么xmlreq在open的时候,得先加上xmlreq.setRequestHeader("Content-Type","application/x-www-form-urlencoded") ;

那么在open()里面是可以传数据的。

现在我写一个关于用post,与servlet的相互数据传递。

第一个是:index.jsp

<%@ page language="java" import="java.util.*"pageEncoding="UTF-8"%>

<%

Stringpath = request.getContextPath();

StringbasePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>

<script type="text/javascript"src="js/fish.js"></script>

</head>

<body>

<input id="mybutton"type="button" value="加载数据" />

</body>

</html>

第二个:fish.Js

window.onload= function() {

function createXMLHttpRequest() {

var xmlhttp=null;//请求对象

try {//IE浏览器中创建此对象

xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try { //IE浏览器中创建此对象

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

} catch (e) {

try {

//   Firefox,Chrome, Opera, Safari浏览器中创建此对象

xmlhttp = new XMLHttpRequest();

if (xmlhttp.overrideMimeType) {

xmlhttp.overrideMimeType("text/xml");

}

} catch (e) { alert("浏览器不支持xmlHttpRequest!");         }

}

}

return xmlhttp;

}

document.getElementById("mybutton").onclick = function() {

//得到xmlhttprequest对象

var xmlreq=createXMLHttpRequest();

xmlreq.onreadystatechange=function(){

alert(xmlreq.status);

alert(xmlreq.responseText);//这是获取servlet的文本属性的,就是获取out的值。他如果这里是xml形式那么就用responseXml

}

//打开与服务器的连接

//xmlreq.open("get","servlet/MyServlet?time="+newDate().getTime(),true);

xmlreq.open("post","servlet/MyServlet?time="+new Date().getTime(),true);

//发送数据

xmlreq.setRequestHeader ("Content-Type","application/x-www-form-urlencoded") ;

xmlreq.send("b=45&a=33");

//服务器响应

}

}

第三个:packagecom.fish;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class MyServlet extends HttpServlet{

publicvoid doGet(HttpServletRequest request, HttpServletResponse response)

throwsServletException, IOException {

PrintWriterout = response.getWriter();

System.out.println("**************");

out.print("aa");

out.print("bb");

//String a= request.getParameter("fish");

//System.out.println(a);

//

}

publicvoid doPost(HttpServletRequest request, HttpServletResponse response)

throwsServletException, IOException {

PrintWriterout = response.getWriter();

System.out.println("**************");

System.out.println(request.getParameter("a"));//这个和上面的js里面的send方法想对应。这样就可以输出a的值:33

System.out.println(request.getParameter("b"));

out.print("aa");//这样传给js

out.print("bb");//这样传给js

//String a= request.getParameter("fish");

//System.out.println(a);

//

}

}

4,配置的servlet的web.xml

<?xml version="1.0"encoding="UTF-8"?>

<web-app version="2.5"

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<display-name></display-name>

<servlet>

<servlet-name>MyServlet</servlet-name>

<servlet-class>com.fish.MyServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>MyServlet</servlet-name>

<url-pattern>/servlet/MyServlet</url-pattern>

</servlet-mapping>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

</web-app>

ajax终结篇的更多相关文章

  1. ajax - 终结篇jsonp,防抖节流

    今天是我们最后一天ajax的学习,这次学完总可以去vue了吧,我不信还有什么拦路石,先不说其他的先看看今天的内容. 1. 首先是同源策略,什么叫做同源? 如果两个页面的协议.域名.端口都相同的话,我们 ...

  2. JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)

    前言:前面介绍了两篇关于bootstrap table的基础用法,这章我们继续来看看它比较常用的一些功能,来个终结篇吧,毛爷爷告诉我们做事要有始有终~~bootstrap table这东西要想所有功能 ...

  3. 在没有DOM操作的日子里,我是怎么熬过来的(终结篇)

    前言 在我写终结篇的日子里,Vue版本稳定在2.9.1.当我摸清Vue的脉络之后,以一个爬坑无数的亲历者的身份,谈谈我在MVVM时代里遇到的那些事儿. 接下来,正文从这开始~ 好多童鞋学习Vue都有灯 ...

  4. 看看C# 6.0中那些语法糖都干了些什么(终结篇)

    终于写到终结篇了,整个人像在梦游一样,说完这一篇我得继续写我的js系列啦. 一:带索引的对象初始化器 还是按照江湖老规矩,先扒开看看到底是个什么玩意. 1 static void Main(strin ...

  5. 一起学微软Power BI系列-官方文档-入门指南(7)发布与共享-终结篇+完整PDF文档

    接触Power BI的时间也只有几个月,虽然花的时间不多,但通过各种渠道了解收集,谈不上精通,但对一些重要概念和细节还是有所了解.在整理官方文档的过程中,也熟悉和了解了很多概念.所以从前到后把微软官方 ...

  6. JavaScript中的正则表达式(终结篇)

    JavaScript中的正则表达式(终结篇) 在之前的几篇文章中,我们了解了正则表达式的基本语法,但那些语法不是针对于某一个特定语言的.这篇博文我们将通过下面几个部分来了解正则表达式在JavaScri ...

  7. WPF自定义控件与样式(15)-终结篇 & 系列文章索引 & 源码共享

    系列文章目录  WPF自定义控件与样式(1)-矢量字体图标(iconfont) WPF自定义控件与样式(2)-自定义按钮FButton WPF自定义控件与样式(3)-TextBox & Ric ...

  8. 关于C++对汉字拼音的处理——终结篇

    以前写过了3个博文,都是关于汉字转拼音的,后来发现都不是很“完美”的解决方案,第一个和第二个利用的unicode编码的范围进行确定汉字的拼音,但是难免有遗漏,这个在后面的实践中发现的,后来第三个方法是 ...

  9. WPF自定义控件与样式(15)-终结篇

    原文:WPF自定义控件与样式(15)-终结篇 系列文章目录  WPF自定义控件与样式(1)-矢量字体图标(iconfont) WPF自定义控件与样式(2)-自定义按钮FButton WPF自定义控件与 ...

随机推荐

  1. c++ 实现将数字转换为中文数字输出

    实现如下函数: void printInChinese(int num); 这个函数输入一个小于100000000(一亿)的正整数,并在屏幕上打印这个数字的中文写法. 例如: 17 -> 一十七 ...

  2. 【Hibernate】HQL new map

    HQL 查询如果需要带出对象(比如:OneToOne子对象)的一两个属性,而不是全部带出.可以使用 select new map的方法带出. 1.lazy还是设置为false /**关联属性对象*/ ...

  3. if else配对问题

    else语句总是与离它最近的if语句配对,所以在if语句的嵌套中一定要注意else语句与哪个if语句匹配 #include <iostream> using namespace std; ...

  4. (Problem 13)Large sum

    Work out the first ten digits of the sum of the following one-hundred 50-digit numbers. 371072875339 ...

  5. 数据结构C语言版 表插入排序 静态表

    数据结构C语言版 表插入排序.txt两个人吵架,先说对不起的人,并不是认输了,并不是原谅了.他只是比对方更珍惜这份感情./*  数据结构C语言版 表插入排序  算法10.3 P267-P270  编译 ...

  6. [置顶] 63行代码完美实现html5 贪吃蛇游戏

    以前也很少关注html5,感觉选择html已经慢慢成为趋势,想了解下.就找了个游戏学习了,写完这个游戏感觉html5和js结合很紧密,如果js不是特别好.估计需要先补习下js,这个只是个人的建议,不一 ...

  7. 利用MySQL 的GROUP_CONCAT函数实现聚合乘法

    MySQL 聚合函数里面提供了加,平均数.最小,最大等,可是没有提供乘法,我们这里来利用MYSQL现有的GROUP_CONCAT函数实现聚合乘法. 先创建一张演示样例表: CREATE TABLE ` ...

  8. aliyun 主机Nginx 上配置Drupal 伪静态

    网上找了好久没有正确的,后面直接在http://wiki.nginx.org/Drupal 上找到原文.但原文中复制过来会出现个 'root' rewrite directive is duplica ...

  9. MySQL - 主从复制及读写分离原理

    1.MySQL主从复制与读写分离原理 首先,我们看一个图: 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中. 假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL ...

  10. BZOJ 3036: 绿豆蛙的归宿( 期望dp )

    从终点往起点倒推 . 在一个图 考虑点 u , 出度为 s : s = 0 , d[ u ] = 0 ; s ≠ 0 , 则 d( u ) = ( ∑ d( v ) ) / s ( ( u , v ) ...