jsp乱码问题全部解决
jsp乱码问题及其解决办法word精品文档12页
jsp乱码问题及其解决办法jsp乱码问题及其解决办法2019年04月09日星期五下午05:32
困扰已久的乱码问题终于得到解决,希望下次出现更多问题,解决问题
的过程很愉快!
关于jsp乱码问题的解决2009-01-22 21:32关于jsp乱码问题的解决。
1最基本的乱码问题。
这个乱码问题是最简单的乱码问题。一般新会出现。就是页面编码不一
致导致的乱码。
%@page language="java"pageEncoding="UTF-8"%
%@page contentType="text/html;charset=gb2312"%
html head title中文问题/title meta http-equiv="Content-Type"content="text/html;charset=UTF-8"
/head
/head body
我是个好人
/body
/html
三个地方的编码。
第一个地方的编码格式为jsp文件的存储格式。Eclipse会根据这个编码格式保存文件。并编译jsp文件,包括里面的汉字。
第二处编码为解码格式。因为存为UTF-8的文件被解码为iso8859-1,这样如有中文肯定出乱码。也就是必须一致。而第二处所在的这一行,可以没有。缺省也是使用iso8859-1的编码格式。所以如果没有这一行的话,"我是个好人"也会出现乱码。必须一致才可以。
第三处编码为控制浏览器的解码方式。如果前面的解码都一致并且无误
的话,这个编码格式没有关系。有的网页出现乱码,就是因为浏览器不能确定
使用哪种编码格式。因为页面有时候会嵌入页面,导致浏览器混淆了编码格式。出现了乱码。
JSP 处理汉字乱码
JSP 处理汉字乱码
当request对象获取客户提交的汉字字符时,会出现乱马问题,必须进行特殊处理。即从浏览器中向服务器发送数据,可以使用request.setCharacterEncoding( )方法来处理乱码。
文件名:Jspform.jsp
在上述代码中,主要通过一个form表单将“姓名”和“住址”信息,传递到requestBm.jsp页面中。
在上述的代码中,在通过request 对象接收form 表单传递的参数之前,选择通过request.setCharacterEncoding( )方法,将该对象的编码格式设置为“UTF-8”。然后,通过接收并显示内容,此时不会产生乱码。
例如,浏览Jspform.jsp 页面,在“用户注册信息”表单中,分别输入“姓名”和“住址”信息,如图4-4
所示。
然后,单击【提交】按钮,即可转到requestBm.jsp 页面,并显示从文本框中获取的文本内容,如图4-5所示。
图4-4 输入汉字内容 图4-5 显示汉字信息
在通过request.setCharacterEncoding( )方法设置request 对象编码时,用
户需要注意提交的form 表单页面的编码格式,如Jspform.jsp 页面为
“UTF-8”格式,即在requestBm.jsp 页面中设置request 对象编码格式
为“UTF-8”。
Jsp页面中的字符编码方式与乱码解决方法(3)
Jsp页面中的字符编码方式与乱码解决方法(3)
Jsp页面中的字符编码方式与乱码解决方法
pageencoding="utf-8"
contenttype="text/html;charset=utf-8"
request.setcharacterencoding("utf-8")
response.setcharacterencoding("utf-8")
其中前两个只能用于jsp中,而后两个可以用于jsp和servlet中。
1、pageencoding="utf-8"的作用是设置jsp编译成servlet原代码文件时所使用的编码。
jsp在服务器上是要先被编译成servlet的类文件的。pageencoding="utf-8"的作用就是告诉jsp编译器在将jsp文件编译成servlet为文件时使用的编码。通常,在jsp内部定义(指在 <%%>块内定义的)的字符串或直接作为html输出(指直接在jsp文件中输写的html中文内容)的字符串出现乱码时,很多都是由于该参数设置错误引起的。例如,你的jsp文件是以utf-8为编码保存的(在eclipse 选中jsp文件,右键点属性就可以更改保存该jsp的编码方式),而在jsp中却指定pageencoding="gbk"(或不指定时使用操作系统默认的编码方式,即也为gbk),就会引起jsp内部定义的字符串为乱码,这时当我们用文本编辑打开tomcat生成的jsp所对应的servlet类文件时,我们发现就是乱码。
另外,该参数还有一个功能,就是在jsp中不指定contenttype属性,也不使用response.setcharacterencoding方法指定编码方式时,服务器响应的编码方式以及浏览器的编程方式(ie中可以通过菜单“查看-->编码”来看查浏览目前的编码方式)就是此时pageencoding指定的编码方式。
JSP中汉字编码时出现“乱码”的情况及具体解决方案
JP S 中汉字编码时出现 “ 乱码’ ’ 的情况及具体解决方案
赵起超 哈尔滨银行 同济大学软件工程硕士在读研究生
疑问足乱码 。所以 ,在J P s 编程的过 程中 ,还
摘要 :JP 当前流行的一种动态网员技 时 困执 着程 员和 用 户 。 S是
在J 的编程过 程中 ,中文 经常会产生乱 要考虑数据库中0: SP 符的编码。 术 , 但 在J P 程 过 程 中 , 中文 的 输 入 与输 出 S编 经 常 会 产 生 乱码 ,本 文 主 要探 讨 了J P中 汉字 码 。这不得不从以 下几方面 来研究 分析乱码的 S 关 系数据库 系统都支持数据库e c dn n o ig, 由来 : 编码 时 “ 码” 的 由来 ,并加 以针 对 性 分 析 , 乱 电就是说 在刨建数据库时可 以指定它 自己的字 最后 给 出 了解决 方 案 。 二、J P ̄ S 身所支持的编码方式 I I 符集设 置 ,数据库的数据以指 定的编码形式存 J I 支持的e cdn 中与 中文编程相关的 睹 。当应用程序访问数据时 ,在入 口和出 口处 S n o ig 有 : A I bt si ;I O8 5 1 8 i 都会有 e c d n 转换 。 对于中文数据 ,数 SC I 7 iNaci S 89 bt l 7 no ig 8 9 、 S0 8 9 、 SO 8 9 ; 网 I就 J P S r lt 中 DBCS : : S / e ve 符编 同 8 5 l I 8 5 …l I 8 5 1 据库字 符编码 的 设置应 当保证数据 的完整性。 32 0 b 32 b 3 2 9 0 GB 32 2 1 ,GB K,U 8 等都是可选的数据库 TF 码 问 题 有 许 多优 秀 的 文 章 干 讨 论 ,本 文 对 GB2 l 8 同g 2 1 、g 2 1 l8 、EUC ¨ 3 31 K同MS 3 96;UT e c dn F8 它 们 作 一些 垫 , 结 合 I BM W e S he e CN 、 Cp1 81 1 8等 ;GB b p r n o ig;也可以选抒 1O85 一i (- i , S 89 8 bt ) NUTF ;GB10 0 同 C 19 、i9 。 ~8 83 p 3 2 32 那 么 用 程 序 写数 据 之 前 须 将 1Bt 的 一 个 6i Ap l ain ev r . ( pi t S r e 35 WAS)的解决方法 I c o GB 3 2 0 是 在国内计算机汉字信启、 2 l 8 技 汉字或 Unc d 拆分成两个 8 i io e bt的字符 , 作一些说明 ,希望它 是多余的。 术 发展 初始 阶 段制 定的 ,其 中包含 了大 部分 读数据之后 删需 将两个字节合并起来 ,同时还 问题的起源 、二 级汉,= 9 区的符号。该 字符 要判别其f 的 S C 字符。J P S rl 编程 {和 _ t B S S / eve t 每 个目家 ( 或区域 )都规定 了计算机信 息 常用的 一
JSP中文乱码的解决方案大全
如何解决JSP中文乱码的问题
一、Java中文问题的由来
Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java和JSP 文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题。
首先Java (包括JSP)源文件中很可能包含有中文,而Java和JSP 源文件的保存方式是基于字节流的,如果Java和JSP编译成class 文件过程中,使用的编码方式与源文件的编码不一致,就会出现乱码。基于这种乱码,建议在Java 文件中尽量不要写中文(注释部分不参与编译写中文没关系)如果必须写的话尽量手动带参数-ecoding GBK或-ecoding gb2312编译对于JSP在文件头加上<%@ page contentType=text/html;charset=GBK%:^<%@ page contentType=text/html;charset=gb2312%>基本上就能解决这类乱码问题。二、常见的解决方式
1,最基本的乱码问题。
这个乱码问题是最简单的乱码问题。一般新会出现。就是页面编码不一致导致的乱码。
<%@ page language=java pageEncoding=UTF-8%>
<%@ page contentType=text/html;charset=iso8859-1%>
<head>
<title> 中文问题</Mtle>
jsp页面传值中文乱码问题解决
存取数据库乱码
• 解决方案:在数据库连接参数中设置编码值
• 用Get方式传递参数,中文字符会出现乱码
客户端通过GET提交中文编码问题简单流程:
假如:
客户端和服务器用gb2312 HTTP传输编码用ISO8859_1
则: 服务器需要指示客户端文档的编码方式
Байду номын сангаас
gb2312
ISO8859_1
ISO8859_1
gb2312
Get查询字符串乱码
• 解决方案:Get提交默认是以ISO88591传递,如果容器没 有做配置修改,程序则需要手工进行编码转换
调用Servlet显示乱码
• 通过浏览器调用Servlet,Servlet在浏览器中显示内容出现 乱码
调用Servlet显示乱码
• 解决方案:在Servlet使用response在输出内容之前,先执 行response.setContentType("text/html;charset=UTF-8") 设定输出内容的编码为UTF-8
Post表单乱码
• 提交页面表单元素给对应的JSP页面或者Servelt后,接收 方出现表单数据中文值乱码
Post表单乱码
• 解决方案:在接收POST提交的参数之前,使用 request.setCharacterEncoding(“UTF-8")设定接收参数 的内容使用UTF-8编码
jsp页面显示中文乱码解决
jsp页面显示中文乱码:
jsp页面的编码方式有两个地方需要设置:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page contentType="text/html;charset=utf-8"%>
其中:pageEncoding 指的是jsp文件本身在本地保存时的编码方式。contentType的charset 是指服务器发送网页内容给客户端时所使用的编码。
从第一次访问一个jsp页面开始,到这个页面被发送到客户端,这个Jsp页面要经过三次编码转换:
第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成统一的UTF-8 JAVA源码(即.java),如果pageEncoding设定错了,或没有设定,出来的就是中文乱码。
第二阶段是由JAVAC的JAVA源码至java byteCode的编译,不论JSP编写时候用的是什么编码方案,经过这个阶段的结果全部是UTF-8的encoding的java源码。
JAVAC用UTF-8的encoding读取java源码,编译成UTF-8 encoding的二进制码(即.class),这是JVM对常数字串在二进制码(java encoding)内表达的规范。
第三阶段是Tomcat(或其的application container)载入和执行阶段二的来的JAVA二进制码,输出的结果,也就是在客户端见到的,这时隐藏在阶段一和阶段二的参数contentType就发挥了功效
如何解决乱码问题总结
如何处理中文乱码问题在Java编程中,经常会碰到汉字的处理及显示问题,以不小心就会产生一大堆乱码或者问号。造成这种问题的根本原因是Java中默认的编码方式是Unicode,而中国人通常使用的文件和DB都是基于GB2312或BIG5等编码,故会出现此问题。对于不同的问题,不同的JDK版本,不同的应用服务器(如Tomcat,Jboss,Weblogic),处理方法都会有一些微小的差异。在这里,主要针对Tomcat中JSP开发容易出现的中文乱码问题进行讨论,一般有以下几种情况:1.JSP中输出中文的乱码问题所谓在JSP输出中文,即直接在JSP中输出中文,或者给变量赋中文值再输出等,这种情况下的乱码问题往往是因为没有给JSP页面制定显示字符的编码方式,解决问题如下:·在JSP页面头部加上语句<%@ page contentType="text/html;charset=gbk"%>(在Servlet页面中使用httpServletResponse.setContentType("text/html;charset=gbk")),最好同时在JSP页面的head部分加上·在每次要输出中文的地方主动转换编码方式,比如要在页面中输入“中文”二字,就可以用以下方式:<%
String str="中文";
byte[] tmpbyte=str.getBtyes("ISO-8859-1");
str=new String(tmpbyte);
out.print(str);
%>2.获取表单提交的数据时的中文乱码问题在没有加任何其他处理之前,用request.getParameter(panamName)获取表单提交中的数据,且表单数据中含有中文时,返回的字符串会出现乱码。出现这种问题的原因是Tomcat的J2EE实现对表单提交,即以POST方式提交的参数采用默认的ISO-8859-1来处理。比如,建立一个test.jsp,内容为:<%@ page contentTyp="text/html;charset=gbk"%><%
String str=request.getParameter("chStr");
if(str==null) str="没有输入值";
%>中文Test你输入的内容为:<%=str%>请输入中文:运行过后,在输入框中输入汉字“中文”,提交过后再显示出来后就变成了一堆乱码。解决此问题的办法有两个。一是不修改其他设置,只是在将表单中的中文数据取出来过后再转换编码,方法如语句String str=request.getParameter("chStr");String str=new String(sre.getByte("ISO-8859-1"),"gbk"),但这种方法只是从一个局部来考虑问题,如果这样的地方太多,就不得不将这条语句重复写很多次,在
JSP中文乱码问题及解决方法
Sr g n me r q et e a a tr " sma t n a = e u s g t rme (u e me ) i . P e Sr g n me = e t n n m .e ye "S - 8 9 1 ) ” B t n a 2 n w Sr g( a eg t t i i B s(I O 8 5 - . K ) G
i S ,a d gv s o tt e slt n . n J P n ie u h oui s o
Ke wo d J P y r : S S rlt eve
C iee E cdn hn s n o ig
C aa trS t h rce e
1 JP中文 乱码 的原 因 S
<l t a m >< a m — a > n o n g / a a —n m e m -p m pm 。 me e c di < p r m a > n
< aa v le GB /aa p rm- au > K<p rm-vl e <ni aa <f e> au > i t rm> , r -p dt < h r ma pn > f tr a e S t h r ceen o ig / h r n me i f e - p ig < 'e-n d m > eC aa tr c dn <f e — a > i
JSP中文乱码问题解决办法
JSP中文乱码问题解决办法
当用request对象获取客户提交的汉字字符时,会出现乱码问题,所以对含有汉字字符的信息必须进行特殊处理。
常见的几种字符集编码:
⏹ASCII码:不支持中文
⏹ISO-8859-1:不支持中文
⏹GB2313、GBK:支持中文
⏹Unicode:支持中文
⏹UTF-8:支持中文
在解决JSP中文乱码问题前,弄清以下几点:
(1) windows平台采用的默认字符集编码是:GBK
(2) IE浏览器默认采用UTF-8字符集编码方式发送Http请求。
(3) Tomcat在处理Get请求时,永远采用ISO-8859-1编码;
Tomcat在处理Post请求时,默认采用ISO-8859-1编码;如果进行了如下设置request.setCharacterEncoding(“GBK”),则采用GBK编码。
可以使用如下几种方式解决JSP中文乱码问题。
1、方法一:调用自定义的转换函数
<%@page contentType="text/html;charset=GB2312"%>
<%!
public String getStr(String s) {
String str = s;
try {
byte[] b = str.getBytes("ISO-8859-1");
str = new String(b);
return str;
} catch (Exception e) {
return str;
}
}
%>
JSP乱码解决思路总结
JSP乱码解决思路总结
JAVA学习2009-10-24 08:55:47 阅读127 评论0 字号:大中小订阅
对于Java由于默认的编码方式是UNICODE,所以用中文也易出问题,常见的解决是
String s2 = new String(s1.getBytes("ISO-8859-1"),"GBK");
前三种方法是我比较常用的方法,别人的经验告诉我:通常get方法通过改server.xml解决,
post方法通过过滤器或者设置字符集解决,呵呵,不知道是否可行!
1、utf8解决JSP中文乱码问题
一般说来在每个页面的开始处,加入:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
%>
charset=UTF-8 的作用是指定JSP向客户端输出的编码方式为"UTF-8"
pageEncoding="UTF-8" 为了让JSP引擎能正确地解码含有中文字符的JSP页面,这在LINUX中很有效
request.setCharacterEncoding("UTF-8"); 是对请求进行了中文编码
有时,这样仍不能解决问题,还需要这样处理一下:
String msg = request.getParameter("message");
String str=new String(msg.getBytes("ISO-8859-1"),"UTF-8");
5种JSP页面显示为乱码的解决方法
5种JSP页面显示为乱码的解决方法
5种JSP页面显示为乱码的解决方法
1. JSP页面显示乱码。
2. Servlet接收Form/Request传递的参数时显示为乱码
3. JSP接收Form/Request传递的参数时显示为乱码
4. 用<jsp:forward page="catalog2.html"></jsp:forward>时页面显示乱码
5. 数据库存取的时候产生乱码。
下面给出全部解决方法:
1. JSP页面显示乱码。
第一种为在页面的开头加上:
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <!--这里的GBK可以由gb2312代替,此处以GBK为例。下同 -->
注:有时候如果不再页面开头加上这句,则页面中无法保存中文字符,并提示:中文字符在不能被iso-8859-1字符集mapped,这是由于默认情况下,JSP是用iso-8859-1来编码的,可以在Window->Preferences->General->Content Type选项下,在右边的窗口选择Text->Jsp,然后在下面的Default Encoding由默认的iso-8859-1改为GBK,然后点击update即可解决。
然而这种方式会带来一些问题:由于这一句在其他文件include该文件的时候不能被继承,所以include它的文件也需要在文件开头加上这句话,此时如果用的是pageEncoding="gbk"则会出现问题。类似于org.apache.jasper.JasperException: /top.jsp(1,1) Page directive: illegal to have multiple occurrences of contentType with different values (old: text/html;charset=GBK, new: text/html;charset=gbk).
jsp解决中文乱码的问题
1.JSP首部语句
将每个JSP页面的首部的如下语句修改为:
<%@ page contentType="text/html; charset=utf-8" %>
也就是说将字符编码设置为“utf-8”。
2.Struts.properties
在当前Web应用的“WEB-INF/classes”目录中增加一个struts.properties,内容如下(如有这2项配置就修改):
Struts.locale=zh_CN
Strcts.i18n.encoding=UTF-8
struts.properties文件定义了struts2框架的大量属性,读者可以通过改变这些属性来满足应用的需求。struts.properties文件是一个标准的Properties文件,该文件包含了系列的key-value对象,每个key就是一个struts2属性,改key对应的value就是一个struts2属性值。
struts.properties文件通常放在Web应用的“WEB-INF/classes”
路径下。实际上,只要将该文件放在Web应用的CLASSPATH路径下,Struts2框架就可以加载该文件。
此外,struts.properties文件的内容均可在struts.xml中以如下的形式来加入配置:
3.在web.xml中加入过滤器
在web.xml文件中加入的内容如下:
struts-cleanup
org.apache.struts2.dispatcher.ActionContextCleanup
struts-cleanup
JSP出现中文乱码问题解决方法详解
JSP出现中⽂乱码问题解决⽅法详解
在介绍⽅法之前我们⾸先应该清楚具体的问题有哪些,笔者在本博客当中论述的JSP中⽂乱码问题有如下⼏个⽅⾯:页⾯乱码、参数乱码、表单乱码、源⽂件乱码。下⾯来逐⼀解决其中的乱码问题。
⼀、JSP页⾯中⽂乱码
在JSP页⾯中,中⽂显⽰乱码有两种情况:⼀种是HTML中的中⽂乱码,另⼀种是在JSP中动态输出的中⽂乱码。
先看⼀个JSP程序:
<%@ page language="java" import="java.util.*" %>
<html>
<head>
<title>中⽂显⽰⽰例</title>
</head>
<body>
这是⼀个中⽂显⽰⽰例:
<%
String str = "中⽂";
out.print(str);
%>
</body>
</html>
上⾯这个JSP程序看起来好像是在页⾯显⽰⼏句中⽂⽽且标题也是中⽂。运⾏后在浏览器中显⽰如图所⽰
原因在于没有在JSP中指定页⾯显⽰的编码,消除乱码的解决⽅案很简单上⾯代码中page命令修改成如下所⽰即可
<%@ page language="java" import="java.util.*" contentType="text/html; charset=GB2312" %>
<html>
<head>
<title>中⽂显⽰⽰例</title>
</head>
JSP中文乱码的产生原因及解决方案
JSP中文乱码的产生原因及解决方案
在JSP的开发过程中,经常出现中文乱码的问题,可能一直困扰着大家,现在把JSP 开发中遇到的中文乱码的问题及解决办法写出来供大家参考。首先需要了解一下Java中文问题的由来:
Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题。首先Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保存方式是基于字节流的,如果Java和JSP编译成class文件过程中,使用的编码方式与源文件的编码不一致,就会出现乱码。基于这种乱码,建议在Java文件中尽量不要写中文(注释部分不参与编译,写中文没关系),如果必须写的话,尽量手动带参数-ecoding GBK或-ecoding gb2312或-ecoding UTF-8编译;对于JSP,在文件头加上<%@ page contentType="text/html;charset=GBK"%>或
<%@ page contentType="text/html;charset=gb2312"%>基本上就能解决这类乱码问题。
下面是一些常见中文乱码问题的解决方法(下面例子中ecoding采用的是gb2312,也可设为ecoding GBK或ecoding UTF-8):
一、JSP页面乱码
这种乱码问题比较简单,一般是页面编码不一致导致的乱码,一般新手容易出现这样的问题,具体分以下两种情况:
JSP技术中文乱码的原因及解决方法
码的转换 , 而且 会 因 开发 环 境 以及 使 用 开发 工具 不 同 , 存 储 在 内存 的编 码 形 式发 生 转换 . 种 编 码 之 间 的 转 换 没 有 使 每 规 律 。பைடு நூலகம்本 文 系统 地 分 析 了 J v aa中 字符 编 码 的转 换 , 最后 针 对 J P 中常 见 的 中文 乱码 情 况 , 出 了相 应 的 解 决 方 法 。 S 给
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Jsp乱码问题
Eclipse中源码的中文部分都显示成乱码
1(1)右键点击你的工程,选择Properties,打开面板后,选择Resource,将Test file encoding 项中选择Others,再选择UTF-8
(2)右键你的项目,选择属性,在里面进行设置。
编码,最好设置成UTF-8的,因为它的兼容性最好。
(3)eclipse 首选项中设你要的编码-也就是你说的那个空间要用的是什么字符编码
还有一个就是JSP的<%@ contenteType="text/html;charset=utf-8" page %>里面有二个
指定文件的编码。我用的是英文版的Eclipse,现在就用英文版来说明这个过程。
打开菜单–Window–Preferences–General–Content Types,展开右边Text旁的加号,向下查找到”Java Source File”,
2.乱码解决方法:
1.web服务器的编码设置
server.xml
//你也可以写一个过滤器
request.setCharacterEncding("utf-8")
response.setCharacterEncding("utf-8")
2.取参数时设置编码
request.setCharacterEncoding("utf-8");
3.对字符串进行强制转码
String name = request.getParameter("name");
name = new String(name.getBytes("is0-8859-1"),"utf-8");
4.源代码里的编码方式
a.设置项目属性,使它的编码方式与文件编码方式相同。
b.设置文件属性,使它的编码方式与文件编码方式相同。
还有数据库中,和数据库连接时也要设。。
回答者:qqgg123kk | 二级| 2011-3-5 14:52
<%@page language="java"contentType="text/html; charset=gb2312"
pageEncoding="utf-8"import="java.util.Date"%>
打开菜单–Window–Preferences–General–Content Types
JAVABEAN使用
jsp:useBean:为固定标示
Item:实例名;
ers:javabean包名。类名
scope:javabean作用范围
<%item.setName("names");//实例名.类方法
item.setPwd("nameftg");%>//实例名.类方法
<%=item.getClass().getName() %> //获取类名,getClass()方法无需在类中定义<%@include file="copyright.jsp"%>包含文件
注意:<>>的对应:
从一个页面另一个页面传参数
request.getParameter(“参数名”)
request.setAttribute(“”,””) //设置要传递的参数
request.getAttribute(“”,””) //获取传递来的参数
解决request参数乱码
打开菜单–Window–Preferences(首选参数)–General–Content Types
打开菜单–Window–Preferences(首选参数)–web–jsp files 改为uft -8;
request.setCharacterEncoding("UTF-8");
String user=URLEncoder.encode(request.getParameter("user"),"UTF-8"); COOKIE中文乱码
必须由.urlencode类的encode()方法将cookie统一编写
1.例如test.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ page import=".URLDecoder" %> //必须加
<%Cookie[] cookies = request.getCookies();//从request中获得Cookie对象的集合
String user = ""; //登录用户 String date = ""; //注册的时间
if (cookies != null) {
for (int i = 0; i < cookies.length; i++) { //遍历cookie对象的集合
if (cookies[i].getName().equals("mrCookie")) {//如果cookie对象的名称为mrCookie
user = URLDecoder.decode(cookies[i].getValue().split("#")[0]);//获取用户名并统一编码
date = cookies[i].getValue().split("#")[1];//获取注册时间
}}}if ("".equals(user) && "".equals(date)) {//如果没有注册
%>游客您好,欢迎您初次光临!
<%} else {//已经注册%>欢迎[<%=user %>]再次光临
您注册的时间是:<%=date %>
<%}%>
2.例如cookiedeal.jsp
<%@page language="java"contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<%@ page import=".URLEncoder" %> //必须引入
<%request.setCharacterEncoding("utf-8");