通过 Apache 配置 Rewrite 实现网络服务的 co-branding
2010-02-24 00:00:00 来源:WEB开发网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
图 3. 贴牌界面 2
最后,提醒读者最好也处理从 session 对象中读不出 branding 信息的情况。例如 brand 为 null 或者 empty string 的时候也显示一套默认的 UI 要素,使得用户就用 www.CRL.com 访问能看到你的网络服务默认的 UI 样式。通常这是你作为网络服务提供商自己本身的品牌 UI。
结束语
本文讨论了如何利用 Apache 的 rewrire module,重写 URL 将 branding 信息变成 JSP 页面请求的参数,再通过 JSP 对于 session 对象的操作来保存和提取用户的 brand 信息,最后显示自定义的 UI 的技术方案来实现网络托管服务中的 co-branding 用户需求。
- ››通过远程管理更改ESXi主机root用户密码
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››apache rewrite将指定URL转向指定的几个服务器
- ››通过JS得到当前焦点(鼠标)的坐标
- ››通过Mysql命令行语句来导入、导出数据库文件
- ››配置MySQL出错The service could not be started....
- ››配置apache虚拟主机
- ››通过查看mysql 配置参数、状态来优化你的mysql
- ››apache配置文件httpd.comf部分参数说明
- ››Apache+Mysql+PHP+phpMyAdmin+Mac OS X 10.7 Lion...
- ››通过oracle的sys密码重置其它密码
- ››apache+tomcat负载均衡_项目实例
更多精彩
赞助商链接