|
该用户从未签到
|
表单处理
" P3 r3 w0 {2 d- O. d4 O 1)如何获得请求参数值。5 ?) I7 n6 I7 N* d# q
a,String request.getParameter(String paraName);
. v+ X# `7 G. {+ ] 要注意的问题:& g/ i0 y+ _5 J4 Z7 u
如果paraName与实际的请求参数名不一致,1 b# \; p" A$ @8 k& ~3 N
则返回null。
; E1 U0 _0 l, t0 y9 G9 a0 n& b 如果没有输入参数值,则返回""。
, ]. I! H4 n: O1 _. w; h b,String[] request.getParameterValues(String
4 B( l/ P7 G' P paraName);- v# e5 P/ c: U. i2 [
用在有多个请求参数名相同的情况下使用。# z1 H% ~3 E5 R3 a) X8 J
比如 ?interest=fishing&interest=cooking
1 Z! U$ `3 Q/ X, @" f 2)如何处理表单中的中文
. r* ~( Z8 Q! S% I* N8 I$ n& H a,浏览器会如何对表单中的数据进行
' k) u3 o7 N0 `$ f5 } 编码?
8 f" I) D/ `! h$ u( x 当表单采用post方式提交时,浏览器会按照- ~7 }, S$ t! j- Y8 |. S- m. l7 M
打开该表单所在的页面的编码来对表单中的7 N% a! L+ h$ C0 C3 n
数据进行编码。; I# F) w& v2 l( e8 v i# `
b,在html文件当中,添加以下代码的作用# ~* C$ W0 M% R3 b+ G
<meta http-equiv="content-type" content=2 \7 ]# l3 d1 P# k0 E- e
"text/html;charset=utf-8">
' k6 J1 F$ h3 [: m3 w A 作用1:模拟http消息头(content-type),: ^: I3 l' s5 g7 N, C/ h6 |
让浏览器以utf-8的编码格式来打开该页面/ j+ S$ k$ `. o0 d5 u. J
(要确保html文件本身确定是使用utf-8保存的)。/ S. ?' d$ G5 D j
作用2: 确保浏览器按指定的编码来对
! |8 G4 ^. B% k6 ^% B; p( B 表单中的数据进行编码。1 O+ \0 O" \4 K& S& r, r2 |' m
c,解决方案:( F' d" m B' {3 [# l
step1:% b- M4 b4 N# r. d6 {5 E" A
在html文件中,添加. t( p. @( b. a7 c* A
<meta http-equiv="content-type" content=
$ a3 T/ U: [/ X "text/html;charset=utf-8">1 x' @3 V8 x! C( \# M+ p
另外,表单的提交方式必须是post。
% f1 o C3 U2 S step2:
; L; y/ m3 g; A A3 N! T 在服务器端,使用servlet读取表单中的7 g, g1 `+ `4 ~! B. @ i# v
请求参数时:. c" b% W; B4 U5 ~* r# o! |, D
request.setCharacterEncoding("utf-8");
9 n! a) m* R# F& w5 _! `) v ? 这行代码的作用:设置解码时的编码格式。6 Z6 ~% L: \0 ]1 t7 d% C6 w( c
+ Q% ?2 @7 I% x* }6 U' Q& h
如果servlet输出中文,要添加如下代码。1 p$ g% k# I0 n! f- l
response.setContentType(% H3 H+ S# q, H1 h
"text/html;charset=utf-8");
% m- E) L+ d. o8 u# b6 x 这行代码的作用:* T$ |# I9 S% X1 y5 h7 L
作用1:指定out.println输出时所使用的编码。$ G' Y: S; Z* B& r# J
作用2:生成一个消息头
2 G b* W6 A+ U; A content-type:text/html;charset=utf-8
( Y) m. S' z2 n! M& K8 M0 U 告诉浏览器,返回的数据类型是html,编码是
4 S# H( l: W4 u* _ utf-8。这样,浏览器一定会以指定的编码来
$ p. B( B3 u9 |1 h: r( X 显示该页面。
( W+ ?' U3 v- Q( N" ?
' ~1 Y$ }) @5 p+ ^: \7 Y" N |
|