|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在1995年5月23日以“Java”的名称正式发布了。js|servlet|中文关于在jsp和servlet中的request.getParameter()办法,假如你想要传进
中笔墨符,有几种办理办法,
一:能够在Stringtemp=request.getParameter("xx");
temp=newString(temp.getBytes("ISO8859_1"));
二:经常使用的办法为,设置一个过滤器:
1.java文件为com.esoon.shabc.utils.SetCharacterEncodingFilter
源文件:
packagecom.esoon.shabc.utils;
importjava.io.IOException;
importjava.io.UnsupportedEncodingException;
importjava.util.*;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.servlet.http.HttpServletRequest;
publicclassSetCharacterEncodingFilter
implementsFilter{
protectedStringencoding=null;
protectedFilterConfigfilterConfig=null;
protectedbooleanignore=true;
/**
*Takethisfilteroutofservice.
*/
publicvoiddestroy(){
this.encoding=null;
this.filterConfig=null;
}
/**
*Selectandset(ifspecified)thecharacterencodingtobeusedto
*interpretrequestparametersforthisrequest.
*/
publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,
FilterChainchain)
throwsIOException,ServletException{
//Conditionallyselectandsetthecharacterencodingtobeused
if(ignore||(request.getCharacterEncoding()==null)){
Stringencoding=selectEncoding(request);
if(encoding!=null)
request.setCharacterEncoding(encoding);//设置request编码的中央
}
//Passcontrolontothenextfilter
//传送把持到下一个过滤器
chain.doFilter(request,response);
}
/**
*Placethisfilterintoservice.
*从web-app的web.xml文件中读取初始参数的值
*/
publicvoidinit(FilterConfigfilterConfig)throwsServletException{
this.filterConfig=filterConfig;
this.encoding=filterConfig.getInitParameter("encoding");
Stringvalue=filterConfig.getInitParameter("ignore");
if(value==null)
this.ignore=true;
elseif(value.equalsIgnoreCase("true"))
this.ignore=true;
elseif(value.equalsIgnoreCase("yes"))
this.ignore=true;
else
this.ignore=false;
}
/**
*Selectanappropriatecharacterencodingtobeused,basedonthe
*characteristicsofthecurrentrequestand/orfilterinitialization
*parameters.Ifnocharacterencodingshouldbeset,return
*<code>null</code>.
*选择request本来的编码
*/
protectedStringselectEncoding(ServletRequestrequest){
return(this.encoding);
}
}
2.然后在web.xml文件中<web-app></web-app>两头增加:
<filter>
<filter-name>Set_Character_Encoding</filter-name>
<filter-class>com.esoon.shabc.utils.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gb2312</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set_Character_Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.假如所提交的字段在form内里,则这个form应当设置为:method="post"
相似于:<formmethod="post"name="firstPriInfoForm"></form>
经由过程这类办法,即便你所提交有多其中笔墨段,那末你在servlet中只必要
request.getParameter("##");
而无需再一次newString()的转换。
从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。 |
|