该用户从未签到
|
1)如何获得请求参数值。
0 d+ t: [4 N n/ v2 m4 f2 q5 X a,String request.getParameter(String paraName);2 |8 N0 [7 C9 |, S; i6 |3 K' j7 O
要注意的问题:
! ]8 A1 w; z; i1 U% @' ?: x) ^* G 如果paraName与实际的请求参数名不一致,, K7 q0 @: o6 X6 r# E+ g$ ^2 P( O
则返回null。3 g) V+ E6 d7 \1 ]2 b0 m2 o) x
如果没有输入参数值,则返回""。
+ h& T8 [; l0 u" {5 L9 u: {0 s k* _ b,String[] request.getParameterValues(String* P! O; q" Z: ?
paraName);* X& p) }! U3 n& S
用在有多个请求参数名相同的情况下使用。( U! @( H+ W- p' |% R6 |
比如 ?interest=fishing&interest=cooking7 d; n% h: q0 T% ~
2)如何处理表单中的中文. T5 N8 r' r# Z
a,浏览器会如何对表单中的数据进行
1 `9 |3 z3 r6 b! r 编码?
- @$ j$ i7 Q9 Q/ r+ a8 H. ] 当表单采用post方式提交时,浏览器会按照4 a v% j1 H9 A7 G
打开该表单所在的页面的编码来对表单中的
/ y" S" r8 o3 N6 Z- i0 g 数据进行编码。
" v! t. h! _# ]7 B! X3 ^1 { b,在html文件当中,添加以下代码的作用9 _( A' q2 x7 F- G/ U1 b- X N+ W4 }- L
<meta http-equiv="content-type" content=
* r) O5 b C( y' C "text/html;charset=utf-8">
$ D' O# T$ \ B+ A2 m, c+ | 作用1:模拟http消息头(content-type),# n2 L6 g" [5 i
让浏览器以utf-8的编码格式来打开该页面
- @ O) z( m/ |7 z& ?; A2 i (要确保html文件本身确定是使用utf-8保存的)。' o6 a+ H4 J$ D6 _
作用2: 确保浏览器按指定的编码来对
3 U" S9 z0 C' I2 z) x: M 表单中的数据进行编码。' N D( N8 m1 X$ e
c,解决方案:+ G2 M2 b% N) [3 ]5 V, x
step1:
* p* R* ?( C2 e; y* y% [$ S# k: D- ~3 @ 在html文件中,添加# E9 x4 J3 B4 r3 I5 a
<meta http-equiv="content-type" content=6 Q1 P, I9 E3 y! m
"text/html;charset=utf-8">7 r6 y1 u& S8 ?4 D% Q9 M* ?
另外,表单的提交方式必须是post。
$ P( W* O- D- [1 M6 J! j$ y step2:" m6 X& i# w) M( A4 T
在服务器端,使用servlet读取表单中的
& W8 z9 C8 p/ r+ M. x6 k, }, D7 ^( x 请求参数时:2 G6 M$ j# J0 D4 G" D- \+ [6 r
request.setCharacterEncoding("utf-8");' h+ M. b3 B. z- h! ^7 l
这行代码的作用:设置解码时的编码格式。* _* `& `" P7 b/ O( D5 L1 ?
( Y7 y* N M4 r) G" s9 H; z 如果servlet输出中文,要添加如下代码。1 f' d* @/ x; O0 ]! j9 [. n1 f9 [2 j
response.setContentType(
1 k. P2 G$ C' [; d8 Z "text/html;charset=utf-8");, ]5 e- v( {9 t, T& ]
这行代码的作用:
9 g8 }! ]& `9 |) n) Y% A) L 作用1:指定out.println输出时所使用的编码。
: F! ]2 @% {) F- ]! y9 N 作用2:生成一个消息头 h4 s' F$ t1 t
content-type:text/html;charset=utf-8 q! ^ u3 ^& {! z8 K! b
告诉浏览器,返回的数据类型是html,编码是
7 \' U2 \. ?# w; K1 B+ d, T+ L utf-8。这样,浏览器一定会以指定的编码来
6 P8 q( J# [+ m+ J1 { 显示该页面。" b, j6 X$ S$ t2 f
2 A; Y; L% @# s5 T9 B |
|