servlet的历史
servlet技术规范的第一版诞生于1997年,在到2009年的12年时间里已经历经了七次版本更新。最新的版本是 servlet3.0 。从其诞生时间来看,servlet已经是一门十分古老的技术了。尽管servlet年岁不小、饱经沧桑,但是作为java应用程序(java企业开发)的底层技术支撑,依旧默默无闻的发挥着重要作用。 More …
MYSQL对于整型的划分应该说是最细致的,总共分了5档,由小到大分别是:TINYINT 、 SMALLINT 、MEDIAINT 、INT 、 BIGINT。BOOL类型和BIT类型也可以看做TINYINT(1),但此处还是暂时忽略不计。因为之前习惯了Oracle中一个number就搞定所有数值的方式,所以最初这超细粒度的类型划分还是给我带来了不小的困惑。 More …
其实早就发现文章的发布时间显示有些问题,起初以为是虚拟主机的时间设置有问题,后来发现并非如此,真正的原因只是wordpress本身的设置。
进入wordpress后台,选项–》常规–》日期与时间–》国际标准时间 (UTC) 是:此处显示的时间就是发布文章时所使用的时间。
在该选项的下面,还有一栏:本 Blog 的时间与上面的时间相差:,而后面的注释中已经明确的提到:您的时区,例如 +8 代表北京时间。看来只是自己以前从来没有注意过这个细节而已。
首先,说说JSP/Servlet中的几个编码的作用。
在JSP/Servlet中主要有以下几个地方可以设置编码,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内部定义的字符串(直接在JSP中定义,而不是从浏览器提交的数据)出现乱码时,很多都是由于该参数设置错误引起的。例如,你的JSP文件是以GBK为编码保存的,而在JSP中却指定pageEncoding=”UTF-8″,就会引起JSP内部定义的字符串为乱码。
另外,该参数还有一个功能,就是在JSP中不指定contentType参数,也不使用response.setCharacterEncoding方法时,指定对服务器响应进行重新编码的编码。 More …
gb2312编码简介
gb2312(又称为GB 2312-80)编码是一个简体中文字符集的中国国家标准,全称为《信息交换用汉字编码字符集·基本集》,又称为GB0,由中国国家标准总局发布,1981年5月1日实施。
更多详细介绍:http://zh.wikipedia.org/zh-cn/Gb2312
GBK编码简介
GBK全名为汉字内码扩展规范,英文名Chinese Internal Code Specification。K 即是“扩展”所对应的汉语拼音(KuoZhan11)中“扩”字的声母。GBK 来自中国国家标准代码GB 13000.1-93。
更多详细介绍:http://zh.wikipedia.org/zh-cn/GBK
GBK编码产生的原因
由于GB2312-80只收录了6763个汉字,有不少汉字,如部分在GB 2312-80推出以后才简化的汉字(如“啰”),部分人名用字(如中国前总理朱镕基的“镕”字),台湾及香港使用的繁体字,日语及朝鲜语汉字等,并未有收录在内。中文电脑开发商,于是利用了GB 2312-80未有使用的编码空间,收录了所有出现在Unicode 1.1及GB 13000.1-93之中的汉字,制定了GBK编码。
在实际的项目开发中,使用gb2312编码经常会造成部分人名无法正常显示,所以一般推荐使用GBK编码,比如:
<%@ page pageEncoding="GBK"%>
唯一索引
唯一索引不允许两行具有相同的索引值。
如果现有数据中存在重复的键值,则大多数数据库都不允许将新创建的唯一索引与表一起保存。当新数据将使表中的键值重复时,数据库也拒绝接受此数据。例如,如果在 employee 表中的职员姓氏(lname) 列上创建了唯一索引,则所有职员不能同姓。
主键索引
主键索引是唯一索引的特殊类型。
数据库表通常有一列或列组合,其值用来唯一标识表中的每一行。该列称为表的主键。
在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。 More …
URL重写在互联网中应用的很广泛,而在java的世界中,需要对URL进行重写的需求则弱了许多,这大概跟java更侧重于业务系统的开发有关吧。不过还是有有心人开发了URL重写的类库,以下是其中一款:
通过过滤器来实现的URL重写类库,收藏一下,以备后用。
在Web服务器端编程中,会话状态管理是一个经常必须考虑的重要问题。本文分析JSP/Servlet的会话管理机制及其所面临的问题,然后提出了一种改进的会话管理方法。
一、Servlet的会话管理机制
根据设计,HTTP是一种无状态的协议。它意味着Web应用并不了解有关同一用户以前请求的信息。维持会话状态信息的方法之一是使用Servlet或者JSP容器提供的会话跟踪功能。Servlet API规范定义了一个简单的HttpSession接口,通过它我们可以方便地实现会话跟踪。
HttpSession接口提供了存储和返回标准会话属性的方法。标准会话属性如会话标识符、应用数据等,都以“名字-值”对的形式保存。简而言之,HttpSession接口提供了一种把对象保存到内存、在同一用户的后继请求中提取这些对象的标准办法。在会话中保存数据的方法是setAttribute(String s, Object o),从会话提取原来所保存对象的方法是getAttribute(String s)。 More …