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

网站建设主持词网站开发与设计实验报告总结

网站建设主持词,网站开发与设计实验报告总结,如何修改网页上的内容,怎么做自己的店铺网站JavaWeb入门6.0 1. Filter1.1 Filter快速入门1.2 Filter执行流程1.3 Filter拦截路径配置1.4 Filter过滤器链1.5 案例登录验证 2. Listener2.1 ServletContextListener使用 3. AJAX3.1 AJAX 快速入门3.2 案例 验证用户名是否存在3.3 Axios 异步框架3.3.1 Axios 快速入门3.3.2 Ax… JavaWeb入门6.0 1. Filter1.1 Filter快速入门1.2 Filter执行流程1.3 Filter拦截路径配置1.4 Filter过滤器链1.5 案例登录验证 2. Listener2.1 ServletContextListener使用 3. AJAX3.1 AJAX 快速入门3.2 案例 验证用户名是否存在3.3 Axios 异步框架3.3.1 Axios 快速入门3.3.2 Axios 请求方式别名 4. JSON4.1 JSON基础语法4.2 JSON数据和Java对象转换4.3 案例 品牌数据列表4.3.1 查询所有4.3.2 新增品牌 1. Filter 概念: Filter表示过滤器是JavaWeb三大组件(Servlet、Filter、Listener)之一。过滤器可以把对资源的请求拦截下来从而实现一些特殊的功能。过滤器一般完成一些通用的操作比如权限控制、统一编码处理、敏感字符处理等等 1.1 Filter快速入门 定义类实现Filter接口并重写其所有方法 public class FilterDemo implements Filter {public void init(FilterConfig filterConfig)public void doFilter(ServletRequest request)public void destroy(){} }配置Filter拦截资源的路径再类上定义WebFilter注解 WebFilter(/*)public class FilterDemo implements Filter {}在doFilter方法中输出一句话并放行 public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println(Filter....);//放行filterChain.doFilter(servletRequest,servletResponse);}例子 package com.itheima.web.filter;import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.IOException;WebFilter(/*) public class FilterDemo implements Filter{Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {System.out.println(FilterDemo...);//放行chain.doFilter(request,response);}Overridepublic void init(FilterConfig filterConfig) throws ServletException {}Overridepublic void destroy() {} } 放行之后访问才成功 1.2 Filter执行流程 放行后访问对应资源资源访问完成后还会回到Filter中吗? 会 如果回到Filter中是重头执行还是执行放行后的逻辑呢? 放行后逻辑 1.3 Filter拦截路径配置 Filter 可以根据需求配置不同的拦截资源路径 WebFilter(/*)public class FilterDemo拦截具体的资源/index.jsp:只有访问index.jsp时才会被拦截。目录拦截/user/*:访问/user下的所有资源都会被拦截后缀名拦截 *.jsp:访问后缀名为jsp的资源都会被拦截拦截所有/*:访问所有资源都会被拦截 1.4 Filter过滤器链 一个Web应用可以配置多个过滤器这多个过滤器被称为过滤器链 注解配置的Filter优先级按照过滤器类名(字符串)的自然排序 1.5 案例登录验证 在brand-demo下LoginFilter WebFilter(/*) public class LoginFilter implements Filter {Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {HttpServletRequest req (HttpServletRequest) request;//判断访问资源路径是否和登录注册相关String[] urls {/login.jsp,/imgs,/css/,loginServlet,register.jsp,registerServlet,checkCodeServlet};//获取当前访问的资源路径String url req.getRequestURL().toString();//循环判断for (String u : urls) {if(url.contains(u)){//找到了就放行chain.doFilter(request,response);// break不能写return;}}//1.判断session中 userHttpSession session req.getSession();Object user session.getAttribute(user);//2.判断 user 是否为nullif(user!null){//登录过了//放行chain.doFilter(request, response);}else{//没有登录存储提示信息跳转到登录页面req.setAttribute(login_msg,您尚未登录);req.getRequestDispatcher(/login.jsp).forward(request,response);}}public void init(FilterConfig config) throws ServletException {}public void destroy() {}} 2. Listener 概念: Listener表示监听器是JavaWeb三大组件(Servlet、Filter、Listener)之一。监听器可以监听就是在application,session,request三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件Listener分类: JavaWeb中提供了8个监听器 监听器分类监听器名称ValueServletContext监听ServletContextListener用于对ServletContext对象进行监听(创建、销毁)ServletContextAttributeListener对ServletContext对象中属性的监听(增删改属性)Session监听HttpsessionListener对Session对象的整体状态的监听创建、销毁)HttpSessionAttributeListener对Session对象中的属性监听(增删改属性)HttpSessionBindingListener监听对象于Session的绑定和解除HttpSessionActivationListener对Session数据的钝化和活化的监听Request监听ServletRequestListener对Request对象进行监听(创建、销毁)ServletRequestAttributeListener对Request对象中属性的监听增删改属性) 2.1 ServletContextListener使用 Listener的基本使用都是类似的掌握一个便可通类 定义类实现ServletContextListener接口 public class ContextLoaderListener implements ServletContextListener {/*** ServletContext对象被创建:整个web应用发布成功* param sce*/public void contextInitialized(ServletcintextEvent sce){}/** ServletContext对象被销毁:整个web应用卸载* param sce*/public void contextDestroyed(ServletContextEvent sce){}} 在类上添加WebListener注解 例子演示 package com.itheima.web.listener;import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener;WebListener public class ContexLoaderListener implements ServletContextListener {Overridepublic void contextInitialized(ServletContextEvent servletContextEvent) {//加载资源System.out.println( ContexLoaderListener ...);}Overridepublic void contextDestroyed(ServletContextEvent servletContextEvent) {//释放资源} } 3. AJAX 概念: AJAX(Asynchronous JavaScript And XML)异步的JavaScript和XML AJAX作用: 与服务器进行数据交换:通过AJAX可以给服务器发送请求并获取服务器响应的数据 使用了AJAX和服务器进行通信就可以使用HTMLAJAX来替换JSP页面了 异步交互:可以在不重新加载整个页面的情况下与服务器交换数据并更新部分网页的技术如∶搜索联想、用户名是否可用校验等等… 同步和异步的概念 3.1 AJAX 快速入门 编写AjaxServlet并使用response输出字符串 创建XMLHttpRequest 对象:用于和服务器交换数据 var xmlhttp; if (window.XMLHttpRequest) { //code for IE7, Firefox, Chrome, Opera, Safari xmlhttp new XMLHttpRequest(); }else { //code for lE6,IE5 xmlhttp new ActiveXObject(Microsoft.XMLHTTP); }向服务器发送请求 xmlhttp.open(GET,url); xmlhttp.send();//发送请求获取服务器响应数据 xmlhttp.onreadystatechange function () {if (xmlhttp.readyState 4 xmlhttp.status 200){alert(xmlhttp.responseText)} }; 例子 AjaxServlet WebServlet(/ajaxServlet) public class AjaxServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.响应数据response.getWriter().write(hello ajax);}Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);} } 01-ajax-demo1.html !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head bodyscript//1.创建核心对象var xmlhttp;if (window.XMLHttpRequest) { //code for IE7, Firefox, Chrome, Opera, Safarixmlhttp new XMLHttpRequest();}else { //code for lE6,IE5xmlhttp new ActiveXObject(Microsoft.XMLHTTP);}//2.发送请求xmlhttp.open(GET,http://localhost:8080/ajax-demo/ajaxServlet);//写全路径的原因是前端和后端是不在一个服务器部署的要访问就全路径xmlhttp.send();//发送请求//3.获取响应xmlhttp.onreadystatechange function () {if (xmlhttp.readyState 4 xmlhttp.status 200){alert(this.responseText);}}; /script/body /html3.2 案例 验证用户名是否存在 套用案例的静态页面 SelectUserServlet package com.itheima.web.servlet;import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException;WebServlet(/selectUserServlet) public class SelectUserServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1. 接收用户名String username request.getParameter(username);//2.调用service查询User对象boolean flag true;//3.响应标记response.getWriter().write(flag);}Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);} } 注册页面 !DOCTYPE html html langen headmeta charsetUTF-8title欢迎注册/titlelink hrefcss/register.css relstylesheet /head bodydiv classform-divdiv classreg-contenth1欢迎注册/h1span已有帐号/span a hreflogin.html登录/a/divform idreg-form action# methodgettabletrtd用户名/tdtd classinputsinput nameusername typetext idusernamebrspan idusername_err classerr_msg styledisplay: none用户名已存在/span/td/trtrtd密码/tdtd classinputsinput namepassword typepassword idpasswordbrspan idpassword_err classerr_msg styledisplay: none密码格式有误/span/td/trtrtd验证码/tdtd classinputsinput namecheckCode typetext idcheckCodeimg srcimgs/a.jpga href# idchangeImg看不清/a/td/tr/tablediv classbuttonsinput value注 册 typesubmit idreg_btn/divbr classclear/form/divscript//1. 给用户名输入框绑定 失去焦点事件document.getElementById(username).onblur function (){//2. 发送ajax请求//获取用户名的值var username this.value;//2.1创建核心对象var xmlhttp;if (window.XMLHttpRequest) { //code for IE7, Firefox, Chrome, Opera, Safarixmlhttp new XMLHttpRequest();}else { //code for lE6,IE5xmlhttp new ActiveXObject(Microsoft.XMLHTTP);}//2.1 发送请求xmlhttp.open(GET,http://localhost:8080/ajax-demo/selectUserServlet?usernameusername);//写全路径的原因是前端和后端是不在一个服务器部署的要访问就全路径xmlhttp.send();//发送请求//2.3获取响应xmlhttp.onreadystatechange function () {if (xmlhttp.readyState 4 xmlhttp.status 200){// alert(this.responseText);if(this.responseText true){//用户名存在显示提示信息document.getElementById(username_err).style.display ;}else {//用户不存在 清除提示信息document.getElementById(username_err).style.display none;}}};} /script /body /html3.3 Axios 异步框架 Axios对原生的AJAX进行封装简化书写 Axios官网 3.3.1 Axios 快速入门 引入axios 的js文件 script srcjslaxios-0.18.0.js/script使用axios 发送请求并获取响应结果 axios({method:get,url:http://localhost:8080/ajax_demo/axiosServlet?usernamezhangsan}).then(function (resp){alert(resp.data);}); axios({method:post,url:http://localhost:8080/ajax_demo/axiosServlet,data:usernamezhangsan}).then(function (resp){alert(resp.data);}); 例子 axios-0.18.0.js 文件 /* axios v0.18.0 | (c) 2018 by Matt Zabriskie */ !function(e,t){objecttypeof exportsobjecttypeof module?module.exportst():functiontypeof definedefine.amd?define([],t):objecttypeof exports?exports.axiost():e.axiost()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var on[r]{exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded!0,o.exports}var n{};return t.me,t.cn,t.p,t(0)}([function(e,t,n){e.exportsn(1)},function(e,t,n){use strict;function r(e){var tnew s(e),ni(s.prototype.request,t);return o.extend(n,s.prototype,t),o.extend(n,t),n}var on(2),in(3),sn(5),un(6),ar(u);a.Axioss,a.createfunction(e){return r(o.merge(u,e))},a.Canceln(23),a.CancelTokenn(24),a.isCanceln(20),a.allfunction(e){return Promise.all(e)},a.spreadn(25),e.exportsa,e.exports.defaulta},function(e,t,n){use strict;function r(e){return[object Array]R.call(e)}function o(e){return[object ArrayBuffer]R.call(e)}function i(e){returnundefined!typeof FormDatae instanceof FormData}function s(e){var t;return tundefined!typeof ArrayBufferArrayBuffer.isView?ArrayBuffer.isView(e):ee.buffere.buffer instanceof ArrayBuffer}function u(e){returnstringtypeof e}function a(e){returnnumbertypeof e}function c(e){returnundefinedtypeof e}function f(e){return null!eobjecttypeof e}function p(e){return[object Date]R.call(e)}function d(e){return[object File]R.call(e)}function l(e){return[object Blob]R.call(e)}function h(e){return[object Function]R.call(e)}function m(e){return f(e)h(e.pipe)}function y(e){returnundefined!typeof URLSearchParamse instanceof URLSearchParams}function w(e){return e.replace(/^\s*/,).replace(/\s*$/,)}function g(){return(undefinedtypeof navigator||ReactNative!navigator.product)(undefined!typeof windowundefined!typeof document)}function v(e,t){if(null!eundefined!typeof e)if(object!typeof e(e[e]),r(e))for(var n0,oe.length;no;n)t.call(null,e[n],n,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)t.call(null,e[i],i,e)}function x(){function e(e,n){objecttypeof t[n]objecttypeof e?t[n]x(t[n],e):t[n]e}for(var t{},n0,rarguments.length;nr;n)v(arguments[n],e);return t}function b(e,t,n){return v(t,function(t,r){nfunctiontypeof t?e[r]E(t,n):e[r]t}),e}var En(3),Cn(4),RObject.prototype.toString;e.exports{isArray:r,isArrayBuffer:o,isBuffer:C,isFormData:i,isArrayBufferView:s,isString:u,isNumber:a,isObject:f,isUndefined:c,isDate:p,isFile:d,isBlob:l,isFunction:h,isStream:m,isURLSearchParams:y,isStandardBrowserEnv:g,forEach:v,merge:x,extend:b,trim:w}},function(e,t){use strict;e.exportsfunction(e,t){return function(){for(var nnew Array(arguments.length),r0;rn.length;r)n[r]arguments[r];return e.apply(t,n)}}},function(e,t){function n(e){return!!e.constructorfunctiontypeof e.constructor.isBuffere.constructor.isBuffer(e)}function r(e){returnfunctiontypeof e.readFloatLEfunctiontypeof e.slicen(e.slice(0,0))}/*!* Determine if an object is a Buffer** author Feross Aboukhadijeh https://feross.org* license MIT*/e.exportsfunction(e){return null!e(n(e)||r(e)||!!e._isBuffer)}},function(e,t,n){use strict;function r(e){this.defaultse,this.interceptors{request:new s,response:new s}}var on(6),in(2),sn(17),un(18);r.prototype.requestfunction(e){stringtypeof e(ei.merge({url:arguments[0]},arguments[1])),ei.merge(o,{method:get},this.defaults,e),e.methode.method.toLowerCase();var t[u,void 0],nPromise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)nn.then(t.shift(),t.shift());return n},i.forEach([delete,get,head,options],function(e){r.prototype[e]function(t,n){return this.request(i.merge(n||{},{method:e,url:t}))}}),i.forEach([post,put,patch],function(e){r.prototype[e]function(t,n,r){return this.request(i.merge(r||{},{method:e,url:t,data:n}))}}),e.exportsr},function(e,t,n){use strict;function r(e,t){!i.isUndefined(e)i.isUndefined(e[Content-Type])(e[Content-Type]t)}function o(){var e;returnundefined!typeof XMLHttpRequest?en(8):undefined!typeof process(en(8)),e}var in(2),sn(7),u{Content-Type:application/x-www-form-urlencoded},a{adapter:o(),transformRequest:[function(e,t){return s(t,Content-Type),i.isFormData(e)||i.isArrayBuffer(e)||i.isBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(r(t,application/x-www-form-urlencoded;charsetutf-8),e.toString()):i.isObject(e)?(r(t,application/json;charsetutf-8),JSON.stringify(e)):e}],transformResponse:[function(e){if(stringtypeof e)try{eJSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:XSRF-TOKEN,xsrfHeaderName:X-XSRF-TOKEN,maxContentLength:-1,validateStatus:function(e){return e200e300}};a.headers{common:{Accept:application/json, text/plain, */*}},i.forEach([delete,get,head],function(e){a.headers[e]{}}),i.forEach([post,put,patch],function(e){a.headers[e]i.merge(u)}),e.exportsa},function(e,t,n){use strict;var rn(2);e.exportsfunction(e,t){r.forEach(e,function(n,r){r!tr.toUpperCase()t.toUpperCase()(e[t]n,delete e[r])})}},function(e,t,n){use strict;var rn(2),on(9),in(12),sn(13),un(14),an(10),cundefined!typeof windowwindow.btoawindow.btoa.bind(window)||n(15);e.exportsfunction(e){return new Promise(function(t,f){var pe.data,de.headers;r.isFormData(p)delete d[Content-Type];var lnew XMLHttpRequest,honreadystatechange,m!1;if(undefinedtypeof window||!window.XDomainRequest||withCredentialsin l||u(e.url)||(lnew window.XDomainRequest,honload,m!0,l.onprogressfunction(){},l.ontimeoutfunction(){}),e.auth){var ye.auth.username||,we.auth.password||;d.AuthorizationBasic c(y:w)}if(l.open(e.method.toUpperCase(),i(e.url,e.params,e.paramsSerializer),!0),l.timeoute.timeout,l[h]function(){if(l(4l.readyState||m)(0!l.status||l.responseURL0l.responseURL.indexOf(file:))){var ngetAllResponseHeadersin l?s(l.getAllResponseHeaders()):null,re.responseTypetext!e.responseType?l.response:l.responseText,i{data:r,status:1223l.status?204:l.status,statusText:1223l.status?No Content:l.statusText,headers:n,config:e,request:l};o(t,f,i),lnull}},l.onerrorfunction(){f(a(Network Error,e,null,l)),lnull},l.ontimeoutfunction(){f(a(timeout of e.timeoutms exceeded,e,ECONNABORTED,l)),lnull},r.isStandardBrowserEnv()){var gn(16),v(e.withCredentials||u(e.url))e.xsrfCookieName?g.read(e.xsrfCookieName):void 0;v(d[e.xsrfHeaderName]v)}if(setRequestHeaderin lr.forEach(d,function(e,t){undefinedtypeof pcontent-typet.toLowerCase()?delete d[t]:l.setRequestHeader(t,e)}),e.withCredentials(l.withCredentials!0),e.responseType)try{l.responseTypee.responseType}catch(t){if(json!e.responseType)throw t}functiontypeof e.onDownloadProgressl.addEventListener(progress,e.onDownloadProgress),functiontypeof e.onUploadProgressl.uploadl.upload.addEventListener(progress,e.onUploadProgress),e.cancelTokene.cancelToken.promise.then(function(e){l(l.abort(),f(e),lnull)}),void 0p(pnull),l.send(p)})}},function(e,t,n){use strict;var rn(10);e.exportsfunction(e,t,n){var on.config.validateStatus;n.statuso!o(n.status)?t(r(Request failed with status code n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){use strict;var rn(11);e.exportsfunction(e,t,n,o,i){var snew Error(e);return r(s,t,n,o,i)}},function(e,t){use strict;e.exportsfunction(e,t,n,r,o){return e.configt,n(e.coden),e.requestr,e.responseo,e}},function(e,t,n){use strict;function r(e){return encodeURIComponent(e).replace(/%40/gi,).replace(/%3A/gi,:).replace(/%24/g,$).replace(/%2C/gi,,).replace(/%20/g,).replace(/%5B/gi,[).replace(/%5D/gi,])}var on(2);e.exportsfunction(e,t,n){if(!t)return e;var i;if(n)in(t);else if(o.isURLSearchParams(t))it.toString();else{var s[];o.forEach(t,function(e,t){null!eundefined!typeof e(o.isArray(e)?t[]:e[e],o.forEach(e,function(e){o.isDate(e)?ee.toISOString():o.isObject(e)(eJSON.stringify(e)),s.push(r(t)r(e))}))}),is.join()}return i(e(e.indexOf(?)-1??:)i),e}},function(e,t,n){use strict;var rn(2),o[age,authorization,content-length,content-type,etag,expires,from,host,if-modified-since,if-unmodified-since,last-modified,location,max-forwards,proxy-authorization,referer,retry-after,user-agent];e.exportsfunction(e){var t,n,i,s{};return e?(r.forEach(e.split(\n),function(e){if(ie.indexOf(:),tr.trim(e.substr(0,i)).toLowerCase(),nr.trim(e.substr(i1)),t){if(s[t]o.indexOf(t)0)return;set-cookiet?s[t](s[t]?s[t]:[]).concat([n]):s[t]s[t]?s[t], n:n}}),s):s}},function(e,t,n){use strict;var rn(2);e.exportsr.isStandardBrowserEnv()?function(){function e(e){var te;return n(o.setAttribute(href,t),to.href),o.setAttribute(href,t),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,):,host:o.host,search:o.search?o.search.replace(/^\?/,):,hash:o.hash?o.hash.replace(/^#/,):,hostname:o.hostname,port:o.port,pathname:/o.pathname.charAt(0)?o.pathname:/o.pathname}}var t,n/(msie|trident)/i.test(navigator.userAgent),odocument.createElement(a);return te(window.location.href),function(n){var or.isString(n)?e(n):n;return o.protocolt.protocolo.hostt.host}}():function(){return function(){return!0}}()},function(e,t){use strict;function n(){this.messageString contains an invalid character}function r(e){for(var t,r,iString(e),s,u0,ao;i.charAt(0|u)||(a,u%1);sa.charAt(63t8-u%1*8)){if(ri.charCodeAt(u.75),r255)throw new n;tt8|r}return s}var oABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/;n.prototypenew Error,n.prototype.code5,n.prototype.nameInvalidCharacterError,e.exportsr},function(e,t,n){use strict;var rn(2);e.exportsr.isStandardBrowserEnv()?function(){return{write:function(e,t,n,o,i,s){var u[];u.push(eencodeURIComponent(t)),r.isNumber(n)u.push(expiresnew Date(n).toGMTString()),r.isString(o)u.push(patho),r.isString(i)u.push(domaini),s!0u.push(secure),document.cookieu.join(; )},read:function(e){var tdocument.cookie.match(new RegExp((^|;\\s*)(e)([^;]*)));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,,Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){use strict;function r(){this.handlers[]}var on(2);r.prototype.usefunction(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.ejectfunction(e){this.handlers[e](this.handlers[e]null)},r.prototype.forEachfunction(e){o.forEach(this.handlers,function(t){null!te(t)})},e.exportsr},function(e,t,n){use strict;function r(e){e.cancelTokene.cancelToken.throwIfRequested()}var on(2),in(19),sn(20),un(6),an(21),cn(22);e.exportsfunction(e){r(e),e.baseURL!a(e.url)(e.urlc(e.baseURL,e.url)),e.headerse.headers||{},e.datai(e.data,e.headers,e.transformRequest),e.headerso.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),o.forEach([delete,get,head,post,put,patch,common],function(t){delete e.headers[t]});var te.adapter||u.adapter;return t(e).then(function(t){return r(e),t.datai(t.data,t.headers,e.transformResponse),t},function(t){return s(t)||(r(e),tt.response(t.response.datai(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){use strict;var rn(2);e.exportsfunction(e,t,n){return r.forEach(n,function(n){en(e,t)}),e}},function(e,t){use strict;e.exportsfunction(e){return!(!e||!e.__CANCEL__)}},function(e,t){use strict;e.exportsfunction(e){return/^([a-z][a-z\d\\-\.]*:)?\/\//i.test(e)}},function(e,t){use strict;e.exportsfunction(e,t){return t?e.replace(/\/$/,)/t.replace(/^\//,):e}},function(e,t){use strict;function n(e){this.messagee}n.prototype.toStringfunction(){returnCancel(this.message?: this.message:)},n.prototype.__CANCEL__!0,e.exportsn},function(e,t,n){use strict;function r(e){if(function!typeof e)throw new TypeError(executor must be a function.);var t;this.promisenew Promise(function(e){te});var nthis;e(function(e){n.reason||(n.reasonnew o(e),t(n.reason))})}var on(23);r.prototype.throwIfRequestedfunction(){if(this.reason)throw this.reason},r.sourcefunction(){var e,tnew r(function(t){et});return{token:t,cancel:e}},e.exportsr},function(e,t){use strict;e.exportsfunction(e){return function(t){return e.apply(null,t)}}}])}); //# sourceMappingURLaxios.min.mapAxiosServlet package com.itheima.web.servlet;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(/axiosServlet) public class AxiosServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println(get...);//1.接收请求参数String username request.getParameter(username);System.out.println(username);//2.响应数据response.getWriter().write(hello Axios);}Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println(post....);this.doGet(request, response);} } 1、get请求部分 !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head bodyscript srcjs/axios-0.18.0.js/script script//1.getaxios({method:get,url:http://localhost:8080/ajax-demo/axiosServlet?usernamezhangsan}).then(function (resp){alert(resp.data);})/script /body /html2、post部分 //2.postaxios({method:post,url:http://localhost:8080/ajax-demo/axiosServlet,data:usernamezhangsan}).then(function (resp){alert(resp.data);})3.3.2 Axios 请求方式别名 为了方便起见 Axios已经为所有支持的请求方法提供了别名 方法名作用get(url)发起GET方式请求post(url,请求参数)发起POST方式请求 发送get请求 axios.get(url).then(function (resp){alert(resp.data)}) 发送post请求 axios.post(url,参数).then(function (resp){alert(resp.data)}) 方便例子 !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head bodyscript srcjs/axios-0.18.0.js/script script//1.getaxios.get(http://localhost:8080/ajax-demo/axiosServlet?usernamezhangsan).then(function (resp){alert(resp.data)})//2.postaxios.post(http://localhost:8080/ajax-demo/axiosServlet,usernamezhangsan).then(function (resp){alert(resp.data)})/script /body /html案例练习 !DOCTYPE html html langen headmeta charsetUTF-8title欢迎注册/titlelink hrefcss/register.css relstylesheet /head body div classform-divdiv classreg-contenth1欢迎注册/h1span已有帐号/span a hreflogin.html登录/a/divform idreg-form action# methodgettabletrtd用户名/tdtd classinputsinput nameusername typetext idusernamebrspan idusername_err classerr_msg styledisplay: none用户名太受欢迎了/span/td/trtrtd密码/tdtd classinputsinput namepassword typepassword idpasswordbrspan idpassword_err classerr_msg styledisplay: none密码格式有误/span/td/trtrtd验证码/tdtd classinputsinput namecheckCode typetext idcheckCodeimg srcimgs/a.jpga href# idchangeImg看不清/a/td/tr/tablediv classbuttonsinput value注 册 typesubmit idreg_btn/divbr classclear/form /div /body script srcjs/axios-0.18.0.js/script scriptdocument.getElementById(username).onblur function (){axios.get(http://localhost:8080/ajax-demo/selectServlet?usernameusername).then(function (resp){console.log(resp.data)if (true resp.data.toString()){//此时没有查询到数据document.getElementById(username_err).style.display ;}else {//查询到有该数据document.getElementById(username_err).style.display none;}})} /script /html 4. JSON 概念JavaScript Object Notation。JavaScript 对象表示法由于其语法简单层次结构鲜明现多用于作为数据载体在网络中进行数据传输 4.1 JSON基础语法 定义 var 变量名 {key1: value1,key2: value2,...}; 示例 var json {name: zhangsan,age: 23,addr:[北京,上海,广州]}; value的数据类型为: 数字 (整数或浮点数) 字符串 (在双引号中) 逻辑值 (true或false) 数组 (在方括号中) 对象 (在花括号中) null 获取数据: 变量名.keyjson.name例子 !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head bodyscript//定义josnvar json {name:zhangsan,age:23,addr:[北京,上海,西安]}//获取值alert(josn.name);/script /body /html4.2 JSON数据和Java对象转换 请求数据JSON字符串转为Java对象响应数据Java对象转为JSON字符串 Fastjson是阿里巴巴提供的一个Java语言编写的高性能功能完善的JSON库是目前Java语言中最快的JSON库可以实现Java对象和JSON字符串的相互转换。 使用 导入坐标 dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.62/version /dependencyJava对象转JSON String jsonStr JSON.toJSONString(obj);JSON字符串转Java对象 User user JSON.parseObject(jsonStr,User.class);例子 package com.itheima.json;import com.alibaba.fastjson.JSON;public class FastJsonDemo {public static void main(String[] args) {//1.将java对象转换为json字符串User user new User();user.setId(1);user.setUsername(zhangsan);user.setPassword(123);String jsonString JSON.toJSONString(user);System.out.println(jsonString);//{id:1,password:123,username:zhangsan}//2.将JSON字符串转为java对象User u JSON.parseObject({\id\:1,\password\:\123\,\username\:\zhangsan\}, User.class);System.out.println(u);} } 4.3 案例 品牌数据列表 4.3.1 查询所有 核心配置文件 ?xml version1.0 encodingUTF-8?project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdorg.example/groupIdartifactIdbrand-demo/artifactIdversion1.0-SNAPSHOT/versionpackagingwar/packagingpropertiesmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.target/propertiesdependencies!-- servlet--dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependency!-- fastjson--dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.62/version/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.tomcat.maven/groupIdartifactIdtomcat7-maven-plugin/artifactIdversion2.2/version/plugin/plugins/build /project brand.html !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head body a hrefaddBrand.htmlinput typebutton value新增/abr hr table idbrandTable border1 cellspacing0 width100%trth序号/thth品牌名称/thth企业名称/thth排序/thth品牌介绍/thth状态/thth操作/th/trtr aligncentertd1/tdtd三只松鼠/tdtd三只松鼠/tdtd100/tdtd三只松鼠好吃不上火/tdtd启用/tdtda href#修改/a a href#删除/a/td/trtr aligncentertd2/tdtd优衣库/tdtd优衣库/tdtd10/tdtd优衣库服适人生/tdtd禁用/tdtda href#修改/a a href#删除/a/td/trtr aligncentertd3/tdtd小米/tdtd小米科技有限公司/tdtd1000/tdtd为发烧而生/tdtd启用/tdtda href#修改/a a href#删除/a/td/tr /tablescript srcjs/axios-0.18.0.js/scriptscript//1. 当页面加载完成后发送ajax请求window.onload function () {//2. 发送ajax请求axios({method:get,url:http://localhost:8080/brand-demo/selectAllServlet}).then(function (resp) {//获取数据let brands resp.data;let tableData tr\n th序号/th\n th品牌名称/th\n th企业名称/th\n th排序/th\n th品牌介绍/th\n th状态/th\n th操作/th\n /tr;for (let i 0; i brands.length ; i) {let brand brands[i];tableData \n tr align\center\\n td(i1)/td\n tdbrand.brandName/td\n tdbrand.companyName/td\n tdbrand.ordered/td\n tdbrand.description/td\n tdbrand.status/td\n \n tda href\#\修改/a a href\#\删除/a/td\n /tr;}// 设置表格数据document.getElementById(brandTable).innerHTML tableData;})}/script/body /htmlSelectAllService package com.itheima.web;import com.alibaba.fastjson.JSON; import com.itheima.pojo.Brand; import com.itheima.service.BrandService;import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; import java.util.List;WebServlet(/selectAllServlet) public class SelectAllServlet extends HttpServlet {private BrandService brandService new BrandService();Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1. 调用Service查询ListBrand brands brandService.selectAll();//2. 将集合转换为JSON数据 序列化String jsonString JSON.toJSONString(brands);//3. 响应数据response.setContentType(text/json;charsetutf-8);response.getWriter().write(jsonString);}Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);} }4.3.2 新增品牌 addBrand.html !DOCTYPE html html langenheadmeta charsetUTF-8title添加品牌/title /head body h3添加品牌/h3 form action methodpost品牌名称input idbrandName namebrandNamebr企业名称input idcompanyName namecompanyNamebr排序input idordered nameorderedbr描述信息textarea rows5 cols20 iddescription namedescription/textareabr状态input typeradio namestatus value0禁用input typeradio namestatus value1启用brinput typebutton idbtn value提交 /formscript srcjs/axios-0.18.0.js/scriptscript//1. 给按钮绑定单击事件document.getElementById(btn).onclick function () {// 将表单数据转为jsonvar formData {brandName:,companyName:,ordered:,description:,status:,};// 获取表单数据let brandName document.getElementById(brandName).value;// 设置数据formData.brandName brandName;// 获取表单数据let companyName document.getElementById(companyName).value;// 设置数据formData.companyName companyName;// 获取表单数据let ordered document.getElementById(ordered).value;// 设置数据formData.ordered ordered;// 获取表单数据let description document.getElementById(description).value;// 设置数据formData.description description;let status document.getElementsByName(status);for (let i 0; i status.length; i) {if(status[i].checked){//formData.status status[i].value ;}}console.log(formData);//2. 发送ajax请求axios({method:post,url:http://localhost:8080/brand-demo/addServlet,data:formData}).then(function (resp) {// 判断响应数据是否为 successif(resp.data success){location.href http://localhost:8080/brand-demo/brand.html;}})}/script /body /htmladdServlet WebServlet(/addServlet) public class AddServlet extends HttpServlet {private BrandService brandService new BrandService();Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1. 接收数据,request.getParameter 不能接收json的数据/* String brandName request.getParameter(brandName);System.out.println(brandName);*/// 获取请求体数据BufferedReader br request.getReader();String params br.readLine();// 将JSON字符串转为Java对象Brand brand JSON.parseObject(params, Brand.class);//2. 调用service 添加brandService.add(brand);//3. 响应成功标识response.getWriter().write(success);}Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);}
http://www.dnsts.com.cn/news/43553.html

相关文章:

  • 哪家网站制作 优帮云中国室内设计公司排名前十强
  • 东莞建设网 东莞市住房和城乡建设局门户网站网站导出链接查询
  • 网站建设方案书 doc免费咨询法律顾问
  • 怎么制作网站的网页设计在线做3d交互的网站
  • 做家装网站客户来源多吗简诉网站建设小组的五类成员
  • 郑州网站制作电话seo优化首页
  • 宿州酒店网站建设做推广的网站带宽需要多少合适
  • 友情链接是在网站后台做吗wordpress 豆瓣
  • 网页设计代码中字体的颜色如何改合肥推广优化公司
  • 景区网站模板成都营销策划公司排行榜
  • 政务公开和网站建设先进个人企业网页申请制作步骤
  • 网页升级访问站软件开发文档清单
  • 东莞h5网站开发林州网站建设策划
  • 设计免费素材网站网站制作需要多少钱一年
  • 宁波网站建设服务公司电huaui作品集 网站怎么做
  • 设计师应该看的网站电子商务网站开发的目的是什么
  • dede中英文企业网站让wordpress文章页面显示分类标签
  • 徐州祥云做网站好用的小程序推荐
  • alexa网站排名wordpress 分类目录导航
  • 视屏网站的审核是怎么做的什么网站可以做试卷
  • 梧州做网站湖北手机网站建设
  • 玉环网站制作海南网站建设平台
  • 郑州做商城网站西安最新招聘信息
  • 正能量不良网站直接进入app开发工具简单
  • 罗田网站建设wordpress cms 制作
  • 给网站添加代码南京中如建设公司
  • 企业网站网上推广的途径合肥专门做网站
  • 我们做网站 出教材 办育心经app开发团队公司
  • 福州做网站的公司多少钱网站素材包括哪些
  • 网站索引怎么做电子商务 网站建设