该用户从未签到
|
1)如何获得请求参数值。( ?; W& J, u, c) v0 J- s% O& c
a,String request.getParameter(String paraName);
8 R( B/ G" q; y) K% D, C 要注意的问题:
* b: `8 l4 Z0 {! [ X" @+ h 如果paraName与实际的请求参数名不一致,* C/ E, x% A) V# k0 s( J" z- M
则返回null。
6 C$ Y( I3 i* h& V 如果没有输入参数值,则返回""。
1 c4 _; H# o0 ?" L7 f2 D6 J" k b,String[] request.getParameterValues(String$ l9 K1 I/ B; }# a( P9 f0 ~3 `; [6 Y
paraName);/ A/ r! Z, P( K5 [0 D6 k
用在有多个请求参数名相同的情况下使用。
7 M% W0 H/ d1 D- }$ ?6 j, x; Y 比如 ?interest=fishing&interest=cooking/ d/ V2 b% }' m/ t
2)如何处理表单中的中文* U N# J: M! j9 w* [2 b
a,浏览器会如何对表单中的数据进行! V {. L+ o& W" e# N; n
编码?9 i X3 _! [1 u0 t4 Z5 [2 u/ k L
当表单采用post方式提交时,浏览器会按照+ a( B+ h- j p- d
打开该表单所在的页面的编码来对表单中的2 t( h* [1 p7 u1 L3 e
数据进行编码。9 O' \4 E1 _& q4 w% P& Z! Z! A! _
b,在html文件当中,添加以下代码的作用
3 t. W0 g% V' f4 R" E' g2 H <meta http-equiv="content-type" content=# A8 \9 ]& G1 q. T
"text/html;charset=utf-8">
; w6 ^0 n0 o5 B% x N; E 作用1:模拟http消息头(content-type),, [& }" p: g+ Z' `2 s
让浏览器以utf-8的编码格式来打开该页面
, N$ Z' B$ c$ n0 T# H (要确保html文件本身确定是使用utf-8保存的)。
3 R" }2 V4 v8 _6 j4 Q1 K 作用2: 确保浏览器按指定的编码来对 V+ ?0 q+ h7 D9 n+ ]& A+ I
表单中的数据进行编码。
: o4 v ?5 X/ y9 @ c,解决方案:
]$ g) j; B j# i9 ~% W step1:5 u' G$ |4 X: `! G- Z0 W" w
在html文件中,添加0 w, X. B2 P3 U. w1 U% o0 @& W& R
<meta http-equiv="content-type" content=
: P4 j; |5 U! @5 h% j" j) r! Z "text/html;charset=utf-8">
; }) X- t) K0 l! m4 h# w4 Z3 b 另外,表单的提交方式必须是post。7 r5 K7 W& W6 t2 m5 e1 {
step2:
+ m' _# `( n) t* M# j7 S 在服务器端,使用servlet读取表单中的
\2 Y0 l0 t5 N* S; a2 a 请求参数时:6 n9 A3 {0 f- Q% a: f
request.setCharacterEncoding("utf-8");
/ A6 m/ Z0 r p2 \3 ^1 k! P/ n 这行代码的作用:设置解码时的编码格式。
9 a; J8 Q- j! _0 A% p ^, d
^3 T4 T1 v U! s- W$ [ 如果servlet输出中文,要添加如下代码。
( p; s$ v, b% L# l6 [) Y; A response.setContentType(* r/ w1 @' A3 h; g l% t" Y! u( o1 y4 _
"text/html;charset=utf-8");
2 {; H" w" X: p+ d 这行代码的作用:* o3 s/ q1 {5 x6 ?& F3 Z; @
作用1:指定out.println输出时所使用的编码。
2 C u8 _, X6 Y- M9 } 作用2:生成一个消息头
8 g" o- L) S& h- V content-type:text/html;charset=utf-8
. M% F+ `$ f2 v* M 告诉浏览器,返回的数据类型是html,编码是
j* K) }8 z/ }! T/ `5 { utf-8。这样,浏览器一定会以指定的编码来7 X9 T1 E; \, m9 U& O$ H* P& ~7 F
显示该页面。; H2 N3 }. |- V$ Z" N5 a; ~
0 K- s$ h6 F: D2 p: r
|
|