`
bardo
  • 浏览: 377731 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D1407912-ab64-3e76-ae37-b31aa4afa398
浅述PHP设计模式
浏览量:11796
9d6df9f7-91da-3787-a37c-0e826525dd5d
Zend Framewor...
浏览量:10097
85b628bd-a2ed-3de2-a4b1-0d34985ae8b6
PHP的IDE(集成开发环...
浏览量:9480
社区版块
存档分类
最新评论

JSP中从URL中获取主域名

    博客分类:
  • JSP
JSP 
阅读更多
友情链接系统中统计点击进站数量,而进站只能是REFERR的URL.怎能从中找到不含二级域名的主域名呢?以下是完整的代码:
 private static String getDomainName(String ReferrURL)
 {

  if((ReferrURL==null)||((ReferrURL.trim()).length()==0))
   return "";

  if (ReferrURL.indexOf('/')<0)
   return "";
  
  StringTokenizer stDomain = new StringTokenizer(ReferrURL,"/");   
  int count = stDomain.countTokens();   
  String[] LinkArr = new String[count];   
  for (int i=0; i<count; i++){   
   LinkArr[i]=stDomain.nextToken();   
  }   
  
  String NewLink="";
  String DomainName=LinkArr[2];
  
  String nation ="ad,ae,af,ag,ai,al,am,ao,ar,at,au,az,bb,bd,be,bf,bg,bh,bi,bj,bl,bm,bn,bo,br,bs,bw,by,bz,ca,cf,cg,ch,ck,cl,cm,cn,co,cr,cs,cu,cy,cz,de,dj,dk,do,dz,ec,ee,eg,es,et,fi,fj,fr,ga,gb,gd,ge,gf,gh,gi,gm,gn,gr,gt,gu,gy,hk,hn,ht,hu,id,ie,il,in,iq,ir,is,it,jm,jo,jp,ke,kg,kh,kp,kr,kt,kw,kz,la,lb,lc,li,lk,lr,ls,lt,lu,lv,ly,ma,mc,md,mg,ml,mm,mn,mo,ms,mt,mu,mv,mw,mx,my,mz,na,ne,ng,ni,nl,no,np,nr,nz,om,pa,pe,pf,pg,ph,pk,pl,pr,pt,py,qa,ro,ru,sa,sb,sc,sd,se,sg,si,sk,sl,sm,sn,so,sr,st,sv,sy,sz,td,tg,th,tj,tm,tn,to,tr,tt,tw,tz,ua,ug,us,uy,uz,vc,ve,vn,ye,yu,za,zm,zr,zw";
  String kindvprov="ac,ah,biz,bj,cc,com,cq,edu,fj,gd,gov,gs,gx,gz,ha,hb,he,hi,hk,hl,hn,info,io,jl,js,jx,ln,mo,mobi,net,nm,nx,org,qh,sc,sd,sh,sn,sx,tj,tm,travel,tv,tw,ws,xj,xz,yn,zj";
  int NodeCount=2;
  
  StringTokenizer st = new StringTokenizer(DomainName,".");   
  count = st.countTokens();   
  String[] NewLinkArr = new String[count];   
  for (int i=0; i<count; i++){   
     NewLinkArr[i]=st.nextToken();   
  }   
  //如果倒数第一个,即主域名标识是国家标识
  if (nation.indexOf(NewLinkArr[NewLinkArr.length-1])>=0)
  {
   //先确定有三个节点
   NodeCount=3;
   //如果国家前一标识不是类型或省级标识,则只有二个节点
   if (kindvprov.indexOf(NewLinkArr[NewLinkArr.length-2])<0)
    NodeCount=2;
  }
  else //否则倒数第一个,即主域名标识是类型标识
  {
   //也只有两个节点
   NodeCount=2;
  }
  //假如类型标识即是主域名,则实际节点数一定小于当前得到的结果
  int istart=NewLinkArr.length-NodeCount;
  if (istart<0)
   istart=0;
  //根据节点数定出的开始节点,取出主域名,这样就不会取到二级域名
  for (int i=istart; i<NewLinkArr.length; i++)
  {
   //如果开始节点是WWW,象www.net.cn,www.com.cn,则www根据节点数确定取与不取
   if (!NewLinkArr[i].equalsIgnoreCase("www"))
   {
    if (NewLink.length()>0)
     NewLink += ".";     
    NewLink +=NewLinkArr[i]; 
   }
   else
   {
    //如果是www,并且节点数为3,这类域名必须要有WWW才能在数据库的URL中找到唯一.
    if(NodeCount==3)
    {
     if (i==istart)
     {
      if (NewLink.length()>0)
       NewLink += ".";     
      NewLink +=NewLinkArr[i]; 
     }     
    }
   }
  }

  return NewLink;  
 }

分享到:
评论

相关推荐

    JSP中得到几种得到路径的方法

    在Java Server Pages(JSP)开发中,获取各种路径是构建动态网页和处理请求的关键步骤之一。本文将深入探讨在JSP中获取不同路径的方法,包括它们的应用场景、实现方式以及可能的影响,帮助开发者更好地理解和掌握JSP...

    从HttpServletRequest获取各种路径总结

    ### 从HttpServletRequest获取各种路径总结 #### 一、概述 在Java Web开发中,通过`HttpServletRequest`对象可以获取客户端请求的各种信息,包括但不限于路径信息。这些路径信息对于开发者来说至关重要,尤其是在...

    jsp空间使用手册

    - 如果有现成的数据库,需要先在本地导出,再通过管理工具导入到JSP空间提供的数据库中。 - 修改数据库名称为服务提供商指定的名称。 3. **修改数据库连接语句**: - 在程序代码中更新数据库连接字符串,例如: ...

    简单的JSP探针

    2. **访问方式**:提供访问JSP探针的URL,通常是服务器域名/应用上下文路径+jspcheck.jsp。 3. **结果解读**:解释探针显示的各项信息,如何判断环境是否正常,性能指标的合理范围等。 **总结** "简单的JSP探针"是...

    微信公众号支付案例(jsp)

    3)公众号设置了安全域名,安全接口url, 支付页面url 4)按目录,拷贝jar文件, java文件,jsp文件到目标工程 5)修改 src\wxpay\WeChat.java 中公众号配置、商户信息配置 6) pay_1.jsp 为发起支付页面,需按提示...

    jsp 考试题(有详细答案)

    2. 访问Web应用时,正确的URL格式应包含域名和路径。例如,要访问名为`my.jsp`的应用,正确的地址应该是`http://My_web.com:8080/my.jsp`,其中`8080`是默认的HTTP端口号。 3. `&lt;a&gt;`标签用于创建超链接,其参数`href...

    jsp中kindeditor的用和遇到的问题总结附上项目配置

    在Java服务器页面(JSP)开发中,引入富文本编辑器是常见的需求,KindEditor是一个功能强大、易于使用的开源富文本编辑器。本篇文章将详细阐述如何在JSP项目中集成KindEditor,以及可能遇到的问题及解决方案。 首先...

    开发技术 Web开发,防止url注入

    URL注入是一种常见的安全攻击手段,攻击者通过在URL中插入恶意代码或数据来获取未授权访问权限,从而达到非法获取数据、篡改系统设置或执行其他恶意操作的目的。这种攻击方式利用了Web应用对输入验证不足的问题,...

    正则匹配URL.txt

    本文将围绕“正则匹配URL”这一主题展开,详细解析如何使用正则表达式来识别和匹配URL,特别是针对JSP环境下URL的获取与处理。 ### 正则表达式的应用背景 在Web开发中,URL(统一资源定位符)是网站资源的地址标识...

    使用Tomcat配置域名

    配置域名在Tomcat中是将一个特定的URL与部署在服务器上的应用关联起来的过程,这对于多站点托管或者为不同项目提供独立访问入口至关重要。下面将详细解释如何使用Tomcat配置域名。 首先,我们需要理解域名配置的...

    ajax+jsp网页时时刷新提示

    在网页开发中,实时刷新提示是一项重要的功能,它能让用户即时获取到服务器端的数据更新,无需手动刷新整个页面。本教程将围绕“Ajax+JSP”这一技术组合,讲解如何实现网页的实时刷新提示。 Ajax(Asynchronous ...

    jsp源码实例3(获取jsp各种参数).docx

    在本文中,我们将深入探讨如何使用JavaServer Pages (JSP) 获取不同的请求参数。通过一个名为`ShowCGIVariables`的JSP源码实例,我们可以了解如何访问和展示与标准CGI(通用网关接口)变量相关的信息。这个实例是一...

    JSP习题集包括注解

    - **参数**:位于URL中的查询字符串,用于传递额外信息给服务器。 - **锚点**:用于跳转到页面内的某个具体位置。 **B. 服务器名称**并不是URL的一个组成部分,正确的应是**IP地址或域名**。 **10. 动态网页与静态...

    JSP实验运算结果

    1. **Server.xml配置**:打开`conf`目录下的`server.xml`文件,可以配置端口、域名等信息。 2. **Web.xml配置**:位于`conf`目录下的`web.xml`文件用于配置Web应用的基本设置,如监听器、过滤器等。 3. **Context....

    [图片动画]ttcodes JSP图片小偷 v1.0_jsp_tupian.rar

    【标题】:“ttcodes JSP图片小偷 v1.0_jsp_tupian”是一个基于JSP技术开发的图片抓取工具,主要用于从互联网上批量下载和收集图片资源。这个程序能够帮助用户快速获取网络上的图片,从而节省手动下载的时间和精力。...

    关于JSP做网站的经验总结

    在Windows系统中,可以在`C:\WINDOWS\system32\drivers\etc\hosts`文件中添加域名映射记录,例如: ``` 127.0.0.1 localhost 192.168.0.72 www.qzn.com ``` 这样就可以通过`www.qzn.com`来访问本地服务器了。 ###...

    外网访问JSp项目的完整部署

    在IT行业中,部署一个可以被外网访问的JSP项目是一项常见的任务,涉及到服务器配置、Web服务集成以及域名解析等多个环节。在这个过程中,"IIS+Tomcat"的组合经常被用于实现这样的需求,因为IIS(Internet ...

    python之了解url网址相关内容

    在Python中,处理URL的相关库,如`urllib.parse`,可以帮助我们解析、构建和操作URL。 1. **URL的结构** - **协议**:URL的开头部分定义了数据传输的协议,最常见的是HTTP(超文本传输协议)和HTTPS(安全版的HTTP...

Global site tag (gtag.js) - Google Analytics