场景

许多同学在开发过程中经常会遇到一个问题,怎么去定义一个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. MongoDB CRUD 操作手册

    基本操作 增加 在MongoDB中通过db.collection.insert()来增加新的数据. db.users.insert({username:"Jack",age:30} ...

  3. ABP(现代ASP.NET样板开发框架)系列之19、ABP应用层——审计日志

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之19.ABP应用层——审计日志 ABP是“ASP.NET Boilerplate Project (ASP.NET ...

  4. 牛顿法求平方根 scala

    你任说1个整数x,我任猜它的平方根为y,如果不对或精度不够准确,那我令y = (y+x/y)/2.如此循环反复下去,y就会无限逼近x的平方根.scala代码牛顿智商太高了println( sqr(10 ...

  5. AngularJs之三

    一.angularJs的指令模型ng-model指令 ng-model 指令 绑定 HTML 元素 到应用程序数据. 为应用程序数据提供类型验证(number.email.required).为应用程 ...

  6. ASP.NET MVC5+EF6+EasyUI 后台管理系统--任务调度系统解析

    1.任务主界面.任务可以被挂起,启动,和删除.来自著名Quartz扩展 2.任务可以是执行的SQL命令,存储过程,或者是一个后台方法 3.极其复杂的调度任务,循环次数,可以自行设置.并可以间隔执行,比 ...

  7. 大三作品:不需要售货员的超市? Easy-Shopping超市导购系统

    本来么,逛超市是一件很爽的事情,拉上父母孩子,推个大推车,一边聊一边买,然后开开心心的回家去. 可到了旺季,逛超市可就麻烦了,买东西人挤人,到结算的地方人山人海,一刷卡,我去,怎么这个卫生纸这么贵!这 ...

  8. Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结

    2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...

  9. 前端MVC学习总结(二)——AngularJS验证、过滤器、指令

    一.验证 angularJS中提供了许多的验证指令,可以轻松的实现验证,只需要在表单元素上添加相应的ng属性,常见的如下所示: <input Type="text" ng-m ...

  10. QT 删除文件指定目录

    bool deleteDir(const QString &dirName) { QDir directory(dirName); if (!directory.exists()) { ret ...