文章列表
服务器端用的是UTF-8编码,页面的QueryString用的是GBK编码,导致了页面的QueryString用GBK编码进行URLEncoder,而服务器用UTF-8进行URLDecoder,导致乱码问题。 如果我采用 new String(queryString.getBytes("UTF-8"),"GBK") ,问题还会存在,因为UTF-8每个汉字占用3字节,GBK每个汉字占用2字节。 最后导致转换的文字不符合。比如如果是两个汉字,调用getBytes("UTF-8")转换成UTF-8,会是6个字节,重组GBK字符串的时候会变成3 ...
个人认为下面是Java实现的最优的单例模式
这种实现方法采用内部静态类,
只在第一次调用getInstance方法的时候才实例化单例对象
如果不调用,就不会进行单例对象的实例化,
因此,既实现了延迟实例化,又不需要线程同步
public class SingleTon {
private SingleTon(){}
public static SingleTon getInstance() {
return SingleTonHolder.instance;
}
private static class Singl ...
哎,搞了一上午,文件老是上传不上去,害的我把项目代码重写一遍,结果最后还是一样的结果。无奈下换了firefox,结果一切OK。
哎,一直都在用chrome,杯具啊,大家以后注意啊,chrome文件上传有bug
同一个浏览器窗口,由一个浏览器窗口派发出来的子窗口,也有可能不共享同一个会话(session)。
例如几种访问方式 127.0.0.1|localhost|192.168.1.1|…… 虽然都是同一台机器,但是也不是同一个session。
会话实际上是给客户端cookie一个值,这个唯一值是去服务器查找session对象,这个客户端cookie的值,也和访问的url相关的,这是个很细节的问题,今天在这个问题上卡了很久。
所以,大家谨记,在应用中,要保持访问URL的一致性。
环境:
前端控制器:Nginx
servlet容器:resin
最近公司想搞集群,但是目前市面上做Nginx集群的大多都是根据用户ip永远访问一台机器,如果这台机器down掉了,那所有的状态就没有了。虽然几率很低,但是还是追求完美的好一点。
下面开始说一下我的思路。
只是简单的以用户登陆状态为例。
建立数据库表,状态表,表中有三个字段, 标识id、用户名、和登陆状态(0为未登录,1为登陆)
用户登陆的时候会把这个用户以key为customer的标识存入session。
创建一个session的监听器。
用户首次登陆,客户端存入cookie,cookie的值 ...