WEB开发网
开发学院软件开发Java 通过 Apache 配置 Rewrite 实现网络服务的 co-bra... 阅读

通过 Apache 配置 Rewrite 实现网络服务的 co-branding

 2010-02-24 00:00:00 来源:WEB开发网   
核心提示: session.setAttribute("brand", brand);JSP 动态显示不同的 branding UI 元素在首页保存下来 branding 信息,网站其他各个网页就可以随时从 session 或者 cookie 中提取 branding 信息了,通过 Ap

session.setAttribute("brand", brand);

JSP 动态显示不同的 branding UI 元素

在首页保存下来 branding 信息,网站其他各个网页就可以随时从 session 或者 cookie 中提取 branding 信息了。然后根据不同的 branding 使用统一风格的品牌标示元素,。

例如,首页有个链接到 news.jsp,news.jsp 里代码如下 :

清单 8. 提取 branding 并动态显示的代码

 <%@page contentType=”text/html;charset=”UTF-8” pageEncoding=”UTF-8”%> 
 <% 
   String brand = (String)session.getAttribute("brand"); 
   String logoPath = brand + “/logo.gif”; 
 %> 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional // EN" 
 "http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd"> 
 <html> 
 <head> 
  
<title><%= brand%></title>
 
 </head> 
 <body> 
  <div id="popheader" 
  background = 'url(' + '<%= logoPath%>' + ')';></div> 
 </body> 
 </html> 

在例子中,从 session 中提取 branding 信息的代码就是这一行:

String brand = (String)session.getAttribute("brand");

网站标题因此可以换成 branding 里的公司名字:

<title><%= brand%></title>

也可以通过 brand + “/” + logo.gif 这样的方式来访问 Apache 服务器上不同公司目录下的 LOGO 图标,显示在网站上 :

<div id="popheader" background = 'url(' + '<%= logoPath%>' + ')';></div>

对于此文来说,我们 branding 用的是 mycompany,那么显示的图片应该就是 mycompany/logo.gif.

自此,网络服务的 co-branding UI 从技术上就已经实现了,剩下的就是用户需要设计自己自定义的 UI 元素了。

图 2. 贴牌界面 1
通过 Apache 配置 Rewrite 实现网络服务的 co-branding

图 3. 贴牌界面 2
通过 Apache 配置 Rewrite 实现网络服务的 co-branding

最后,提醒读者最好也处理从 session 对象中读不出 branding 信息的情况。例如 brand 为 null 或者 empty string 的时候也显示一套默认的 UI 要素,使得用户就用 www.CRL.com 访问能看到你的网络服务默认的 UI 样式。通常这是你作为网络服务提供商自己本身的品牌 UI。

结束语

本文讨论了如何利用 Apache 的 rewrire module,重写 URL 将 branding 信息变成 JSP 页面请求的参数,再通过 JSP 对于 session 对象的操作来保存和提取用户的 brand 信息,最后显示自定义的 UI 的技术方案来实现网络托管服务中的 co-branding 用户需求。

上一页  1 2 3 4 5 6 

Tags:通过 Apache 配置

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接