该用户从未签到
|
1)如何获得请求参数值。3 s9 B6 A1 l# O9 B* B* w+ }6 b9 t5 ~
a,String request.getParameter(String paraName);8 @9 v5 i9 {! o$ d5 }! J" K. ?" K) }4 g5 ~
要注意的问题:0 {: |; i; z2 g6 y8 m
如果paraName与实际的请求参数名不一致,7 C8 S5 c* P; j6 X$ v9 R$ x
则返回null。
( i. W: c6 }0 I* d; T( L* u4 Z3 ? 如果没有输入参数值,则返回""。4 { h- j5 f- f$ B( |* U4 x
b,String[] request.getParameterValues(String" d$ R- @- y2 J* r, I
paraName);
6 S+ f5 W/ h+ R 用在有多个请求参数名相同的情况下使用。
1 O# C" i5 [: N% u0 x5 Y8 v1 l% c 比如 ?interest=fishing&interest=cooking' N Y t# o6 M) \, O( S$ \
2)如何处理表单中的中文
' g+ U/ ?" p. W9 Z. Q a,浏览器会如何对表单中的数据进行# {* [0 m! T" e
编码?
* g+ D: P% H4 m7 `) }3 p3 ` 当表单采用post方式提交时,浏览器会按照- d6 J2 v d9 i! T+ R5 s2 s0 w
打开该表单所在的页面的编码来对表单中的) M: w( \( v- p) c7 a
数据进行编码。
/ D6 u+ s' G5 X. p" Q( ] b,在html文件当中,添加以下代码的作用
0 L, g' s. x4 b+ {% n1 C& J! h* r/ t <meta http-equiv="content-type" content=
2 u3 z0 g5 S* Z- o2 [+ C "text/html;charset=utf-8">
4 R( T. Z8 ]5 a- B" A$ K 作用1:模拟http消息头(content-type),& E1 g ^; L# \" ~* H. Z- i! [" k
让浏览器以utf-8的编码格式来打开该页面7 r0 P F' b' H7 G& I6 X* r
(要确保html文件本身确定是使用utf-8保存的)。
& a( [" O3 [6 y6 C9 }: z! ? 作用2: 确保浏览器按指定的编码来对
4 m- I! n. A, I, H 表单中的数据进行编码。
) x/ `& m1 D" {: }6 X c,解决方案:" w6 S$ t: Y5 ~$ e" W$ q9 R) J
step1:4 Y* W4 }% ]$ l% \$ }$ u
在html文件中,添加8 k8 R0 m; ^, M4 p1 V$ v, K/ ?
<meta http-equiv="content-type" content=# r; p: ^; @9 q# L# u b! Q+ Z
"text/html;charset=utf-8">
% D# {' f; g- Q2 B- {2 K 另外,表单的提交方式必须是post。
. `! ^$ V! s. J! F* Z6 v( Z step2:( X M4 H, D8 Q
在服务器端,使用servlet读取表单中的
, K3 N, W5 n9 [: _ 请求参数时:
+ J! z7 v; u$ a0 s1 d' J9 `& w4 B request.setCharacterEncoding("utf-8");& p# w# h* @+ N6 t( {* T0 ^9 x
这行代码的作用:设置解码时的编码格式。
7 r( j/ G( X$ l" L9 }9 v % S4 j& d8 q! \: y: s: M" P, {" X
如果servlet输出中文,要添加如下代码。+ V2 f# d1 y3 y9 M6 \7 _3 T7 F
response.setContentType(- P9 G9 ?- H. I( S( N. {
"text/html;charset=utf-8");
$ n8 ]* ^) N% K1 Q# R 这行代码的作用:
. j" g4 q+ F1 q2 E/ f, m 作用1:指定out.println输出时所使用的编码。; @& J( {; @ l+ j1 \3 K! O! R
作用2:生成一个消息头
7 [* @) T- }/ n+ c8 | content-type:text/html;charset=utf-8
3 s; w( g. r4 c2 [% ] 告诉浏览器,返回的数据类型是html,编码是
+ Z. O* z7 q- [; I5 S( C utf-8。这样,浏览器一定会以指定的编码来
$ H4 Z: ]" m) b5 V& k 显示该页面。* P% T# q: E! ^
/ `# i$ d: R$ }
|
|