zoukankan      html  css  js  c++  java
  • 个人对B/S项目的一些理解(二)

    以下是我自工作以来,结合对C/S项目的认知,对B/S项目的一些理解。
    如有不足或者错误,请各位指正。
     
     
    ----数据处理的升级
     
    在上面的描述中,大家也看到了,远古时期的程序员,其实也听不容易的,后台要手写Html。
    手写html跟业务的相关性很小,而且,也容易出错,同时,还要求大家需要掌握前端的技术。从业务分离,降低耦合,明确分工的角度来讲,这样的做法是条条违背的。
    所以,程序员们,对代码进行了拆分。
    为了明白他们是怎么拆分的,我们需要先简单了解一个技术--引擎,简单点来说,就是字符串替换。
     
    假如你有这么个需求,我们需要从后台数据库读取数据库用户姓名,再读取一个自定义的txt文本文件,将字符串拼接起来,进行用户的展示。
    我们的一种思路应该是,在txt文件中设置标识位,或者是标识符。读取标识符,替用从数据库读取到的数据换标识符,比如这样的:
    读取花括号,并替换成对应的变量
    String readStr=ReadFromFile("XXX.txt");//"我是{name},我今年{age}岁了"
    String outStr=readStr.replace("{name}",user.Name).replace("{age}",user.Age);
     
    经过替换之后,输出outStr就可以了。通过改变文本内容,我们可以自定义输出的内容,但是注意“{name}”、“{age}”这两个是不能变的
    以上,便是引擎的一个简单应用模型,从文件中读取内容,将文件中的占位符替换成变量。
     
    回到上面讲的远古程序员时期,手写html的时候,很多的Html内容是与业务无关的,那么我们能不能把html提取成文件,然后用文本替换的这种形式,把变量拼接进去,依旧是返回一个字符串,但是程序员不再在html的编写与调试上面花费多余的时间,而且也实现了前后端的分离。
    对于程序员的这种拆分前后端代码的普遍需求,微软这边有webform , asp.net mvc, JAVA那边有 JSP。
     
    对ASP.NET MVC来讲,在我们写return View()的时候, View是ViewResult类型的一个实例,
    是可以传字符串,对象,很多东西的。
    当传入的是字符串的时候,会去找你传入的字符串(视图路径),查找到视图,对视图进行引擎解析。
    当什么都不传入的时候,那么会按照默认“views/controllerDirectory/actionFile”去找对应的视图.
    比如:AController BMethod,回去找"views/A/BMethod.cshtml",这是ASP.NET MVC的规则。
    然后按照razor引擎,对文件中的变量进行解析替换,得到html字符串。
     
    对于JAVA来讲,在tomcat启动项目的时候,会在tomcat的work文件夹下面针对jsp文件,生成一个“.java”文件,并编译成类文件
    如:"Tomcat 7.0workCatalinalocalhostYourProjectNameorgapachejspindex_jsp.java"
    我们打开这个"xxx_jsp.java"文件,会发现,里面的代码是
    这样的远古时期输出字符串的这种形式来编写的代码。
    当在servlet中写访问“xxx.jsp”的时候,服务器会加载"xxx_jsp.java"文件中的类,执行他的输出方法,得到html字符串,发回给浏览器。
  • 相关阅读:
    方维o2o系统域名绑定破解详解
    smarty 学习笔记一
    手机禁止缩放网页 手机CSS导入
    Android 学习笔记(一)
    自动填充短信验证码(使用ContentObserver)
    分享100个开源android项目源码
    php如何实现验证码
    Zend Studio 13 v13.0.0汉化中文版
    java中的静态方法
    继承代码
  • 原文地址:https://www.cnblogs.com/fri-yu/p/5332044.html
Copyright © 2011-2022 走看看