1.获取客户端ip地址( 这个必需年夜客户端传到后台): jsp页面下,很简单,request.getRemoteAddr() ;
- ~% L" l8 G& D$ i0 n0 T( r- A! V; G 因为系统的VIew层是用JSF来实现的,是以页面膳缦慊法直接获得近似request,在bean里做了个强制转换2 D) |1 @) A; @
public String getMyIP() {
9 J" s; o6 H% M G2 R( [ try {
" E, L# u2 g4 O W FacesContext fc = FacesContext.getCurrentInstance();
. w" }9 A1 j- q4 w! B' G HttpServletRequest request = (HttpServletRequest)fc.getExternalContext().getRequest();
, c4 W" T, a1 L1 X4 T6 u/ _" h return request.getRemoteAddr();) L7 E; \5 G2 A/ X# v" ?
}
# b4 Y' A" B; c1 u+ [ catch (Exception e) {( U* j& E2 m$ Z/ D; @0 S6 U; a1 v
e.printStackTrace();
4 q$ [2 d: q' ^" U" d% ` }- E& k4 H/ K! S5 k
return "";) ^- m" p4 C) j4 I/ O* o
}: }( |$ k. o" N* M$ @
(测试经由过程)
% z- X: i, M) {& m 2.获取客户端mac地址
. Z% m' A2 `9 t* [ 挪用window的呼吁,在后台Bean诚恳现 经由过程ip来获取mac地址。体例如下:
w9 A4 ~$ N: |- v6 K' ` public String getMACAddress(String ip){! F! a7 v+ K* A: B" @ i* ?
String str = "";
0 p' i0 X3 y/ x% s! P String macAddress = "";
6 g! J7 G3 ^! u2 s try { K3 j7 N j0 C K8 u
Process p = Runtime.getRuntime().exec("nbtstat -A " + ip);
) B1 Q, }+ W8 x5 f7 U* g6 U InputStreamReader ir = new InputStreamReader(p.getInputStream());) y/ X- m! q5 G5 A, I3 ~/ D
3 n; r1 ~8 O: C% o- [: r* M- A/ Y LineNumberReader input = new LineNumberReader(ir); |