客户端的web技术

简介: Web 技术糅合了太多内容,  总的来说Server 和 Client 技术基本上不划分。 因此当PHP, J2EE, Pyth 纷扰这web世界的时候,  我们还能看到JQuary, Node.js, 还能看到Sql的阴魂不散.  很多人就开始深陷技术无法自拔。 这篇文章中。 您完全不用费神费力。 这一切都跟服务端技术没有多大关系。 1. 服务端仅仅提供接口数据。 比如通过一个POST

Web 技术糅合了太多内容,  总的来说Server 和 Client 技术基本上不划分。 因此当PHP, J2EE, Pyth 纷扰这web世界的时候,  我们还能看到JQuary, Node.js, 还能看到Sql的阴魂不散.  很多人就开始深陷技术无法自拔。 这篇文章中。 您完全不用费神费力。 这一切都跟服务端技术没有多大关系。

1. 服务端仅仅提供接口数据。 比如通过一个POST请求,服务端把数据传给我们。 我们这里将采用JSON的格式【XML大娘的标签太罗嗦】

2. 客户端通过XMLHTTPRequest这个浏览器著名的实例, 和服务端交互, 然后把数据拿回来, JS能做到

3. 客户端开始通过DOM进行展示. 展示非常灵活, 你想把文本变成红的绿的, 都行, 同样JS也能做到

4. 很显然,  JS在处理请求的时候, 还处理了HTML的UI,  也就是逻辑和UI的揉合. 这里, 要给出解决方案, 让代码不那么糟糕, 因为我们还需要让别人看懂, 让别人维护.

环境准备:

    1. 服务端, 一个查单词的Server端应用. 非常简单, 下面的红色字体, 就是输入单词的部分, 其他的几个参数, 先忽视吧!

     http://dictionary.duapp.com/q?method=queryword&word=future&type=1_00&name=test&pwd=test

    当然你可以修改为其它任意的单词, 这个也将是我们后面会提供的内容。

    http://dictionary.duapp.com/q?method=queryword&word=have&type=1_00&name=test&pwd=test

    如果您一直关注我的博客, 显然, 这是【凡尘英语】部署的一个应用. 当然你无需关注,  我们这里是关注客户端的技术, 千万别迷恋服务端! 否则你会离题太远!

    另外温馨提示一下, 千万别拿我这个接口来做其他的事情, 因为我一段时间之后, 我会将这个接口封闭。 你完全可以部署一个免费的服务端应用。 这里可以帮你找到一些线索:

      百度的 java BAE, 建立一个Java Servlet为主要技术的应用. 

    2. 客户端. 组装一个POST请求, 对返回的字段进行解析, 将其嵌入到我们的HTML5的各种标签中, 以第一个链接请求future的查询为例:

    {"key":"future","pron":"ˈfju:tʃə---ˈfjutʃɚ---","meanings":[{"type":"adj.","trans":"将来的,未来的;[语法学]将来时的;"},{"type":"n.","trans":"前途;[美国俚语]未婚妻;期货;"}],"shorts":"[for the future, in future, in the future]","usages":[{"eng":"I am on my way to future, where you are there.","cn":"我要去有你的未来","type":-1,"remark":"优美英文"},{"eng":"If my future has you in it, I'm not afraid of the rest.","cn":"如果我的未来有你在,那其他的什么我都不怕了。","type":-1,"remark":"优美英文"},{"eng":"Every hour of lost time is a chance of future misfortune.","cn":"一寸光阴一寸金,寸金难买寸光阴。","type":-1,"remark":"优美英文"},{"eng":"We'd better struggle for the future rather than regret for the past.","cn":"后悔过去,不如奋斗将来。","type":-1,"remark":"优美英文"}]}

目标:

1. 生成两个页面, 将上述JSon数据进行展示

2.  分离UI处理和逻辑处理, 采用先分层、后模块化的方式.  保证框架代码的容易维护

特别提醒:

1. 由于存在跨域问题, 所以, 本文的客户端代码和服务端代码需要共同部署在同一个服务器上.

