仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1449|回复: 18
打印 上一主题 下一主题

[学习教程] JAVA网页编程之中笔墨符从jsp传送到servlet的处置

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:31:06 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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是必须加以改进的。
柔情似水 该用户已被删除
沙发
 楼主| 发表于 2015-2-5 12:03:54 | 显示全部楼层
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-10 03:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表