javaBean的基础知识及常见乱码解决方法

乱码问题应该是做javaWeb开发人员都遇到过的问题吧,这个问题当时还影响了我学习Java的想法,甚至有过想放弃的想法,没办法,当时年轻,呵呵。其实产生乱码问题的原因有很多,解决乱码的问题也有很多,现在就一一来看一下:
出现乱码的地方大致可以分为以下三种:
1 jsp页面中
2 jsp页面之间相互传参的参数
3 与数据库中数据的存取
解决方案大致可以分为三种:
1 出现在jsp页面中,是由于没有设置jsp页面的中文字符编码。
2 出现在jsp页面之间相互传参,是由于参数没有设置正确的字符编码。
3 以上2个问题解决了,那么存到数据库中,自然就不存在乱码。除非你对存入到数据库里的数据再次进行编码。
具体的解决方法:
1.在表单页面头部设置字符编码为utf-8
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
加上这句解决jsp页面中的中文乱码显示,tomcat编译完后向客户端输出的html文件不是采用中文编码,所以会导致乱码产生。
2.设置页面请求和回应的编码:
<%request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8"); %>
加上这句解决jsp页面中的中文参数传递乱码。把浏览器默认使用的编码设置为“UTF-8”发送请求参数。
3.String(request.getParameter("name").getBytes("ISO8859_1"),"utf-8");这句的意思是,把传来的参数全部编码转换成utf-8,这样做的缺点是每次传来一个参数都要这样写,很麻烦。
同样可通过设置server.xml配置文件来实现。
< Connector port ="8080" maxHttpHeaderSize ="8192" maxThreads ="150" minSpareThreads ="25" maxSpareThreads ="75" enableLookups ="false" redirectPort ="8443" acceptCount ="100" connectionTimeout ="20000" disableUploadTimeout ="true" URIEncoding ="utf-8"/>
但是这样就应用到整个webapp中去了。
4.还可以修改web.xml文件,配置一个过滤器。其原理都一样,只是换种方式而已
1.编写过滤器类:
package org.RN.util;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class Encoding implements Filter {
@SuppressWarnings("unused")
private FilterConfig config=null;
String encoding=null;
public void destroy() {
this.encoding=null;
this.config=null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(encoding!=null)
request.setCharacterEncoding(encoding);
chain.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
this.config=arg0;
this.encoding=arg0.getInitParameter("encoding");
}
}
2.在web.xml配置
<filter> <description>缓存过滤</description> <filter-name>Encoding </filter-name> <filter-class> filter.Encoding </filter-class> </filter> <filter-mapping> <filter-name>Encoding </filter-name> <url-pattern>*</url-pattern> </filter-mapping> </filter>
5.还有一种常见的乱码问题就是下载时出现文件名乱码
原来处理下载的代码如下:
response.setHeader("Content-Disposition", "attachment; filename=" + java.NET.URLEncoder.encode(fileName, "UTF-8"));
URLEncoder类包含将字符串转换为application/x-www-form-urlencoded MIME 格式的静态方法。
URLDecoder与URLEncoder 类相对应的URLDecoder 类有两种静态方法。它们解码以x-www-form-url-encoded这种形式编码的string。也就是说,它们把所有的加号(+)转换成空格符,把所有的%xx分别转换成与之相对应的字符:
JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 属性。
JavaBean的任务就是: “Write once, run anywhere, reuse everywhere”,即“一次性编写,任何地方执行,任何地方重用”。这个任何实际上就是要解决困扰软件工业的日益增加的复杂性,提供一个简单的、紧凑的和优秀的问题解决方案。
JavaBean 的范围 Scope 是一个具有生命时间的变量。JavaBean的范围在<jsp:useBean scope=”….>标志中右边进行表示。将产生一个JavaBean的快捷参考。 说明:jsp服务器引擎将剥离<jsp。。。。标记。并且在最终用户的浏览器上无法显示实际代码。
存在下面四种范围:页面page、请求request、对话session、应用application。
对话范围:
对话范围的JavaBean 主要应用于跨多个页面和时间段: 例如填充 用户信息。 添加信息并且接受回馈,保存用户最近执行页面的轨迹。对话范围JavaBean保留一些和用户对话 ID 相关的信息。这些信息来自临时的对话cookie,并在当用户关闭浏览器时,这个cookie将从客户端和服务器删除。
页面/请求范围:
页面和请求范围的JavaBean有时类似表单 的bean , 这是因为 他们大都用于处理表单。表单需要很长的时间来处理用户的输入,通常情况下用于页面接受HTTP/POST或者GET请求。另外页面和请求范围的bean可以用于减少大型站点服务器上的负载,如果使用对话bean,耽搁的处理就可能会消耗掉很多资源。
应用:
应用范围通常应用于服务器的部件,例如 JDBC 连接池、应用监视、用户计数和其他参与用户行为的类。 在Bean中限制HTML的产生: 理论上,JavaBean 将不会产生任何HTML,因为这是jsp层负责的工作;然而,为动态消息提供一些预先准备的格式是非常有用的。产生的HTML将被标注的 JavaBean方法返回。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# javaBean的基础知识及常见乱码解决
# javaBean
# 基础知识
# 常见乱码解决
# java网络编程基础知识介绍
# Java基础知识汇总
# Java基础知识精选 你答对了几道?
# servlet基础知识_动力节点Java学院整理
# java 基础知识之网络通信(TCP通信、UDP通信、多播以及NIO)总结
# java 基础知识之IO总结
# Java 面试题基础知识集锦
# Java基础知识杂文
# 表单
# 转换成
# 这句
# 出现在
# 三种
# 应用于
# 解决方法
# 数据库中
# 相对应
# 可以分为
# 客户端
# 是一个
# 这是
# 器上
# 也有
# 是一种
# 去了
# 还可以
# 都要
# 多个
相关文章:
建站10G流量真的够用吗?如何应对访问高峰?
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
已有域名和空间如何快速搭建网站?
,sp开头的版面叫什么?
中山网站推广排名,中山信息港登录入口?
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
如何生成腾讯云建站专用兑换码?
常州自助建站工具推荐:低成本搭建与模板选择技巧
建站VPS能否同时实现高效与安全翻墙?
三星网站视频制作教程下载,三星w23网页如何全屏?
如何在建站之星绑定自定义域名?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
如何在IIS中新建站点并配置端口与IP地址?
Python多线程使用规范_线程安全解析【教程】
Python文件管理规范_工程实践说明【指导】
建站之星代理如何优化在线客服效率?
如何规划企业建站流程的关键步骤?
在线制作视频网站免费,都有哪些好的动漫网站?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
如何安全更换建站之星模板并保留数据?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
建站主机服务器选型指南与性能优化方案解析
网站插件制作软件免费下载,网页视频怎么下到本地插件?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
详解jQuery中基本的动画方法
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
建站之星后台密码遗忘如何找回?
制作表格网站有哪些,线上表格怎么弄?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
如何通过VPS建站无需域名直接访问?
ui设计制作网站有哪些,手机UI设计网址吗?
如何用IIS7快速搭建并优化网站站点?
制作营销网站公司,淘特是干什么用的?
,南京靠谱的征婚网站?
网站制作需要会哪些技术,建立一个网站要花费多少?
开心动漫网站制作软件下载,十分开心动画为何停播?
已有域名和空间,如何快速搭建网站?
如何在IIS7中新建站点?详细步骤解析
制作网站公司那家好,网络公司是做什么的?
如何在香港免费服务器上快速搭建网站?
如何在IIS管理器中快速创建并配置网站?
如何用美橙互联一键搭建多站合一网站?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
如何在阿里云高效完成企业建站全流程?
为什么Go需要go mod文件_Go go mod文件作用说明
营销式网站制作方案,销售哪个网站招聘效果最好?
*请认真填写需求信息,我们会在24小时内与您取得联系。