java开发手机网站,怎么判断用户的手机类型?或者是浏览器类型?

java开发手机网站,怎么判断用户的手机类型?或者是浏览器类型?我看像天极网,宝软网都可以判断出登陆手机型号,比如用iphone登陆的手机天极网,就会显示是iphone。。
这是如何做到的~还有不同手机的页面显示怎么弄?弄成不同的css?

用户访问会带上其浏览器和系统相关信息,放在user-agent里面,比如:user-agent="Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10"

很显然这段代码表示用户使用的设备是iPad,系统是iPhone OS 3.2

一般做wap最少会做2套页面,一套是为普通手机适配的纯文本页面,一套是为iphone或android这样的设备适配的高级版