2.  我们Sevlet转发的方式, 将dictionary.duapp.com的查询, 转迁到student.duapp.com上去. 当然, 我们建议你也这么做. 代码很简单, 提供如下:

  1.     private String getHttpContent(String rometURL, String encoding)  
  2.     {  
  3.         try {  
  4.              URL url = new URL (rometURL);  
  5.                 URLConnection uc = url.openConnection();  
  6.                 uc.setRequestProperty  ("Authorization""Basic " + encoding);  
  7.                 uc.setRequestProperty("User-Agent""Mozilla/5.0");  
  8.                     
  9.                 InputStream content = (InputStream)uc.getInputStream();  
  10.                 BufferedReader in = new BufferedReader (new InputStreamReader (content,encoding));  
  11.                 StringBuffer buffer = new StringBuffer();  
  12.                 while (in.ready()) {  
  13.                     String inString = in.readLine().trim();  
  14.                     if (inString.length() != 0)  
  15.                     {  
  16.                         buffer.append(inString);  
  17.                     }  
  18.                 }  
  19.                 return buffer.toString();  
  20.         } catch (Exception e) {  
  21.         }  
  22.        return null;  
  23.     }  
  24.       
  25.     @Override  
  26.     protected void service(HttpServletRequest req, HttpServletResponse resp)  
  27.             throws ServletException, IOException {  
  28.         // TODO Auto-generated method stub  
  29. //      super.doGet(req, resp);  
  30.         String partA = "http://dictionary.duapp.com/q?method=queryword&word=";  
  31.         String partB = "&type=1_00&name=test&pwd=test";  
  32.         String content = getHttpContent(partA + "about" + partB, "utf-8");  
  33.         resp.setContentType("text/plain");  
  34.         resp.setCharacterEncoding("utf-8");  
  35.         resp.getWriter().println(content);  
  36.     }  

这样转接代理服务完成.


接下来要做的工作, 就是显示一个页面: 测试链接如下:


Ajax测试链接


可以输入任意单词进行测试


js源码

目录
相关文章
|
9天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
1月前
|
前端开发 数据库 UED
构建高性能Web应用的关键技术
本文将介绍构建高性能Web应用的关键技术,包括前端优化、后端优化、数据库优化等方面。通过深入讨论各项技术的原理和实践方法,帮助开发者们提升Web应用的响应速度和用户体验。
|
1月前
|
存储 前端开发 JavaScript
从前端到后端,探索现代Web开发技术
本文探索了现代Web开发技术的各个方面,包括前端和后端开发以及多种编程语言的应用。通过对JavaScript、Java、Python、C、PHP和Go等语言的介绍,深入探讨了前端和后端开发的基本原理和常用工具。同时,还涵盖了数据库技术在Web开发中的重要性和应用场景。无论你是初学者还是有经验的开发者,本文都能为你提供全面的视角和实用的知识,帮助你在Web开发领域取得更好的成果。
|
1月前
|
SQL 存储 数据库
基于Web技术的在线考试系统的设计与实现(论文+源码)_kaic
基于Web技术的在线考试系统的设计与实现(论文+源码)_kaic
|
1月前
|
网络协议 安全 网络性能优化
基于web技术的企业网设计与实现_kaic
基于web技术的企业网设计与实现_kaic
|
1月前
|
开发框架 Dart 前端开发
构建响应式Web界面:Flutter的跨界前端技术
【2月更文挑战第23天】随着移动互联网的飞速发展,响应式Web设计成为现代前端开发的重要趋势。在众多框架中,Google推出的Flutter以其高效的渲染性能、跨平台能力及丰富的组件生态,为前端开发者带来了新的选择。本文将深入探讨如何利用Flutter进行高效、美观的响应式界面构建,同时剖析其与传统前端技术的差异和优势。
|
1月前
|
网络协议 安全 网络性能优化
基于web技术的企业网设计与实现_kaic
基于web技术的企业网设计与实现_kaic
|
1月前
|
缓存 前端开发 JavaScript
现代Web开发中的前后端分离技术探究
本文旨在探讨现代Web开发中的前后端分离技术,包括前端框架、后端接口设计、数据交互等方面。通过深入分析,我们将了解如何优化开发流程、提高性能和用户体验,以及如何选择适合项目需求的技术栈。
|
1月前
|
前端开发 安全 区块链
前沿技术探索:Web3.0与前端开发的融合之路
【2月更文挑战第12天】 在数字技术快速发展的今天,Web3.0作为互联网的新阶段,不仅预示着去中心化、更加智能化的网络环境,还为前端开发带来了前所未有的挑战与机遇。本文将深入探讨Web3.0对前端开发的影响,分析其在实际应用中如何与前端技术融合,以及前端开发者如何适应这一变革,把握新时代的技术趋势。通过案例分析与技术展望,我们将一窥Web3.0与前端开发融合的未来图景,为前端开发者提供新的思考和行动指南。
136 26
|
1月前
|
前端开发 安全 搜索推荐
未来前端开发的新趋势:Web3.0与区块链技术的融合
【2月更文挑战第12天】 本文探讨了Web3.0和区块链技术对未来前端开发领域的影响。不同于传统摘要的简单概括,我们将通过一个创新的视角,深入解析这两项技术如何共同塑造前端开发的新生态,引领未来互联网的方向。文章首先介绍了Web3.0和区块链技术的基本概念,随后详细分析了它们在提高数据安全性、增强用户体验和推动去中心化应用(DApp)开发上的具体应用。最后,我们将展望这一趋势对前端开发者技能要求的变化,以及如何准备迎接这一变革。