|
该用户从未签到
|
表单处理
' } k* l3 q& @' Y( T3 N 1)如何获得请求参数值。
6 x5 h6 _$ j% v3 p/ \' B a,String request.getParameter(String paraName);; V, q5 A! P4 K
要注意的问题:
0 g+ W7 M- S+ `4 A( V 如果paraName与实际的请求参数名不一致,
; g! h P/ K# ~+ e 则返回null。( G, K' o( x8 l8 h } Q3 C
如果没有输入参数值,则返回""。/ Y& w2 Y$ p' }, u
b,String[] request.getParameterValues(String( B5 N0 S2 H4 L4 B5 o
paraName);
6 n/ s# [ a' H) R; e- P 用在有多个请求参数名相同的情况下使用。/ w8 J `1 f7 ] y5 Z* m
比如 ?interest=fishing&interest=cooking' G9 T- D6 \6 w
2)如何处理表单中的中文
( P& N7 z4 Q, ^( ?, Q0 ` a,浏览器会如何对表单中的数据进行5 _/ a1 ~4 A5 I
编码?
0 C1 d& ]/ {* X 当表单采用post方式提交时,浏览器会按照$ x1 {, ^: W/ c1 l* h( L
打开该表单所在的页面的编码来对表单中的 Y6 M1 V9 D) h% m& J/ @$ u
数据进行编码。9 F6 H8 M! ?6 g
b,在html文件当中,添加以下代码的作用
- Y! g; r. R( N3 i, ? <meta http-equiv="content-type" content=
: Y7 j* \+ T- k/ |1 S2 A "text/html;charset=utf-8">
6 c6 ]! h( |. c; @8 t; g& i 作用1:模拟http消息头(content-type),
0 b( p+ k1 V: r4 a: z) y 让浏览器以utf-8的编码格式来打开该页面# q2 `1 X5 Z$ q- l
(要确保html文件本身确定是使用utf-8保存的)。
( ^* l, g! Z4 R; {0 h 作用2: 确保浏览器按指定的编码来对; Y8 [ |# i: {4 E# \6 P: h
表单中的数据进行编码。
4 C5 `* H' W0 }* D2 l# c c,解决方案:
* J! l$ }: ~2 Z! P# X& Q, }) h step1:) w7 p: d4 H: B! f* K$ A, B
在html文件中,添加( G7 K% B% [ c7 ~( _
<meta http-equiv="content-type" content=. \& Y6 T0 k7 Q3 e- t3 {
"text/html;charset=utf-8">
( H2 G1 X$ s X$ o+ C" H 另外,表单的提交方式必须是post。
; W; K* ~% |* X7 O( d! P' F' D step2:
7 j$ E7 C7 x8 F 在服务器端,使用servlet读取表单中的
: a( q f! [2 h3 h, G4 Y% L 请求参数时:
. I2 `1 ^8 [: L; I# {* y- p request.setCharacterEncoding("utf-8");
2 ^3 A1 [( K7 D% Q& ~4 g7 B. f 这行代码的作用:设置解码时的编码格式。8 J- z7 I1 s* {$ I" u1 a+ B
( |5 Y- y, r# m& Z" g
如果servlet输出中文,要添加如下代码。
5 [! f% q$ x" B Q ?/ g* Z" ~ response.setContentType(
" `8 W5 o% u3 [( |. I7 S7 W "text/html;charset=utf-8");
$ U* C& V& Z/ W# G4 D 这行代码的作用:
) d0 K+ y/ j8 o+ b 作用1:指定out.println输出时所使用的编码。. ]0 w. g5 C" _) l
作用2:生成一个消息头
9 V( d" `/ _7 |8 p/ @7 n content-type:text/html;charset=utf-8
: ^" z& o! A2 N2 a- w# f8 { 告诉浏览器,返回的数据类型是html,编码是
0 H \) q1 v8 E7 b1 m utf-8。这样,浏览器一定会以指定的编码来
9 Q4 o a. f. L9 E0 V, m; R9 m/ j% z 显示该页面。" ]: j8 v: h& l) l7 ]
' f D2 n% n8 G" n |
|