科帮网

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > 表单处理以及页面乱码问题
总共48087条微博

动态微博

查看: 1874|回复: 0

表单处理以及页面乱码问题

[复制链接]

326

主题

72

听众

999

金钱

实习版主

该用户从未签到

优秀版主

跳转到指定楼层
楼主
发表于 2014-04-30 21:36:39 |只看该作者 |倒序浏览
1)如何获得请求参数值。
# T; L( M4 w! p  W                a,String request.getParameter(String paraName);
0 g/ t' ?. V, v9 N' v, d                要注意的问题:8 x/ S9 |: m6 F/ P' d- U) P& X
                        如果paraName与实际的请求参数名不一致,6 {7 P  l# n0 t0 m* u+ A
                        则返回null。
. z5 @: B$ g" @( E6 }. C( V                        如果没有输入参数值,则返回""。6 h* x( l$ u; D3 k9 P% U2 l
                b,String[] request.getParameterValues(String# A- `- u) z" X
                paraName);* k1 O  W7 W; Y- W. I
                        用在有多个请求参数名相同的情况下使用。: _% L% w6 R- m0 f+ |& [- G0 E3 Z
                比如 ?interest=fishing&interest=cooking9 j; w8 B: t2 h5 p& n+ I0 J
        2)如何处理表单中的中文! h9 _1 E& r4 o/ B) B
                        a,浏览器会如何对表单中的数据进行$ M! Q' }% u8 \
                        编码?
% R9 \* I# A1 S) M4 u" b5 |4 u                                当表单采用post方式提交时,浏览器会按照
9 @! {4 V1 h6 k6 V# {' Z                打开该表单所在的页面的编码来对表单中的. P5 w9 r, M& j7 ~+ G/ [
                数据进行编码。+ O- r* O# a* K
                        b,在html文件当中,添加以下代码的作用
4 b  @  {. ?  W- _; ?                        <meta http-equiv="content-type" content=
) e9 g8 U# x" d6 ?$ j& j                        "text/html;charset=utf-8">/ b7 _7 S9 d+ Y7 k
                                作用1:模拟http消息头(content-type),
4 r, f2 l: [' z( Y( F" M: T; e                                让浏览器以utf-8的编码格式来打开该页面1 O' C3 K) M% K3 w* h
                                (要确保html文件本身确定是使用utf-8保存的)。
( `& {7 d) r: e8 Y2 v- a                                作用2: 确保浏览器按指定的编码来对
3 {. L9 Z8 {. N6 L. j                                表单中的数据进行编码。
( i  G! ?* {1 Y+ _                        c,解决方案:
1 T- C- L3 l  j8 F3 G* M2 S. G* u                                step1:' f6 D+ X% j4 U- U# C( t& J
                                        在html文件中,添加5 ^+ b; q9 w/ t' j( a1 ?
                                        <meta http-equiv="content-type" content=$ N9 F; c* S2 q: e. R, P
                        "text/html;charset=utf-8">7 @2 d. Q- N+ ?: m" S
                                        另外,表单的提交方式必须是post。6 X& F. e  }' B/ Q4 g' ]% F' c
                                step2:
/ C, J- \: G  g" K0 r3 Y                                        在服务器端,使用servlet读取表单中的" J7 Z  n. y& p* p2 {
                                        请求参数时:/ {8 q! U: ^4 }' R) J
                                        request.setCharacterEncoding("utf-8");  s! q9 S; F/ }1 U4 }. r
                                        这行代码的作用:设置解码时的编码格式。9 ]3 t3 R0 {* M( h1 S
                                        1 U3 ?; B+ O* ?( i4 _
                                        如果servlet输出中文,要添加如下代码。
% A" M/ k2 G( ]2 F- ?; u                                        response.setContentType(% e5 H$ w0 ~- N
                                        "text/html;charset=utf-8");) F- ~3 s; Q* ~: g! @7 e
                                        这行代码的作用:
2 W# t, s5 f& @, f- o                                                作用1:指定out.println输出时所使用的编码。8 }! H  E' |) z# z/ y% r7 h0 w
                                                作用2:生成一个消息头
) V5 t$ I# H! V/ o1 }                                                content-type:text/html;charset=utf-8
! n# `& I: q  {/ v, L8 j  W                                                告诉浏览器,返回的数据类型是html,编码是- g! T! t' v& S& a
                                                utf-8。这样,浏览器一定会以指定的编码来
6 Y8 E6 R+ G* M0 X0 c/ [                                                显示该页面。
6 p4 t: C# G( i) R6 r" U6 X. ?  ?

科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、科帮网管理员和版主有权不事先通知发贴者而删除本文


JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

快速回复
您需要登录后才可以回帖 登录 | 立即注册

   

关闭

站长推荐上一条 /1 下一条

发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
快速回复 返回顶部 返回列表