场景

许多同学在开发过程中经常会遇到一个问题,怎么去定义一个url?以及定义一个url之后怎么根据一个url定义文件。
公司组织一次内部培训,为了把这次培训的内容以博客的形式共享出来。

URL与文件的关系

我们假设已经定义好了一个url,先不管如何定义下面会有讨论。
定义好一个url之后我们其实按照规范就已经将url对应的物理文件创建好了。

格式:

子域名.uxuexi.com/一级目录/二级目录.后缀

url与文件的对应关系

子域名 :====>web项目的名称
一级目录 : ====>module以及jsp文件夹的名称
二级目录 : ====>module中的入口函数以及viewService中函数的名称
后缀 :====>.json或者.html

举例

kecheng.uxuexi.com/teaeval/list.html
kecheng是项目的名称:

teaeval是module的名称:

list就是module中的入口函数的名称:

form的名称:
如果你需要传递参数就需要创建一个form来接受参数,不管是一个参数还是多个参数。
form的命名为:TeacherEvalListForm

viewService的名称:

viewService中的方法名称:

jsp的名称:

也就是说你们定义完url之后基本上把这些文件建好
启动项目在浏览器输入地址就可以看到返回值了。

下面的内容可以帮助大家在定义一个url的时候提供一些思路:

概念一:URL的组成

定义一个符合规范的url。
url里的每一部分都可以从三个维度去提取;

维度一:角色

这个要根据你项目中的角色去定义,比如:优学习目前有老师,学生,教研,
那么我们在定义url的时候要去考虑这个url主要是针对谁(角色)的操作,这样
我们就可以确定这个url中应该体现角色。

维度二:模块

分模块我们可以从以下几个方向去找:

产品原型

一般的产品都会画一个原型以便我们理解产品的流程,而且他们也会划分产品的模块,
所以我们可以直接从原型之中就可以去确定这个模块的名字。
比如:

资源分类

项目之中实实在在存在的实体,比如:优学习中的视频。

服务

这里的服务可以从我们平台中定义的基础服务(base层)中获取,比如

维度三:功能

功能可以分为资源展示和页面交互。
资源展示:特指各种资源详情,建议:www.uxuexi.com/studio/234987.html
交互:页面中的交互,比如:搜索,提交,发布,下架,上架等,直接进行翻译即可。

概念二:URL的路径规划

下面就根据上面的维度看看怎么来确定一个URL,
一个URL大致有以下几个部分组成
子域名.uxuexi.com/一级目录/二级目录.后缀
比如:kecheng.uxuexi.com/studio/12345.html
我们可以从以上三个维度来确定我们的域名:

1.把一个角色当做子域名:

大致格式为:角色.uxuexi.com/模块/功能.后缀
student.uxuexi.com/info/setphone.html

2.把一个模块当做一个域名:

大致格式为:模块.uxuexi.com/角色/功能.后缀
order.uxuexi.com/teacher/list.html
order.uxuexi.com/student/list.html

3.把一个功能当做一个域名

很多的网站会把搜索单独做为一个域名,比如:search.jd.com

总结

以上三个维度,角色,模块,功能没有什么先后顺序,因为URL是有语义的,
如果你想强调角色就可以把角色放到比较突出的位置比如子域名。
这个具体让项目负责人去定义,如果项目负责人不确定找人沟通。

