该用户从未签到
|
表单处理
" p7 l" Z; b4 @; u+ b0 j 1)如何获得请求参数值。* M( h* q' q9 S9 r# L0 H
a,String request.getParameter(String paraName);
7 B2 E% u2 z- } R8 K 要注意的问题:5 c/ q# O6 X; a. d: {" J
如果paraName与实际的请求参数名不一致,1 H0 V3 O- q* ^" r
则返回null。
' @6 g O+ V7 a6 a4 {' A 如果没有输入参数值,则返回""。. R7 \! r+ }+ @' _
b,String[] request.getParameterValues(String
) B# V% j2 U4 q& [+ W! \: A paraName);
! O1 Y$ H* i( y/ C6 K) S' f( k& p 用在有多个请求参数名相同的情况下使用。
- f5 H" M5 ?7 a! v% V 比如 ?interest=fishing&interest=cooking
# e, v4 J- }# w/ u 2)如何处理表单中的中文
: ?8 E! K9 ?; Q$ k, X1 p a,浏览器会如何对表单中的数据进行
# U. Y3 A8 e# z# {1 f) `3 N ^ 编码?
% N0 h n# q$ j 当表单采用post方式提交时,浏览器会按照
& ?7 O) J, O' V: x- k 打开该表单所在的页面的编码来对表单中的( G4 Q" |( T; q- E% ?: V
数据进行编码。
: @. U1 w. c6 n. ^8 C, t b,在html文件当中,添加以下代码的作用
2 Q d3 Q6 X4 A/ Y3 Y: Z& U" \ <meta http-equiv="content-type" content=" V' V* S- ~8 a, C
"text/html;charset=utf-8">
" o$ h7 C5 P$ \" G0 M9 j 作用1:模拟http消息头(content-type),& J) j: I w% t6 y& ^" g' f0 n' ?
让浏览器以utf-8的编码格式来打开该页面
0 d% w7 {/ Q) a# u8 T! M5 A4 T6 P/ x (要确保html文件本身确定是使用utf-8保存的)。
9 k& t9 K: L- N% d6 _$ M5 v 作用2: 确保浏览器按指定的编码来对" a) h7 m' u) ~
表单中的数据进行编码。
) e- k* M( t3 @. t& H) }' Z c,解决方案:. r& A( }+ G% M5 A1 S
step1:
- h7 P2 u! T- x3 k4 b2 @: }( t 在html文件中,添加# D! ]" g0 I1 R
<meta http-equiv="content-type" content=
/ s' R) o, j- I* C2 q! r "text/html;charset=utf-8">8 d5 w) C. H' S5 {
另外,表单的提交方式必须是post。* w) c, z v% A; a/ C6 S# y+ B; ^
step2:0 x' [" s8 C+ V$ w
在服务器端,使用servlet读取表单中的
0 J3 J7 H! T7 e 请求参数时:
3 \5 K3 d, I1 h5 c$ ` request.setCharacterEncoding("utf-8");
# P& r2 [& u1 b- K- q2 I 这行代码的作用:设置解码时的编码格式。
- f$ I! e- d# h6 ^$ r# y u6 p+ q, q/ t% {
如果servlet输出中文,要添加如下代码。
' i* t9 K1 C9 `. F9 ~ response.setContentType(- v- z2 j9 n3 q4 M' \6 y/ W* u2 _
"text/html;charset=utf-8");5 A* K4 I" A- o" n3 |& x) b! y; A6 U
这行代码的作用:
: z& P* N1 \: M 作用1:指定out.println输出时所使用的编码。
% c+ f) w- j0 r$ O/ U8 `* f 作用2:生成一个消息头: ~3 W7 ]3 O/ Y( x6 ^+ r# r
content-type:text/html;charset=utf-8* |( |5 Y! H! X- i% A& u7 r' N
告诉浏览器,返回的数据类型是html,编码是( x% |4 t: f! h' y' F* @7 ]. X8 w5 L
utf-8。这样,浏览器一定会以指定的编码来
) }; H+ D! y" O2 T2 T" t [ 显示该页面。2 G6 }6 Z" d/ L: y
) B9 B. G/ ^3 l4 j! R3 S& ?4 m# ^ |
|