|
该用户从未签到
|
1)如何获得请求参数值。
. m+ B( j+ N: Z0 V a,String request.getParameter(String paraName);
: ^5 b8 d9 s+ Y: t1 D 要注意的问题:5 `" A# t, X$ y6 m, c7 y, Y
如果paraName与实际的请求参数名不一致,
8 l6 h, {4 b/ K& H1 X9 w 则返回null。# C; O; k2 r j0 D% N' c; w
如果没有输入参数值,则返回""。. l' ?* s; [9 G+ S
b,String[] request.getParameterValues(String* j2 _& e2 F( ]% x3 A% j J- O
paraName);
4 G. C) Y3 k* H1 p; z6 I 用在有多个请求参数名相同的情况下使用。
1 {9 _; v+ A) @ 比如 ?interest=fishing&interest=cooking3 i/ x6 d" l) w$ v
2)如何处理表单中的中文' T& j1 C" }- k& D, k1 r* B" w
a,浏览器会如何对表单中的数据进行
5 E6 d" Q; q+ L0 t5 A6 J 编码?6 K$ ]7 y& ?" J) j: P {
当表单采用post方式提交时,浏览器会按照, j! w1 E; z q) W/ b& G( S7 T
打开该表单所在的页面的编码来对表单中的
5 X" I$ y6 I! M 数据进行编码。2 c2 x6 K9 B S$ X* W/ ^; U* F
b,在html文件当中,添加以下代码的作用
3 C: V2 t0 ]; V <meta http-equiv="content-type" content=
7 G h; R1 i4 ^, p+ w "text/html;charset=utf-8">
7 Y9 i: S7 F9 @7 S+ a1 ?0 T7 z 作用1:模拟http消息头(content-type),, G; Q4 a) [4 C2 D
让浏览器以utf-8的编码格式来打开该页面
* m' L2 `% ~) s( A) A) A! k (要确保html文件本身确定是使用utf-8保存的)。3 a$ `. X; V6 @9 _: ^- T8 R
作用2: 确保浏览器按指定的编码来对' e, y) ^" N5 O1 L
表单中的数据进行编码。' m0 z9 s. }' E* R, H& ^
c,解决方案:
}4 C; [& v1 { step1:
8 y; C* x0 ^# }1 a 在html文件中,添加
. s/ `% D$ m6 z) u4 ? <meta http-equiv="content-type" content=
# V9 H$ V2 L) Z "text/html;charset=utf-8">
' x8 o3 ]. g1 _, v4 B' f 另外,表单的提交方式必须是post。* M( U3 a8 q! Q
step2:8 E K1 ^7 \5 M: j# D; `) X
在服务器端,使用servlet读取表单中的
4 t& A/ K8 X1 |. G4 J6 Z1 u/ r 请求参数时:* ], g& j3 V7 f
request.setCharacterEncoding("utf-8");9 H% q* B0 h+ K1 W- p9 b0 o
这行代码的作用:设置解码时的编码格式。8 |9 L# |: d6 ?
/ m! e! C3 y4 M2 P( T7 d
如果servlet输出中文,要添加如下代码。
8 b0 }8 b, k9 g" n" i9 c response.setContentType(
( T3 g5 P1 C: A* w: c "text/html;charset=utf-8");! P3 M {. z5 F8 s0 W k4 d
这行代码的作用:
5 O9 m5 s" E( a! K# F& J4 e 作用1:指定out.println输出时所使用的编码。
/ H- o+ m- h2 ?* M6 W- N: e 作用2:生成一个消息头
5 V7 ]" q0 w: h: {% C1 `0 C content-type:text/html;charset=utf-81 X/ X* F1 b$ l
告诉浏览器,返回的数据类型是html,编码是. K6 N7 P5 q; {. R' n4 Y
utf-8。这样,浏览器一定会以指定的编码来
& |5 L& X7 t, |/ R: q 显示该页面。
7 m3 n+ a8 i, Q7 z& A% C/ B9 \: G% z3 t! g
|
|