二级域名 在 网站的使用

 二级域名有返域名效果即可,url重写并非必须.

通过过滤器将主机头信息的用户名丢到参数里,对后台程序实现透明效果.
例如
public void doFilter(ServletRequest request, ServletResponse response,   
  1.                       FilterChain filterChain) {   
  2.    try {   
  3.      javax.servlet.http.HttpServletRequestWrapper reqw = new javax.servlet.   
  4.          http.HttpServletRequestWrapper(   
  5.              (HttpServletRequest) request   
  6.          ) {   
  7.        public String getParameter(String name) {   
  8.          if ("username".equalsIgnoreCase(name)) {   
  9.            //从主机名头信息重获取信息   
  10.            String hostName = this.getServerName();   
  11.            if (hostName != null && hostName.endsWith("blog.sohu.com")) {   
  12.              String userName = hostName.substring(0,   
  13.                                                 hostName.length() -   
  14.                                                 "blog.sohu.com".length());   
  15.              System.out.println("解析出来的用户名为: " + userName);   
  16.              if (userName != null && userName.length() > 0) {   
  17.                return userName;   
  18.              }   
  19.            }   
  20.            return "www";   
  21.          }   
  22.          return super.getParameter(name);   
  23.        }   
  24.   
  25.      };   
  26.      filterChain.doFilter(reqw, response);   
  27.    }   
  28.    catch (ServletException sx) {   
  29.      filterConfig.getServletContext().log(sx.getMessage());   
  30.    }   
  31.    catch (IOException iox) {   
  32.      filterConfig.getServletContext().log(iox.getMessage());   
  33.    }   
  34.  }  
 public void doFilter(ServletRequest request, ServletResponse response,
                       FilterChain filterChain) {
    try {
      javax.servlet.http.HttpServletRequestWrapper reqw = new javax.servlet.
          http.HttpServletRequestWrapper(
              (HttpServletRequest) request
          ) {
        public String getParameter(String name) {
          if ("username".equalsIgnoreCase(name)) {
            //从主机名头信息重获取信息
            String hostName = this.getServerName();
            if (hostName != null && hostName.endsWith("blog.sohu.com")) {
              String userName = hostName.substring(0,
                                                 hostName.length() -
                                                 "blog.sohu.com".length());
              System.out.println("解析出来的用户名为: " + userName);
              if (userName != null && userName.length() > 0) {
                return userName;
              }
            }
            return "www";
          }
          return super.getParameter(name);
        }

      };
      filterChain.doFilter(reqw, response);
    }
    catch (ServletException sx) {
      filterConfig.getServletContext().log(sx.getMessage());
    }
    catch (IOException iox) {
      filterConfig.getServletContext().log(iox.getMessage());
    }
  }



应用程序里用 request.getParameter("username") 来获取用户名即可.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值