Java的实现二级域名访问卖家首页

一.使用场景说明

  在电子商务平台中,卖家在平台上可以开自己的店铺,然后买家就可以直接进入到卖家的店铺进行购物.那么问题来了,买家通过什么样的入口进入卖家的店铺?

不加任何处理的方式就是:
1. 在平台上添加卖家店铺入口的链接
2. 直接给用户一个访问卖家店铺首页的URL

  对于第一种方式,是合理的,也是必须要这样做.而第二种很明显就不合理,我想大家作为一个web开发者都知道,上面所说的那个访问卖家首页的url一定是带着很多参数,很长很不优雅,很难记忆的一个url.所以,我们是要给用户一个url,但是这个url必须得是精短的,易记的,优雅的一个URL.所以我们可以为每个店铺配置一个二级域名,用户通过这个二级域名在浏览器输入,就可以直接访问卖家店铺的首页了.


  然后,接下来的第二个问题就来了,我们如何给卖家配置二级域名?为每一个卖家的店铺都在DNS服务器上配置一个二级域名显然是不现实.所以我们要通过程序来实现二级域名的访问.


二.实现原理:
  1. 给DNS配置泛域名解析,也就是在DNS服务器上配置一条: “*.一级域名” 的主机记录,假如您申请的以及域名是 legengshop.com,那在DNS服务器上配置的泛域名解析的主机记录就是 *.legendshop.com 配置泛域名解析的意义就在于让所有的 *.legendshop.com 访问都映射到同一个IP

    关于配置DNS的泛域名解析请参考 DNS泛域名解析

  2. 编写一个过滤器来拦截所有的请求,然后对拦截的请求进行解析,转换成访问卖家店铺首页的url,然后在过滤器进行转发.

    • 如可口可乐在您的电商平台上开了一个店铺,并且可口可乐希望用户可以通过 coco.legendshop.com 访问到他们的店铺首页.但是实际访问可口可乐店铺首页的url却是: www.legendshop.com/shop?shopId=1 ,这时候我们编写的这个过滤器就需要把用户在浏览器输入的 coco.legendshop.com 变为 www.legendshop.com/shop?shopId=1 ,然后进行转发就可以进入到可口可乐店铺首页了.
    • 至于 www.legendshop.com/shop?shopId=1 这条url的含义,以及如何把 coco.legendshop.com 变为 www.legendshop.com/shop?shopId=1 请看下面的详细步奏说明吧!
三. 具体实现
  1. 数据设计

  一般来说,店铺信息应该在数据库有一张店铺表来保存店铺信息的,上面举例的链接 www.legendshop.com/shop?shopId=1 中的shopId=1,其实就是把店铺id通过url参数传到后台,然后后台程序通过这个店铺ID找到数据库对应的店铺数据,再填充到页面,最后将页面响应给用户,那么用户访问的就是店铺首页.数据库的店铺表如下:

shop_id shop_name sec_domain_name shop_info
1 可口可乐 c
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值