该用户从未签到
|
表单处理
4 M% b( V3 Q% x: ?) O 1)如何获得请求参数值。
" T+ w) l! H j+ e% y9 K a,String request.getParameter(String paraName);% B( h% I' i4 h4 E
要注意的问题:2 n! C( [" v* z
如果paraName与实际的请求参数名不一致,+ H# T+ W, Z: h6 N1 b ~
则返回null。
6 J0 p+ q2 F1 |& A2 b& t 如果没有输入参数值,则返回""。& g, Z* {- F5 K# Z
b,String[] request.getParameterValues(String
, T( p* f3 L! A+ R, T paraName);
. R& ]+ I5 F/ c' J 用在有多个请求参数名相同的情况下使用。
8 c* O5 n6 v: o8 z( Q( N0 c 比如 ?interest=fishing&interest=cooking b- G' U. C1 u3 Z* r- H
2)如何处理表单中的中文
( Q9 T1 p$ {4 H: s' Q a,浏览器会如何对表单中的数据进行4 {, ]6 F- X8 l( A/ k" i5 b. ~
编码?
- i0 ^. }1 U6 a; z5 e& V+ P* u 当表单采用post方式提交时,浏览器会按照( e0 w) @) z8 A/ G$ c
打开该表单所在的页面的编码来对表单中的
' @& h X3 t2 K5 Q! L5 N5 k& h2 F8 w 数据进行编码。
3 e6 Z& q( ]4 q4 }5 w b,在html文件当中,添加以下代码的作用+ G. V* T1 y3 q! K; |7 i o/ G. W1 M
<meta http-equiv="content-type" content=
! v0 K H$ R- G z; { "text/html;charset=utf-8">
. J8 k2 E0 d% h+ ~" h3 T; B( |& T 作用1:模拟http消息头(content-type),5 \) _3 T7 x0 Q+ K; v0 B
让浏览器以utf-8的编码格式来打开该页面
! E$ i% [! `1 F (要确保html文件本身确定是使用utf-8保存的)。
2 y t" p) D$ b Z7 M8 O 作用2: 确保浏览器按指定的编码来对2 I$ E% K8 O; D! ?
表单中的数据进行编码。: u: j- R* L" R* M% X
c,解决方案:
2 P. o% m5 n: w3 k step1:8 ^9 ^# u G9 W
在html文件中,添加- A0 V& r" f+ j; x( @
<meta http-equiv="content-type" content=
0 q; q( F; S1 H( m, a "text/html;charset=utf-8">
8 X4 Q" T3 d: n 另外,表单的提交方式必须是post。
# |8 c0 |2 R& ]/ K9 s step2:% X1 Q4 P& N& p; g
在服务器端,使用servlet读取表单中的: v4 I1 |; o- A( `$ m
请求参数时:
4 b, a0 g) f" I request.setCharacterEncoding("utf-8");# C# O/ K+ C9 @. z! j; R
这行代码的作用:设置解码时的编码格式。
. _, z: l0 @6 C/ `* ^ ! O: L% z h) p- |4 ~, U$ u+ y
如果servlet输出中文,要添加如下代码。* d' {: h. X) [- O5 x. b
response.setContentType(
: L& J6 G" N6 r" i/ j0 u "text/html;charset=utf-8");
+ c/ O" b; o) \9 C- ~ 这行代码的作用:
M v" j" L6 N( Y2 H# s 作用1:指定out.println输出时所使用的编码。0 q' \( _" r! D0 ~5 N; Z, C! l
作用2:生成一个消息头
( ?$ J @+ O/ H) ^ content-type:text/html;charset=utf-8
; ]8 n% j9 f( V9 I X3 O 告诉浏览器,返回的数据类型是html,编码是
" {7 N7 J4 L9 w9 e/ X# ?* \ utf-8。这样,浏览器一定会以指定的编码来
% v- i# |; @% `% t 显示该页面。9 m3 j0 T1 z% e, F9 l; u Z) |
2 V! l* ?# j4 B
|
|