|
该用户从未签到
|
1)如何获得请求参数值。- r. K. M( }$ l
a,String request.getParameter(String paraName);. y. R6 u/ e6 m7 c; V2 k- o
要注意的问题:
3 l. i: T* ^" _# U1 g+ E; Y4 V 如果paraName与实际的请求参数名不一致,1 U, z- w& I& Y; b5 p( ~1 ^ o3 [
则返回null。1 z1 ~ p3 f+ X6 }2 i. f
如果没有输入参数值,则返回""。
! L2 p. ^# |, l+ w b,String[] request.getParameterValues(String h3 n5 g9 P) e( l3 N" ]1 o, m
paraName);9 C( b! G+ w5 ?& q' J2 a- t
用在有多个请求参数名相同的情况下使用。$ r# @' L* s8 M& s' J% [. t
比如 ?interest=fishing&interest=cooking6 C& ]% P; S) t1 Z3 p
2)如何处理表单中的中文4 h6 {( V0 i+ C: {, W( f- Q5 P, r/ o' i
a,浏览器会如何对表单中的数据进行
4 S$ T. ?* R# J, g3 B5 p" }# \ 编码?
. y9 g& r5 U4 G m X 当表单采用post方式提交时,浏览器会按照
) ^* K2 r% d; G0 r 打开该表单所在的页面的编码来对表单中的/ W( C% R9 H2 \( i) M3 Z+ }
数据进行编码。( i9 ?1 o8 K6 |4 b! R; G$ L
b,在html文件当中,添加以下代码的作用
' R4 x" g0 M" u* ] <meta http-equiv="content-type" content=( x* \2 ~8 a1 L5 B) p: h
"text/html;charset=utf-8">
* Y7 S; }: P2 x1 J M+ v2 g 作用1:模拟http消息头(content-type),
" ?. ~. Y6 D" `: P' C 让浏览器以utf-8的编码格式来打开该页面
1 A) R$ Y, a* M! s6 Q (要确保html文件本身确定是使用utf-8保存的)。
. `7 w. m) ` Y, k& O 作用2: 确保浏览器按指定的编码来对
: c4 a! {# F9 B: ?9 g. |" } 表单中的数据进行编码。8 U$ k# y8 ~ I; r3 g( j5 k
c,解决方案:* M( _: U3 K" t: D, D
step1:) ?( |& L/ w( g4 T$ w% p6 W- l
在html文件中,添加
4 C' K! q* f8 w, P' i6 H9 C6 Z <meta http-equiv="content-type" content=. O! H2 n# o% ?! X0 G# j
"text/html;charset=utf-8">
. }/ L% @6 F; K5 {1 ^7 s( v ~ 另外,表单的提交方式必须是post。
1 ?8 c6 M" L8 H) D step2:
9 `9 ~1 Z2 T [ W# k' Q/ y b 在服务器端,使用servlet读取表单中的- R, E9 p$ ^7 n
请求参数时:8 b4 G' P& g5 }. @ Q! a
request.setCharacterEncoding("utf-8");
6 L" Q; k6 K0 i: O6 ~; P 这行代码的作用:设置解码时的编码格式。! W- q% f, t: t
: @- o9 k) M3 }! l
如果servlet输出中文,要添加如下代码。& b( u i2 k6 |0 |+ T
response.setContentType(
; b3 p. [" J5 T4 K0 |) n: ], u "text/html;charset=utf-8");
' K; F4 ~$ W C7 c5 n( n 这行代码的作用:
. q4 @+ e; o5 C0 L! @8 W 作用1:指定out.println输出时所使用的编码。
+ G/ p* z4 {3 i+ C4 s9 e- ` 作用2:生成一个消息头
7 a& P, p8 E# w; a content-type:text/html;charset=utf-8
2 T; C7 a: w+ G2 {& c 告诉浏览器,返回的数据类型是html,编码是3 \; m7 d5 c7 A8 g: i2 d! X
utf-8。这样,浏览器一定会以指定的编码来3 U1 e/ ^& G7 g4 f9 X5 R
显示该页面。1 `# H0 i( J! k$ s( v* e
0 C0 ]! H( M+ |0 W/ n! o |
|