xiaohan

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  1 Posts :: 22 Stories :: 0 Comments :: 0 Trackbacks
客户单通过创建html的form表单来与servlet交互的
<FORM ACTION="....">.....</FORM>,其中action对应的就是处理表单数据的servlet的url。
<INPUT TYPE="TEXT"  NAME="....">,servlet通过request.getParameter(NAME)来读取表单中的数据。其中TYPE是html输入的类型。
<INPUT TYPE="SUBMIT"> 按下这个按钮,浏览器会调用表单的ACTION指定的URL。

在servlet中读取表单数据的函数
单值读取,request.getParameter("NAME")注意参数名是大小写敏感的。
多值读取,request.getParameterValues("NAME")返回的是字符串数组。对于不存在的参数名,返回值为null,如果只有单一的值,则返回只有一个元素的数组。
参数名查找,一般情况下servlet并不知道参数名,
Enumeration e = request.getParameterNames();
while(e.hasmoreElements()){
String s = (String)e.nextElement();
String[] paraValues = request.getParameterValues(s);
}
getParameterMap是getParameterNames()的代替方案,这个方法返回的是一个Map:
(参数名,getParameterNames())。
getReader用了读取定制的客户的数据。
getInputStream读取<INPUT TYPE="FILE" .....>

多字符集输入的读取
默认情况下,request.getParameter使用的是服务器当前的字符集解释输入的,如果要改变默认行为,就要使用request.setCharacterEncoding来设置字符集。
但是要是输入中使用了多个字符集,这种做法就行不通了。
可以用getBytes来提取原始的字节数据,然后用String的构造函数进行编码。
String s = request.getParameter("firstname");
String s = new String(s.getBytes(), “GBK”);
posted on 2012-12-01 17:11 晓寒 阅读(159) 评论(0)  编辑  收藏 所属分类: coreservlets

只有注册用户登录后才能发表评论。


网站导航: