该用户从未签到
|
表单处理! X* y( m4 }9 ~; N! g
1)如何获得请求参数值。6 u8 `% g5 o# Y( s. Q& Z
a,String request.getParameter(String paraName);
6 o6 K7 E# m$ @/ }0 A 要注意的问题:
, U* A# {+ c# z1 y0 z 如果paraName与实际的请求参数名不一致,/ B, ]! @1 x$ r3 U$ e7 k8 ]! V
则返回null。
& y! f- |! n4 @; G; A. q6 v 如果没有输入参数值,则返回""。 d. C% i2 T7 }. Q' W
b,String[] request.getParameterValues(String
" t6 E- L8 d/ @& X paraName);
3 L0 G/ ]5 q, ?- ?$ I" X# N 用在有多个请求参数名相同的情况下使用。 x' l) B# ^- _3 Z; y
比如 ?interest=fishing&interest=cooking, U0 A! _+ ~" @& ~* r
2)如何处理表单中的中文
8 G( n+ H0 c7 X a,浏览器会如何对表单中的数据进行1 ~8 N* a( V9 u" p
编码?
4 j" @% I) b+ F6 m 当表单采用post方式提交时,浏览器会按照/ o5 M5 r- Z3 d% ]: C6 m
打开该表单所在的页面的编码来对表单中的; Z* p; T% K* `5 h9 r# A! m, D: X/ O
数据进行编码。
, G6 q" s# k* X! b5 Y8 p# u* I b,在html文件当中,添加以下代码的作用
' j6 _( \$ w* Q9 e; A0 ~, D <meta http-equiv="content-type" content=
7 M1 \1 r+ o: W- V* g9 Z "text/html;charset=utf-8">. f- e" a0 G/ g C+ ^
作用1:模拟http消息头(content-type),4 s4 U0 J" M$ l
让浏览器以utf-8的编码格式来打开该页面
9 w# t9 |/ y4 F5 F: V( [ (要确保html文件本身确定是使用utf-8保存的)。: o7 A3 j+ [) S9 [0 G) K6 V. j
作用2: 确保浏览器按指定的编码来对1 u* {4 Z7 `) N* a4 P2 g: v
表单中的数据进行编码。. A4 ?) ~/ U" \, t; G
c,解决方案:
$ H( ]% C3 T# P8 q step1:
& D* `7 R( k9 M* B/ `* d 在html文件中,添加
! |% q1 L) x1 `3 |8 o <meta http-equiv="content-type" content=. I/ i; W( |0 N( j. j! x
"text/html;charset=utf-8">, P" c% z/ y/ { u' h! U7 D9 k# \
另外,表单的提交方式必须是post。! M( j* _% |( r. }* J
step2:
/ M V" s6 v7 Q; P5 R8 L* o 在服务器端,使用servlet读取表单中的1 r! h; N% l5 ?; x: v5 q2 B2 o" z8 K3 K
请求参数时:
% ]' t- i+ s% D0 e7 m2 V; R request.setCharacterEncoding("utf-8");
* h. E7 k9 o* _$ G8 V. m9 i 这行代码的作用:设置解码时的编码格式。
1 C+ S7 @1 P. t3 p0 J
% \2 Y5 Z2 |8 g' B4 `8 d' v 如果servlet输出中文,要添加如下代码。
/ L; J! h& C/ X" o8 P8 C response.setContentType(% ?1 v; u* ~/ ]
"text/html;charset=utf-8");
# Q& e6 a" [/ g; _7 x 这行代码的作用:
5 n% v0 l# }$ W3 Y; j 作用1:指定out.println输出时所使用的编码。2 l; x0 h3 o& {2 U/ |* B9 C
作用2:生成一个消息头
0 T0 E) d5 _ L content-type:text/html;charset=utf-8
P& x& ]; d) D 告诉浏览器,返回的数据类型是html,编码是
7 q0 v5 J7 o: V utf-8。这样,浏览器一定会以指定的编码来
1 T% b. C4 k/ ]3 q! n4 { 显示该页面。
% ^; j) d. Z* V7 @, N
- O# ^! U# H3 c1 m/ O0 q% c |
|