一个URL的物理文件的体现的更多相关文章

  1. 怎么通过URL访问到服务器上的物理文件

    目的 :搞清楚在jsp页面中如何引用static目录结构中的静态资源 一.URL URL的全称是统一资源定位符,俗称网页地址(网址),如同在网络上的门牌,是因特网上标准的资源的地址(Address). ...

  2. Visual Studio(VS2012) Project&(Solution) 虚拟文件夹 & 物理文件夹

    今天发生个怪事:在 Solution Explorer 中,x project 内建立文件夹(folder)时,同时在磁盘目录下也创建了同名的文件夹. 1, 原本:应该只是创建一个“虚拟文件夹”用来“ ...

  3. restful架构风格设计准则(二)以资源为中心,一个url

    读书笔记,原文链接:http://www.cnblogs.com/loveis715/p/4669091.html,感谢作者! 1.REST是一种架构风格,其核心是面向资源,简化设计,降低开发的复杂性 ...

  4. 【转】[.Net] 确定当前网站的物理文件路径

    确定当前网站的物理文件路径 在应用程序中,您可能需要确定服务器上的文件或其他资源的路径.例如,如果应用程序以编程方式对文本文件进行读写操作,则必须为用于读取和写入的方法提供该文件的完整物理路径. 将物 ...

  5. 从输入一个URL到页面渲染的流程简介

    首先说明以下是我参考网上答案和自己的思考,给出自己的想法,如果有问题,欢迎大家吐槽从用户在浏览器中输入一个URL,到整个页面渲染,这个过程中究竟发生了什么呢?今天先简单写下整个过程,后面再一点点完善. ...

  6. asp.net 5 中应用程序根目录及物理文件根目录的获取方式 此文已过期,不再适应rc1以后的版本

    之前看了asp.net5,小弟就试着用了用,做了个小网站练习一下,有一个小模块需要上传图片到wwwroot下的images文件夹,但是aspnet5 发生了翻天复地变化,之前获取网站根目录的的方法不再 ...

  7. 从输入一个URL到页面呈现,网络上都发生了什么?

    归纳一下其中涉及到前端的一些基础知识,主要包括:http协议.web标准.w3c标准等.       这个问题虽然只有两个2个动作:输入URL和呈现页面,但这背后发生了很多"有趣" ...

  8. sqlserver错误"试图扩大物理文件时,MODIFY FILE 遇到操作系统错误 112(磁盘空间不足。)。"处理

    正常还原的时候报错: Microsoft SQL-DMO (ODBC SQLState: 42000)---------------------------试图扩大物理文件时,MODIFY FILE  ...

  9. 网易笔试题:浏览器中输入一个url后回车到返回页面信息的过程

    You enter a URL into the browser输入一个url地址 The browser looks up the IP address for the domain name浏览器 ...

随机推荐

  1. WCF : 如何将NetTcpBinding寄宿在IIS7上

    摘要 : 从IIS 7 开始, IIS增加了对非HTTP协议的支持. 因此, 自IIS 7之后, 可以将NetTcpBinding等非HTTP协议的Bindings直接寄宿在IIS上面. 本文将介绍如 ...

  2. Thinking in Unity3D:基于物理着色(PBS)的材质系统

    关于<Thinking in Unity3D> 笔者在研究和使用Unity3D的过程中,获得了一些Unity3D方面的信息,同时也感叹Unity3D设计之精妙.不得不说,笔者最近几年的引擎 ...

  3. Java——搭建自己的RESTful API服务器(SpringBoot、Groovy)

    这又是一篇JavaWeb相关的博客,内容涉及: SpringBoot:微框架,提供快速构建服务的功能 SpringMVC:Struts的替代者 MyBatis:数据库操作库 Groovy:能与Java ...

  4. .NET Core下的日志(2):日志模型详解

    NET Core的日志模型主要由三个核心对象构成,它们分别是Logger.LoggerProvider和LoggerFactory.总的来说,LoggerProvider提供一个具体的Logger对象 ...

  5. jeffy-vim-v3.0

    jeffy-vim-v3.0 修改了配色.

  6. 【NLP】揭秘马尔可夫模型神秘面纱系列文章(二)

    马尔可夫模型与隐马尔可夫模型 作者:白宁超 2016年7月11日15:31:11 摘要:最早接触马尔可夫模型的定义源于吴军先生<数学之美>一书,起初觉得深奥难懂且无什么用场.直到学习自然语 ...

  7. 菜鸟浅析JAVA,.NET,C/C++的区别

    前言 以前经常看一些文章说到JAVA,.NET的区别,有时候C++er也会过来 凑凑热闹,突然发现这几天手停不下来了,也想写一篇文章 来分析一下 JAVA,.NET,C/C++的优缺点以及他们之间谁“ ...

  8. WebComponent魔法堂:深究Custom Element 之 面向痛点编程

    前言  最近加入到新项目组负责前端技术预研和选型,一直偏向于以Polymer为代表的WebComponent技术线,于是查阅各类资料想说服老大向这方面靠,最后得到的结果是:"资料99%是英语 ...

  9. unsafe

    今天无意中发现C#这种完全面向对象的高级语言中也可以用不安全的指针类型,即要用到unsafe关键字.在公共语言运行库 (CLR) 中,不安全代码是指无法验证的代码.C# 中的不安全代码不一定是危险的, ...

  10. 关于Agile Scrum的笔记

    Roles: Scrum Master -- advisor but leader, 替Team消除障碍 Product Owner -- 定sprint的交付内容, 优先级 Team -- 干活的, ...