- 浏览: 181972 次
文章分类
最新评论
-
luxing44530:
你好, 关于 JDK 7中也有一个支持协程方式的实现 在那呀? ...
Java性能调优笔记 -
songgz:
你是一个会思考的人,前途无量,代码审查显然不能以风格和规则为主 ...
到底该怎么样做代码审查? -
jiaoronggui:
遇到过一模一样的问题
一条Select语句导致瓶颈 -
Leon.Wood:
写出让计算机读懂的代码很容易,写出让人读懂的只有高手才能做到. ...
到底该怎么样做代码审查? -
ajuanlove:
不经常用这玩意
对300万一张表数据,用游标进行循环,不同写法的效率比较
乱码问题应该是做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方法返回。
更多信息请查看 java进阶网 http://www.javady.com
发表评论
-
Java程序员从笨鸟到菜鸟之(三十三)大话设计模式之单例模式
2012-04-23 22:26 1025单例模式属于对象创建型模式,其意图是保证一个类仅有 ... -
Java程序员从笨鸟到菜鸟之(三十二)大话设计模式之设计模式分类和三种工厂模式
2012-04-23 22:25 1086设计模式分类 首先先简单说一下设计模式的分类设计模式可 ... -
Java程序员从笨鸟到菜鸟之(三十一)大话设计模式之设计模式遵循的七大原则
2012-04-23 22:24 707最近几年来,人们踊跃的提倡和使用设计模式,其根 ... -
Java程序员从笨鸟到菜鸟之(三十)javascript弹出框、事件、对象化编程
2012-04-23 22:24 1225一:弹出框 JavaScript ... -
Java程序员从笨鸟到菜鸟之(二十九)javascript对象的创建和继承实现
2012-04-23 22:23 648javascript对象的创建 JavaScri ... -
Java程序员从笨鸟到菜鸟之(二十四)Xml基础详解和DTD验证
2012-04-22 15:20 808Xml基础详解 Xml:可扩展标记语言 (Extens ... -
Java程序员从笨鸟到菜鸟之(二十二)华山论session和cookie机制
2012-04-22 15:19 932会话(Session)跟踪是Web程序中常用的技术,用 ... -
Java程序员从笨鸟到菜鸟之(二十一)java过滤器和监听器详解
2012-04-22 15:18 9381、Filter工作原理( ... -
Java程序员从笨鸟到菜鸟之(二十)jsp自定义标签
2012-04-22 15:17 763一、基本概念 1、标签(Tag) 标签是一种XML元 ... -
Java程序员从笨鸟到菜鸟之(十九)EL表达式和JSTL
2012-04-21 12:55 1030一:EL表达式: 1.定义:为了计算和输出存储在标志位 ... -
Java程序员从笨鸟到菜鸟之(十八)JSP基本语法与动作指令
2012-04-21 12:54 794Jsp,通常的被大家认为是做网页的前台界面,我刚学习的时 ... -
Java程序员从笨鸟到菜鸟之(十六)CSS基础积累总结(上)
2012-04-21 12:52 747一:CSS的工作原理 1. ... -
java程序员从笨鸟到菜鸟之(七)一—java数据库操作
2012-04-19 22:48 1349更多信息请查看 java进 ... -
Java程序员从笨鸟到菜鸟之(六)I/O流操作
2012-04-19 22:47 1600在软件开发中,数 ... -
Java程序员从笨鸟到菜鸟之(十)枚举,泛型详解
2012-04-19 22:48 1089一:首先从枚举开始 ... -
Java程序员从笨鸟到菜鸟之(九)——数据库有关知识补充(事务、视图、索引、存储过程)
2012-04-19 22:48 1020一:事务 首先看一下什么是事务: 通俗的理解,事务 ... -
Java程序员从笨鸟到菜鸟之(八)反射和代理机制
2012-04-19 22:48 776反射和代理机制是 ... -
java程序员从笨鸟到菜鸟之(七)一—java数据库操作
2012-04-18 21:14 0数据库访问几乎每一个稍微成型的程序都要用到的知识,怎么 ... -
Java程序员从笨鸟到菜鸟之(六)I/O流操作
2012-04-18 21:13 0在软件开发中,数据流和数据库操作占据了一个很重要的位置 ... -
Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
2012-04-18 00:12 750写在前面:由于前天 ...
相关推荐
JAVA程序员 从笨鸟到菜鸟
java程序员-从笨鸟到菜鸟.pdf
自学道路上的迷惑,所以从2012 年2 月份开始着手《java 程序员从笨鸟 到菜鸟》的编写。真心希望可以帮助刚起步学习java 开发的兄弟姐妹们。 没参与过中大型项目的开发,没有高的学历。所以此人之书只能供参考。
java程序员由菜鸟到笨鸟 作者:曹胜欢
java比较好的一篇文档,作者写的比较细,主要是一些基础概念说的比较细。
本电子书涵盖了从java基础到javaweb开放框架的大部分内容。在编写的过程中,难免会出现一些错误,希望大家能多多提些意见。
资源名称:《Java程序员-从笨鸟到菜鸟》PDF 下载资源目录:作者简介:..........................................................................................................................................
java程序员由菜鸟到笨鸟 一本值得java程序员看的书籍 给大家分享一下 喜欢的评个好评 谢谢
java程序员由菜鸟到笨鸟 作者:曹胜欢
java程序员由菜鸟到笨鸟 作者:曹胜欢
1.背景02. Netty 高性能之道0第 4 章第 4 章Java 数据库和网络Java 数据库和网络00Java 数据库操作0java 程序员从笨鸟到菜鸟之
摘要视图订阅曹胜欢欢迎关注微信账号:java那些事:csh624366188.每天一篇java相关的文章登录 | 注册Java程序员从笨鸟到菜鸟(81)3054