该用户从未签到
|
表单处理
& c, x5 g! @# |1 J: ? 1)如何获得请求参数值。
2 V; c A/ z& m, y0 T) V( B; J9 A a,String request.getParameter(String paraName); }' O5 N- e# k; q" m% M+ q$ ~
要注意的问题:) ~( ?: L3 ~( y
如果paraName与实际的请求参数名不一致,
4 k! R+ x3 K& F, P 则返回null。
+ u. ^" i, W( @. y 如果没有输入参数值,则返回""。3 l3 D3 K: F9 J8 G; g" u0 e
b,String[] request.getParameterValues(String' m$ |; Y. c# ~: r+ y& }0 r
paraName);
' R# b6 I3 q) z! c' K$ U: n* F! j 用在有多个请求参数名相同的情况下使用。1 D/ j1 {3 O( h, I
比如 ?interest=fishing&interest=cooking& J8 W. u+ s" a, W# ^
2)如何处理表单中的中文 z! `5 D. ~6 b& a! |* V& P
a,浏览器会如何对表单中的数据进行, c4 y* o( u8 r- l( J! p
编码?
Y! B6 j5 h% O4 @& C 当表单采用post方式提交时,浏览器会按照
, ?) c% {0 m. Y 打开该表单所在的页面的编码来对表单中的
2 z3 C; L0 v4 v$ r* `9 y 数据进行编码。
, }5 K- t" X1 H+ ? b,在html文件当中,添加以下代码的作用
( B0 K! B4 r# \ }' M4 b <meta http-equiv="content-type" content=
/ \ L+ v* U- C" n, D "text/html;charset=utf-8">
- q, `4 c: i+ j3 K& [ 作用1:模拟http消息头(content-type),' J# c0 O% ]# ]& r
让浏览器以utf-8的编码格式来打开该页面
+ x4 _8 d3 G4 N( N* o- B% D (要确保html文件本身确定是使用utf-8保存的)。; B9 K0 w. `4 R8 j" i
作用2: 确保浏览器按指定的编码来对
3 S2 S; E" M8 o9 ~( c 表单中的数据进行编码。
/ R7 O5 a( `7 y7 @7 E" K4 M c,解决方案:7 W: o0 N6 a2 R: _2 I! ]3 a. i
step1:
* |) R% O, W8 v; j7 V" f 在html文件中,添加
/ T# `, W; T0 F. N D$ Y <meta http-equiv="content-type" content=4 N, I( o8 W2 E) d( n- d, L
"text/html;charset=utf-8">
, l7 v2 U! z3 H8 U# h7 a; q 另外,表单的提交方式必须是post。. w. R8 C) }. t6 x% Q
step2:
' c7 K0 ^8 P( b6 J6 v+ R( Y( m1 v 在服务器端,使用servlet读取表单中的+ z4 X0 A/ b ?0 ]' H/ w
请求参数时:
! m4 @; e- A& U, L' O7 G: o request.setCharacterEncoding("utf-8");
2 B* z( A7 ^! _3 G% v 这行代码的作用:设置解码时的编码格式。9 n+ M7 |2 J1 I) V( F3 `
/ Q/ d, M/ m1 b( y" m
如果servlet输出中文,要添加如下代码。3 E0 P8 g- Y/ B. {7 e( c
response.setContentType(+ b& \: t' y' a& j7 `% B
"text/html;charset=utf-8");7 K' _$ ?. _6 e7 N& W
这行代码的作用:; q ~) _& a* \/ ^) b5 F6 U6 l. w
作用1:指定out.println输出时所使用的编码。
I6 O* ?, l& e! _4 X& n( M 作用2:生成一个消息头
: K5 Q4 I5 B+ | I2 X; Z content-type:text/html;charset=utf-8
! u" o, \. N6 t# i 告诉浏览器,返回的数据类型是html,编码是# \' L; X" Q5 ?& P' g
utf-8。这样,浏览器一定会以指定的编码来( b' T* {3 c$ X
显示该页面。+ \5 c9 }3 o0 \" }
5 N. K( n4 Z( _ Z9 r
|
|