mobile web for no cookie session

由于一些低端手机不支持cookie,造成登录不上,在网上也查过都用url重写(a.普通方式实现 b.jstl-<c:url/> c.webwork-<ww:url/>)来实现,要是若大的项目都这么来工作量会很大,最终找到了一个解决方法采用resin url rewrite来传递jsessionid,以下配置为resin4.0.23

1.resin.conf默认配置中,jsessionid以cookie的方式在页面传递,即:

<session-config> 
  <enable-url-rewriting>false</enable-url-rewriting> 
</session-config>

2.使用url rewrite有两种方式:

  a.http://www.test.com/login.action;jsessionid=asdfasdfg2312?...

  这种是将jsessionid放在action后面,需要修改resin/conf/resin.conf中的配置为: 

<host id="" root-directory="/usr/work/deploy/mobile">
  <web-app id="/" root-directory=".">
    <session-config>
      <!--<reuse-session-id>true</reuse-session-id>-->
      <enable-cookies>false</enable-cookies> 
      <enable-url-rewriting>true</enable-url-rewriting> 
    </session-config>
  </web-app>
</host>

  b.http://www.test.com/~jid=asdfasdfg2312/login.action?... 

  还要在resin/conf/resin.conf中增加session-url-prefix的设置:

<cluster id="app-tier">
  ...
  <session-url-prefix>/~jid=</session-url-prefix>
  ...
  <host id="" root-directory="/usr/work/deploy/mobile">
    <web-app id="/" root-directory=".">
      <session-config>
        <!--<reuse-session-id>true</reuse-session-id>-->
        <enable-cookies>false</enable-cookies> 
        <enable-url-rewriting>true</enable-url-rewriting> 
      </session-config>
    </web-app>
  </host>
</cluster>

参考:

http://www.caucho.com/resin-4.0/admin/deploy-ref.xtp#sessionconfig

http://www.blogjava.net/aoxj/archive/2007/12/05/165538.html

转载于:https://www.cnblogs.com/wen12128/archive/2012/08/15/2639741.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值