首页/技术开发/内容

Java Servlet/Jsp多语言处理方案(二)

技术开发2022-07-19 阅读()
content != null && content.toLowerCase().startsWith("a
pplication/x-www-form-urlencoded"))
request.setAttribute(PARAMS_ATTR_NAME,new UTF8ParameterReader((HttpServletRe
quest)request));
super.service(request,response);
}
}
  这个就是Servlet基类,它覆盖了父类的service方法,在调用父类service前,创建
了UTF8ParameterReader对象,其中保存了form中提交的信息。然后把这个对象作为一个
Attribute保存到Request对象中。然后照样调用父类的service方法。
  对于继承这个类的Servlet,要注意的是,"标准"getParameter在也不能读到post的
数据,因为在这之前这个类中已经从ServletInputStream中读出了数据了。所以应该使
用该类中提供的getParameter方法。
  剩下的就是输出问题了,我们要把输出的信息,转为UTF8的二进制流输出。只要我
们设置Content-Type时指定charset为UTF8,然后使用PrintWriter输出,那么这些转换
是自动进行的,Servlet中这样设置:
  response.setContentType("text/html;charset=UTF8");
Jsp中这样设置:
  <%@ page contentType="text/html;charset=UTF8"%>
  这样就可以保证输出是UTF8流,客户端能否显示,就看客户端的了。
  对于multipart/form-data的form提交的内容,我也提供一个类用来处理,在这个类
的构造子中可以指定页面使用的charset,默认还是UTF-8,限于篇幅不贴出源码,如果
感兴趣可以mail to:vividq@china.com和我探讨。


第1页  第2页  第3页  第4页  第5页  第6页  第7页 

……

相关阅读