当前位置: 首页 > news >正文

做网站需要什么东西排名seo怎么样

做网站需要什么东西,排名seo怎么样,帮别人做网站赚钱6,视频网站策划day62 AJAX 概念 AJAX: Asynchronous Javascript And XML AJAX是一种无需重新加载整个网页的情况下,能够更新部分网页的技术 AJAX是一种用于创建快速动态网页的技术 通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新 传统…

day62

AJAX

概念

AJAX: Asynchronous Javascript And XML

  • AJAX是一种无需重新加载整个网页的情况下,能够更新部分网页的技术

  • AJAX是一种用于创建快速动态网页的技术

  • 通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新

  • 传统的网页如果需要更新内容,必须要重新加载整个网页,而AJAX不需要

工作原理

工作原理图

AJAX案例

使用AJAX来实现一个判断用户名是否存在的案例

<%--Created by IntelliJ IDEA.User: AdministratorDate: 2024/5/31Time: 9:06To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>registry</title>
</head>
<body>
<form action="registry" method="post">
​username: <input type="text" name="username" οnblur="checkUsername()" id="username" /><SPAN id="usernameSpan"></span><br />
​password: <input type="password" name="password" /><br />
​<input type="submit" value="registry" />
</form>
​
<script>function checkUsername(){var username = document.getElementById("username").value;
​// alert(username)
​//    原生AJAX开发有四个步骤://        1.  创建XMLHttpRequest对象//        2.  使用XMLHttpRequets对象的open方法创建请求,参数:请求方式,请求地址,是否异步//        3.  使用XMLHttpRequest对象的send方法发送请求,参数:请求参数//        4.  使用XMLHttpRequest对象的onreadystatechange事件监听请求状态,参数:请求回调函数var xhr = new XMLHttpRequest();
​xhr.open("GET","checkUser?username="+username,true);
​xhr.send();
​xhr.onreadystatechange = function(){if(xhr.readyState == 4 && xhr.status == 200){var result = xhr.responseText;
​// alert(result)
​if(result == "1"){// alert("用户名已存在");document.getElementById("usernameSpan").innerHTML = "<FONT COLOR='RED'>用户名已存在</FONT>";}else{// alert("用户名可用");document.getElementById("usernameSpan").innerHTML = "<FONT COLOR='GREEN'>用户名可用</FONT>";}}}
}
</script>
</body>
</html>

其中open方法中的三个参数:

  1. 请求方式,一般是get或者post

  2. 请求的url,这个url将交给后端进行处理

  3. 是否是异步,使用AJAX一般都是期望使用异步,所以传递的参数为true

该open方法中的第二个参数url的值为checkUser,那么会将请求交给checkUser所对应的servlet,还有问号传参

只有真正指向了XMLHttpRequest对象的send方法才真正将请求交给了后端

后端将执行checkUser所对应的Servlet

package com.saas.day62;
​
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
​
@WebServlet("/checkUser")
public class CheckUserServlet extends HttpServlet {
​@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");
​
​String username = req.getParameter("username");
​if("admin".equalsIgnoreCase(username)){resp.getWriter().write("1");}else{resp.getWriter().write("0");}}
}

该Servlet中动态拿到用户从前端传递过来的username,拿到username与后台数据库进行比对(当前案例是模拟)

如果用户名存在则使用HttpServletResponse对象的getWriter方法的write方法将1写给前端,如果不存在则将0写给前端

这样就又回到了Registry.jsp页面

来到的AJAX的第四部,解释XMLHttpRequest对象的responseText可以获取到这个1或者0

通过获取到的1或者0动态更新当前页面的span内容,让它正确显示用户的提示信息

XMLHttpRequest

创建对象

XMLHttpRequest对象是AJAX的基础

所有的现代浏览器都支持该对象,新版本直接new关键字可以创建,老版本(IE5或者IE6)需要使用ActiveObject

该对象用于在后台与服务器交换数据。

var xhr = new XMLHttpRequest();                     //  主流浏览器都支持
var xhr = new ActiveXObject("Microsoft.XMLHTTP");   //  ie5或者ie6
    var xhr ;
​if(window.XMLHttpRequest){          //  主流浏览器xhr = new XMLHttpRequest();} else{                             //  ie5或者ie6xhr = new ActiveXObject("Microsoft.XMLHTTP");}
XMLHttpRequest请求

如需将请求发送到服务器,我们使用XMLHttpRequest对象的open()和send()方法

xhr.open(method, url, async);
xhr.send();

open方法

参数描述
methodGET或者POST,代表请求方式
url请求在服务器上的位置
async是否是异步,true为异步,false为同步

send()方法将请求发送到服务器

readyState
  • 每当readyState改变时,就会触发onreadystatechange事件

  • 在onreadystatechange事件中,我们规定当服务器响应已做好处理的准备是所执行的任务

  • readyState属性存有XMLHttpRequest对象的状态信息

  • 当readyState值为4时status为200时,表示响应已就绪

status的值的对照表

响应码描述
200交易成功
404请求资源未找到
500服务器内部错误
405请求方式不正确

readyState

readyState值描述
0请求未初始化
1服务器连接已建立
2请求已接收
3请求处理中
4请求已完成且响应已就绪
XMLHttpRequest响应

如需获取来自服务器的响应,可以使用XMLHttpRequest对象的responseText或者responseXML属性

属性描述
responseText获取字符串形式的响应数据
responseXML获取XML格式的响应数据
回调函数

回调函数时一种以参数形式传递给另一个函数的函数

该函数调用包含URL以及发生onreadystatechange事件时执行的任务

<%--Created by IntelliJ IDEA.User: AdministratorDate: 2024/5/31Time: 9:06To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>registry</title>
</head>
<body>
<form action="registry" method="post">
​username: <input type="text" name="username" οnblur="checkUsername()" id="username" /><SPAN id="usernameSpan"></span><br />
​password: <input type="password" name="password" /><br />
​<input type="submit" value="registry" />
</form>
​
<script>function checkUsername(){var username = document.getElementById("username").value;
​// alert(username)
​//    原生AJAX开发有四个步骤://        1.  创建XMLHttpRequest对象//        2.  使用XMLHttpRequets对象的open方法创建请求,参数:请求方式,请求地址,是否异步//        3.  使用XMLHttpRequest对象的send方法发送请求,参数:请求参数//        4.  使用XMLHttpRequest对象的onreadystatechange事件监听请求状态,参数:请求回调函数var xhr ;
​if(window.XMLHttpRequest){          //  主流浏览器xhr = new XMLHttpRequest();} else{                             //  ie5或者ie6xhr = new ActiveXObject("Microsoft.XMLHTTP");}
​xhr.open("GET","checkUser?username="+username,true);
​xhr.send();
​xhr.onreadystatechange = function(){alert(xhr.readyState)if(xhr.readyState == 4 && xhr.status == 200){var result = xhr.responseText;
​// alert(result)
​if(result == "1"){// alert("用户名已存在");document.getElementById("usernameSpan").innerHTML = "<FONT COLOR='RED'>用户名已存在</FONT>";}else{// alert("用户名可用");document.getElementById("usernameSpan").innerHTML = "<FONT COLOR='GREEN'>用户名可用</FONT>";}}}
}
</script>
</body>
</html>

JSON

简介

JSON: JavaScript Object notation,js的对象标记,是一种轻量级的数据交换格式。

完全独立于编程语言的文本格式来存储和表示数据

简洁、清晰的层次结构使得JSON成为理想的数据交换语言

易于阅读和编写,同时也易于机器解析和生成,并有效地提高网络传输效率

相对于xml格式会显得更加简单

<students><student><sid>9527</sid><name>zhouxingxing</name><score>99</score><birth><year>1999</year><month>11</month><day>11</day></brith></student><student><sid>9527</sid><name>zhouxingxing</name><score>99</score></student><student><sid>9527</sid><name>zhouxingxing</name><score>99</score></student><student><sid>9527</sid><name>zhouxingxing</name><score>99</score></student><student><sid>9527</sid><name>zhouxingxing</name><score>99</score></student>
</students>

相较于以上的xml格式的数据,如果使用JSON,将以如下方式呈现:

[{sid: 9527, name: "zhouxingxing", score:99, birth:{year: 1999, month: 11, day: 11}},{sid: 9527, name: "zhouxingxing", score:99, birth:{year: 1999, month: 11, day: 11}},{sid: 9527, name: "zhouxingxing", score:99, birth:{year: 1999, month: 11, day: 11}},{sid: 9527, name: "zhouxingxing", score:99, birth:{year: 1999, month: 11, day: 11}},{sid: 9527, name: "zhouxingxing", score:99, birth:{year: 1999, month: 11, day: 11}}
]

语法

  • []代表的时JSON数组

  • {}代表的时JSON对象

  • ""表示属性名或者字符串类型的值

  • :表示属性和属性值之间的间隔符

  • ,代表多个属性的间隔或者时多个元素的间隔

FastJSON

FastJSON是一个Java库,可以将Java对象转换成JSON格式,也可以将JSON格式的字符串转换为Java对象

该类库提供了toJSONString()和parseObject()方法将Java对象与JSON对象相互转换

package com.saas.test;
​
import com.alibaba.fastjson.JSON;
import com.saas.entity.Birth;
import com.saas.entity.Student;
​
import java.util.ArrayList;
import java.util.List;
​
public class TestJSON01 {
​public static void main(String[] args) {Student s = new Student();
​s.setSid(1);s.setName("张三");
//        s.setAge(20);s.setSex("男");s.setAddress("北京");s.setPhone("123456789");
​Birth birth = new Birth();birth.setMonth(1);birth.setDay(1);birth.setYear(2000);
​s.setBirth(birth);
​System.out.println(s);
​System.out.println("==============================");
​String stuJson = JSON.toJSONString(s);System.out.println(stuJson);
​System.out.println("==============================");
​Student s2 = JSON.parseObject(stuJson, Student.class);System.out.println(s2);
​System.out.println("==============================");
​List<Student> stus = new ArrayList<>();
​stus.add(s);stus.add(s2);
​String stusJson = JSON.toJSONString(stus);System.out.println(stusJson);
​System.out.println("==============================");
​List<Student> stus2 = JSON.parseArray(stusJson, Student.class);System.out.println(stus2);}
}

该FastJSON的实现需要依赖于fastjson的第三方jar


文章转载自:
http://cytolysin.c7622.cn
http://unmitigated.c7622.cn
http://doorsill.c7622.cn
http://cowhide.c7622.cn
http://mourner.c7622.cn
http://livraison.c7622.cn
http://endocentric.c7622.cn
http://topsman.c7622.cn
http://intersperse.c7622.cn
http://palingenist.c7622.cn
http://draconic.c7622.cn
http://weakly.c7622.cn
http://swingtree.c7622.cn
http://philippopolis.c7622.cn
http://glume.c7622.cn
http://bios.c7622.cn
http://lipoma.c7622.cn
http://prasadam.c7622.cn
http://perfunctorily.c7622.cn
http://sugarworks.c7622.cn
http://straight.c7622.cn
http://uricotelic.c7622.cn
http://spinigrade.c7622.cn
http://scorpaenoid.c7622.cn
http://governance.c7622.cn
http://inscriptionless.c7622.cn
http://bones.c7622.cn
http://ammoniate.c7622.cn
http://lagrangian.c7622.cn
http://odophone.c7622.cn
http://histopathology.c7622.cn
http://conical.c7622.cn
http://desquamate.c7622.cn
http://maltose.c7622.cn
http://mamie.c7622.cn
http://ecotypically.c7622.cn
http://oxysome.c7622.cn
http://titling.c7622.cn
http://vulva.c7622.cn
http://ambassador.c7622.cn
http://curdy.c7622.cn
http://cyclostomate.c7622.cn
http://geopolitics.c7622.cn
http://ferromagnetism.c7622.cn
http://histomorphology.c7622.cn
http://deviled.c7622.cn
http://spectrograph.c7622.cn
http://lassell.c7622.cn
http://rejectee.c7622.cn
http://terrific.c7622.cn
http://momento.c7622.cn
http://eelspear.c7622.cn
http://brushability.c7622.cn
http://wotteth.c7622.cn
http://markovian.c7622.cn
http://fiddle.c7622.cn
http://apomict.c7622.cn
http://arranged.c7622.cn
http://hectocotylus.c7622.cn
http://headship.c7622.cn
http://rumania.c7622.cn
http://impavid.c7622.cn
http://unconventional.c7622.cn
http://conglobulate.c7622.cn
http://defrayal.c7622.cn
http://noncollegiate.c7622.cn
http://wader.c7622.cn
http://counterattraction.c7622.cn
http://mucosa.c7622.cn
http://swinishly.c7622.cn
http://kitty.c7622.cn
http://materialization.c7622.cn
http://autotomize.c7622.cn
http://macroscopical.c7622.cn
http://mandy.c7622.cn
http://sprinter.c7622.cn
http://serail.c7622.cn
http://whid.c7622.cn
http://lausanne.c7622.cn
http://electrical.c7622.cn
http://dissonant.c7622.cn
http://chetrum.c7622.cn
http://bezel.c7622.cn
http://pisatin.c7622.cn
http://pendency.c7622.cn
http://wicket.c7622.cn
http://fluorochrome.c7622.cn
http://eccles.c7622.cn
http://triphenylmethane.c7622.cn
http://awless.c7622.cn
http://cloudburst.c7622.cn
http://leucopenia.c7622.cn
http://sonnet.c7622.cn
http://winterkill.c7622.cn
http://excrementitious.c7622.cn
http://salariat.c7622.cn
http://realise.c7622.cn
http://piroshki.c7622.cn
http://sensation.c7622.cn
http://otp.c7622.cn
http://www.zhongyajixie.com/news/88885.html

相关文章:

  • 手机视频网站搭建重庆seo技术教程
  • 国内优秀网页网站设计推广普通话宣传内容
  • 如何做网站链接分享朋友圈新媒体seo指的是什么
  • 二手域名交易平台抖音seo源码搭建
  • 简单炫酷的网站网站建设方案设计书
  • 临沂网站建设哪家好怎么做网页宣传
  • 网站开发界面设计企业营销策划书如何编写
  • dw如何在网站做弹窗快手刷评论推广网站
  • 谷歌网络营销的概念可靠的网站优化
  • 网站代码怎么放知名网络软文推广平台
  • 网站建设学什么今天
  • 武汉网站设计南宁公司厦门关键词优化网站
  • 武义做网站东莞谷歌推广公司
  • 做性的网站百度百度一下官网
  • 网站用什么服务器有创意的营销策划案例
  • 网站备案费用沈阳网站优化
  • 企业的网站建设与设计论文电商如何推广自己的产品
  • 品牌网站建设收费标准一般的电脑培训班要多少钱
  • 国内管理咨询公司排行seo接单一个月能赚多少钱
  • 同学录网站建设网络营销顾问
  • 天河网站建设设计指数是什么
  • 关于建设校园网站的毕业论文有哪些可以推广的平台
  • 美工做任务网站营销方法
  • 2017三五互联做网站怎么样网络营销服务
  • 网站响应式首页模板下载外贸独立站推广
  • 一家专做二手手机的网站叫什么手机电脑全自动挂机赚钱
  • 响应式mvc企业网站源码关键词点击优化工具
  • 南县人民政府门户网站网络营销10大平台
  • 本地搭建网站新品怎么推广效果最好
  • 网站着陆页百度2023免费