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

沧州网站制作多少钱wordpress快速部署

沧州网站制作多少钱,wordpress快速部署,郑州网站建设 服务创业,网站备案需要去哪里AJAX学习笔记2发送Post请求_biubiubiu0706的博客-CSDN博客 1.验证用户名是否可用 需求,用户输入用户名,失去焦点--onblur失去焦点事件,发送AJAX POST请求,验证用户名是否可用 新建表 前端页面 WEB-INF下新建lib包引入依赖,要用JDBC 后端代码 package com.web;import jav…AJAX学习笔记2发送Post请求_biubiubiu0706的博客-CSDN博客 1.验证用户名是否可用 需求,用户输入用户名,失去焦点--onblur失去焦点事件,发送AJAX POST请求,验证用户名是否可用 新建表 前端页面 WEB-INF下新建lib包引入依赖,要用JDBC 后端代码 package com.web;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; import java.io.PrintWriter; import java.sql.*;/*** author hrui* date 2023/9/3 22:11*/ WebServlet(/checkusername) public class AjaxRequestCheckName extends HttpServlet {Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//获取用户名String username req.getParameter(username);//打布尔标记(一种编程模型)boolean flagfalse;//连接数据库校验用户名是否存在Connection connnull;PreparedStatement psnull;ResultSet rsnull;//1.注册驱动//System.setProperty(jdbc.drivers,com.mysql.cj.jdbc.Driver);try {Class.forName(com.mysql.cj.jdbc.Driver);//2.获取连接conn DriverManager.getConnection(xxx, xxx, xxx);//3.获取执行对象String sqlselect id,name from t_user where name?;ps conn.prepareStatement(sql);ps.setString(1, username);//4.执行sqlrs ps.executeQuery();//5.处理结果集if(rs.next()){//如果只有一条的情况//用户名存在flagtrue;}} catch (Exception e) {e.printStackTrace();}finally {if(rs!null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if(ps!null){try {ps.close();} catch (SQLException e) {e.printStackTrace();}}if(conn!null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}//响应结果到浏览器resp.setContentType(text/html;charsetutf-8);PrintWriter writer resp.getWriter();if(flag){writer.print(font colorred用户名存在,不可用/font);}else{writer.print(font colorgreen用户名可用/font);}}public static void main(String[] args) {try {//Class.forName(com.mysql.cj.jdbc.Driver);Connection conn DriverManager.getConnection(xxx, xxx, xxx);System.out.println(conn);} catch (Exception e) {e.printStackTrace();}} }还可以在input获得焦点时候对span里面的数据清空 其实和input里面直接写  οnfοcusxxx方法  一样 2.用户点击按钮,发送AJAX请求  显示学院列表 测试 现在这种情况存在的问题是是后端代码又开始拼接HTML 能不能直接返回数据,剩下让前端处理   可以返回JSON  或者 XML 返回JSON数据 回顾JSON 也可以是这样 测试 上面是在JS代码中创建JSON对象,数组的访问 但是在后端返回前端时候,永远返回的都是字符串---如何将JSON字符串转换为JSON对象呢 测试 下面后端就用JSON格式字符串的方式返回数据 下面去连接下数据库 前端 后端 package com.web;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; import java.io.PrintWriter; import java.sql.*;/*** author hrui* date 2023/9/3 23:57*/ WebServlet(/studys) public class AjaxRequestStudys extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//连接数据库,查询学院resp.setContentType(text/html;charsetutf-8);PrintWriter writer resp.getWriter();StringBuilder buildernew StringBuilder();String jsonStr;// builder.append(tr); // builder.append(td1/td); // builder.append(td张三/td); // builder.append(td20/td); // builder.append(td北京大兴区/td); // builder.append(/tr); // builder.append(tr); // builder.append(td2/td); // builder.append(td李四/td); // builder.append(td22/td); // builder.append(td北京海淀区/td); // builder.append(/tr);//拼接一个JSON数组回去//builder.append([);//用单引号也不行 前端解析不了 // builder.append({id:1,name:张三,age:20,addr:北京大兴区},); // builder.append({id:2,name:李四,age:22,addr:北京海淀区}); // builder.append({\id\:1,\name\:\张三\,\age\:20,\addr\:\北京大兴区\},); // builder.append({\id\:2,\name\:\李四\,\age\:22,\addr\:\北京海淀区\});//连接数据库校验用户名是否存在Connection connnull;PreparedStatement psnull;ResultSet rsnull;//1.注册驱动//System.setProperty(jdbc.drivers,com.mysql.cj.jdbc.Driver);try {Class.forName(com.mysql.cj.jdbc.Driver);//2.获取连接conn DriverManager.getConnection(xxx, xxx, xxx);//3.获取执行对象String sqlselect id,name,age,addr from t_stu;ps conn.prepareStatement(sql);//4.执行sqlrs ps.executeQuery();//5.处理结果集builder.append([);while(rs.next()){//如果只有一条的情况String id rs.getString(id);String name rs.getString(name);String age rs.getString(age);String addr rs.getString(addr);//{id:1,name:zhangsan,age:13,addr:北京大兴区}builder.append({\id\:id,\name\:\name\,\age\:age,\addr\:\addr\},);}//去掉最后一个{},后面的逗号jsonStrbuilder.substring(0, builder.length()-1)];} catch (Exception e) {e.printStackTrace();}finally {if(rs!null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if(ps!null){try {ps.close();} catch (SQLException e) {e.printStackTrace();}}if(conn!null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}writer.print(jsonStr);} }测试 这样拼接JSON太麻烦   使用fastjson对程序进行改进 引入jar包 不需要那么麻烦进行拼接 package com.web;import com.alibaba.fastjson.JSON; import com.pojo.Student;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; import java.io.PrintWriter; import java.sql.*; import java.util.ArrayList; import java.util.List;/*** author hrui* date 2023/9/3 23:57*/ WebServlet(/studys) public class AjaxRequestStudys extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//连接数据库,查询学院resp.setContentType(text/html;charsetutf-8);PrintWriter writer resp.getWriter(); // StringBuilder buildernew StringBuilder(); // String jsonStr;ListStudent listnew ArrayList();// builder.append(tr); // builder.append(td1/td); // builder.append(td张三/td); // builder.append(td20/td); // builder.append(td北京大兴区/td); // builder.append(/tr); // builder.append(tr); // builder.append(td2/td); // builder.append(td李四/td); // builder.append(td22/td); // builder.append(td北京海淀区/td); // builder.append(/tr);//拼接一个JSON数组回去//builder.append([);//用单引号也不行 前端解析不了 // builder.append({id:1,name:张三,age:20,addr:北京大兴区},); // builder.append({id:2,name:李四,age:22,addr:北京海淀区}); // builder.append({\id\:1,\name\:\张三\,\age\:20,\addr\:\北京大兴区\},); // builder.append({\id\:2,\name\:\李四\,\age\:22,\addr\:\北京海淀区\});//连接数据库校验用户名是否存在Connection connnull;PreparedStatement psnull;ResultSet rsnull;String s;//1.注册驱动//System.setProperty(jdbc.drivers,com.mysql.cj.jdbc.Driver);try {Class.forName(com.mysql.cj.jdbc.Driver);//2.获取连接conn DriverManager.getConnection(xxx, xxx, xxx);//3.获取执行对象String sqlselect id,name,age,addr from t_stu;ps conn.prepareStatement(sql);//4.执行sqlrs ps.executeQuery();//5.处理结果集//builder.append([);while(rs.next()){//如果只有一条的情况String id rs.getString(id);String name rs.getString(name);String age rs.getString(age);String addr rs.getString(addr);//{id:1,name:zhangsan,age:13,addr:北京大兴区}//builder.append({\id\:id,\name\:\name\,\age\:age,\addr\:\addr\},);Student stunew Student(id,name,age,addr);list.add(stu);}//去掉最后一个{},后面的逗号//jsonStrbuilder.substring(0, builder.length()-1)];s JSON.toJSONString(list);} catch (Exception e) {e.printStackTrace();}finally {if(rs!null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if(ps!null){try {ps.close();} catch (SQLException e) {e.printStackTrace();}}if(conn!null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}writer.print(s);} } 测试 下面用XML进行数据交互(XML体积大,现在相对用的少) 后端代码   注意下Content-Type WebServlet(/xmlstudys) public class AjaxRequestXML extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//注意响应类型是XMLresp.setContentType(text/xml;charsetutf-8);PrintWriter writer resp.getWriter();StringBuilder xmlnew StringBuilder();/*XML格式StudentsStudentid1/idname张三/nameage22/ageaddr北京大兴区/addr/StudentStudentid2/idname李四/nameage23/ageaddr北京海淀区/addr/Student/Students*/xml.append(Students);xml.append(Student);xml.append(id1/id);xml.append(name张三/name);xml.append(age22/age);xml.append(addr北京大兴区/addr);xml.append(/Student);xml.append(Student);xml.append(id2/id);xml.append(name李四/name);xml.append(age23/age);xml.append(addr北京海淀区/addr);xml.append(/Student);xml.append(/Students);writer.print(xml);} } 前端代码 !DOCTYPE html html langen headmeta charsetUTF-8title使用XML完成数据交互/title /head body script typetext/javascriptwindow.onloadfunction(){document.getElementById(btn).onclickfunction(){var xhrnew XMLHttpRequest();xhr.onreadystatechangefunction (){if(this.readyState4){if(this.status200){//服务器响应XML字符串,如何接收//使用XMLHTTPRequest的responseXML属性,接收之后,自动封装成document对象(文档对象)var xmlDocthis.responseXML;console.log(xmlDoc)}else{}}}xhr.open(get,/ajax/xmlstudys,true)//xhr.setRequestHeader(Content-Type,application/x-www-form-urlencoded)xhr.send()}} /scriptinput typebutton value显示学生列表 idbtntable width50% border1pxtrth序号/thth姓名/thth年龄/thth住址/th/trtbody idstubody!-- tr--!-- td1/td--!-- td张三/td--!-- td20/td--!-- td北京大兴区/td--!-- /tr--!-- tr--!-- td2/td--!-- td李四/td--!-- td22/td--!-- td北京海淀区/td--!-- /tr--/tbody /table /body /html 测试 具体前端代码 !DOCTYPE html html langen headmeta charsetUTF-8title使用XML完成数据交互/title /head body script typetext/javascriptwindow.onloadfunction(){document.getElementById(btn).onclickfunction(){var xhrnew XMLHttpRequest();xhr.onreadystatechangefunction (){if(this.readyState4){if(this.status200){//服务器响应XML字符串,如何接收//使用XMLHTTPRequest的responseXML属性,接收之后,自动封装成document对象(文档对象)var xmlDocthis.responseXML;console.log(xmlDoc)//获取所有student元素,返回了多个对象,是个数组var studentsxmlDoc.getElementsByTagName(student)console.log(students[0].nodeName)var htmlfor(var i0;istudents.length;i){var stustudents[i]//获取student节点下所有子元素var sstu.childNodes;htmltrfor(var j0;js.length;j){var nodes[j]if(node.nodeNameid){console.log(idnode.textContent)htmltdnode.textContent/td}if(node.nodeNamename){console.log(namenode.textContent)htmltdnode.textContent/td}if(node.nodeNameage){console.log(agenode.textContent)htmltdnode.textContent/td}if(node.nodeNameaddr){console.log(addrnode.textContent)htmltdnode.textContent/td}}html/tr}document.getElementById(stubody).innerHTMLhtml}else{}}}xhr.open(get,/ajax/xmlstudys,true)//xhr.setRequestHeader(Content-Type,application/x-www-form-urlencoded)xhr.send()}} /scriptinput typebutton value显示学生列表 idbtntable width50% border1pxtrth序号/thth姓名/thth年龄/thth住址/th/trtbody idstubody!-- tr--!-- td1/td--!-- td张三/td--!-- td20/td--!-- td北京大兴区/td--!-- /tr--!-- tr--!-- td2/td--!-- td李四/td--!-- td22/td--!-- td北京海淀区/td--!-- /tr--/tbody /table /body /html
http://www.dnsts.com.cn/news/92458.html

相关文章:

  • php html5企业网站源码微信管理系统平台
  • 网站被管理员权限wordpress首页调用
  • 知名网站建设公司网站开发列表
  • 商丘做网站的价格微型购物网站建设模板
  • 怎么做视频平台网站自己制作网页的网站
  • 建设博客网站制作网站公司设计公司
  • 惠州网站搭建域名备案系统
  • 简洁网站首页html代码响应式网页设计答案
  • 西宁建一个网站公司做私人网站
  • 什么网站做设计可以赚钱吗joomla与wordpress哪个好
  • 网站制作在哪里的大庆网页制作收费
  • 免费简历模板的网站山东东营市是几线城市
  • 无锡鸿源建设集团有限公司网站云服务器 网站
  • 网站开发时的闭包写法高校网站建设研究意义
  • 网站举报12321wordpress下载官网
  • 什么网站可以接单做海报大连市建设局网站
  • 做网站1万多块钱软件开发服务公司
  • 济南建设银行公积金网站wordpress 3.7.1
  • 股票网站开发wap什么意思网络语言
  • 网站备案情况查询wordpress 建站完整视频教程
  • 免费作文网站扁平化wordpress主题
  • 网站建设是什么行业flash工作室网站模板
  • 如何建设旅游网站深圳福田高端网站建设
  • 戴尔网站建设成功江苏省住房建设厅网站
  • 怎么把网站扒下来做推广可以在哪些网站发布软文
  • 开封网站建设培训社保网站人员减少怎么做
  • 移动app做的好的网站公司手册制作网站
  • 广州天河建站公司互联网营销师报考费用
  • 2015做哪些网站能致富wordpress编辑优化
  • 做视频网站带宽要查询网站信息