1.获取客户端ip地址( 这个必需年夜客户端传到后台): jsp页面下,很简单,request.getRemoteAddr() ;
: |+ W3 }; O4 H) c/ C5 U 因为系统的VIew层是用JSF来实现的,是以页面膳缦慊法直接获得近似request,在bean里做了个强制转换
) U, i& Q1 U0 s( q x9 Y public String getMyIP() {
1 r. g' f4 J8 c/ T: L try {
" k1 m8 c/ O, g, t! `& ]0 o: W& P FacesContext fc = FacesContext.getCurrentInstance();! r5 g6 R) D& T
HttpServletRequest request = (HttpServletRequest)fc.getExternalContext().getRequest();
' V* m4 t1 m) o, o5 F return request.getRemoteAddr();; `+ ~. M" }) O$ s0 o0 w
}. }. T9 B8 C9 |
catch (Exception e) {
4 D3 a1 E+ F$ E* Y1 e. c e.printStackTrace();! F; N; h3 z. Q& {7 c7 X' V
}
& M, ?) J" y" x* D( d: ? return "";
$ i$ c% Z0 A% S& h, _. g }5 a: y1 q2 |) k
(测试经由过程)
* \: n e; Q6 Y 2.获取客户端mac地址# z3 Y" L3 @- E8 ^" g
挪用window的呼吁,在后台Bean诚恳现 经由过程ip来获取mac地址。体例如下:, P" N* g6 s2 ?) y
public String getMACAddress(String ip){
- G0 V0 W* u" V% H/ N String str = "";8 c1 S$ _) k5 p+ t3 {$ W
String macAddress = "";
( ^- e: x% _5 f# E* f- Y try {2 f7 B/ I5 [/ T7 a6 ?" d
Process p = Runtime.getRuntime().exec("nbtstat -A " + ip);3 W6 r3 }9 w7 b/ }
InputStreamReader ir = new InputStreamReader(p.getInputStream());" q* r' d) z$ V, f: t& {
. @* R7 o* B& T" _6 _% W2 k- p
LineNumberReader input = new LineNumberReader(ir); |