2009年3月31日
摘要:
复习提纲
一 Servlet及web服务器相关概念(了解)
tomcat配置(能熟练操作)
二 Servlet基础(重点,必须熟记于心)
a.Servlet的调用过程
b.Servlet接口
c.servlet的生命周期
d.MVC框架
e.Servlet的控制流转
f.Servlet的url-pattern
三 Session(会...
阅读全文
posted @
2009-03-31 19:42 faye 阅读(566) |
评论 (0) |
编辑 收藏
摘要:
一.JDBC原理概述
1,JDBC是一套协议,是JAVA开发人员和数据库厂商达成的协议,也就是由Sun定义一组接口,由数据库厂商来实现,并规定了JAVA开发人员访问数据库所使用的方法的调用规范。
2,JDBC的实现是由数据库厂商提供,以驱动程序形式提供。
...
阅读全文
posted @
2009-03-31 19:41 faye 阅读(701) |
评论 (0) |
编辑 收藏
Input / Output:指跨越出JVM的边界,与外界数据的源头或者目标数据源进行数据交换.
输出 Output
------------------------------->
JVM 数据源
<-------------------------------
输入 Input
注意:输入/输出是针对JVM 而言。
File 类
可表示一个文件,也有可能是一个目录(在JAVA中文件和目录都属于这个类中,而且区分不是非常的明显,可以调用isDirectory()和isFile()来判断)。
常用的方法:
exists() 用来判断 文件或目录是否存在。
isDirectory() 判断是否是目录
isFile() 判断是否是文件
mkdir() 创建目录
mkdirs() 创建目录包括它下面的子目录。
getAbsolutePath() 得到文件绝对路径
getParentFile() 得到父目录的File对象
list() 得到文件名的String数组 (得到当前目录下的文件名,目录名)
listFiles() 返回File类型数组,(目录,文件的File对象)可用getName()得到文件名。
delete() 删除文件
getName() 得到文件名
getPath() 得到文件相对路径
separtor() 得到文件分隔符 //这个方法有更好的通用性,平台不同结果不同
deleteOnExit() 在进程退出的时候删除文件,常用在临时文件的删除。
1、流的概念:
输出流
程序----------->文件、网络
程序<-----------数据来源
输入流
2、流的分类:
按处理方式来分:
字节流:按8位传输 InputStream OutputStream
字符流:按16位传输 Reader Writer
按功能来分:
节点流:与文件、网络打交道的流,操作数据的来源
处理流(包装流):操作节点流
如何区分:
输入流:以InputStream、Reader结尾的流
FileInputStream BufferedReader
输出流:以OutputStream、Writer结尾的流
FileOutputStream PrintWriter
字节流:以InputStream、OutputStream结尾的流
字符流:以Reader、Writer结尾的流
节点流:看构造器,参数为数据来源,参数是String或File之类的
new FileInputStream("d:\\abc.txt");
new FileOutputStream(new File("d:\\abc.txt"))
处理流:构造器的参数为其它流
new BufferedReader(new InputStreamReader(new FileInputStream("d:\\abc.txt")));
选择流时:
首先确定是输入还是输出。
其次确定是字节流还是字符流。
然后确定是节点流还是处理流。
根据数据类型选择输入/输出流:
①byte、byte[] InputStream / OutputStream
②int、byte、char、double DataInputStream / DataOutputStream
③char、String Reader / Writer
④Object ObjectInputStream / ObjectOutputStream
若考虑性能会在前试着加Buffered
3、常用流:
DataInputStream&DataOutputStream 用于读写基本类型数据,如int、float、long、double和boolean等。
此外,DataInputStream的readUTF()方法还能读取采用UTF-8字符编码的字符串。
BufferedInputStream&BufferedOutputStream
因为利用了缓冲区,所以常用于提高读写数据的效率。
BufferedInputStream先把一批数据读入到缓冲区,接下来read方法只需要从缓冲区内获得数据,减少了物理性读取数据的次数。
可以使用BufferedInputStream(InputStream in, int size) 中的size来指定缓冲区的大小
ObjectOutputStream&ObjectInputStream
对象的序列化是指把对象写到一个输出流中,
对象的反序列化是指从一个输入流中读取一个对象。
Java语言要求只有实现了java.io.Serializable接口的类的对象才能序列化和反序列化
Reader/Writer
当需要程序读写文本文件,而且文本文件采用特定的字符编码集时,应采用Reader/Writer。
InputStreamReader & OutputStreamWriter 桥梁流
把字节流转换成字符流
在桥转换的时候可以指定编解码方式
BufferedReader
readLine()方法可以一次读入一行字符,以字符串形式返回。
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("file"),"UTF-8"));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("file"),"UTF-8"));
PrintWriter 输出格式化的数据,所有的写数据的方法以print开头。
print (int i)
print (long l)
print (float f)
print (String s)
每个print() 方法都有一个println()方法对应
a.
printWriter.println("Hello");
b.
printWriter.print("Hello");
printWriter.println();
c.
printWriter.print("Hello\n");
以上三段代码是等价的
4、JAVA编码问题:UTF-8,GBK,GB2312是可以显示中文的。
ASCII 一个字符-----1B 任何一种编码均兼容 A<-->65
ISO8859-1 (西欧) 一个字符-----1B
GB2312 / GBK 一个字符-----2B
Unicode 一个字符-----2B 会增加网络负担 Java中的char是Unicode
UTF-8 变长字节(变长的Unicode方式)
英文-----1B
中文-----3B
提供编码帮助的类:java.nio.charset.Charset
GBK---中、日、韩,gb2312是GBK的子集
会出现中文编码问题的情况:
1、用流操作文件时
2、网页(动态、静态)
3、网络传递信息时
String--->乱码(再次转码)
String temp=p.getProperty("name");
temp=new String(temp.getBytes("ISO8859-1"),"GBK");这两处的编码有时需要互换位置
对象序列化
1:定义:把对象作为一个整体,在I/O流中传播
2:语法:
(1)实现了Serializeble接口的对象才能可序列化。这个接口里没有任何方法,没有方法的接口称为标记接口。
例如:class Student implements Serializeble{}
(2)如果一个序列化后的对象里面有一个属性是个对象属性,那么这个对象属性也需要实现序列化。
例如:class Student implements Serializeble{
Teacher t;//必须序列化
}
class Teacher implements Serializeble{}
(3)包名、类名、属性可以被序列化
方法、构造器不会序列化
所有的静态属性都不会被序列化
用transient关键字修饰的属性是临时属性,临时属性不参与序列化。
3:使用注意:
a.用readObject读文件的时候,当文件结束的时候会抛出EOFException,当我们捕获这个异常的时候,程序就结束了。
b.如果需要向一个文件中追加对象,首先要把文件中原有的对象读出来,再把原有对象和新追加的对象一起写入到文件。
c. serialVersionUID是静态常量,表示当前对象的版本号,在接受传输的数据时会自动检查该值,保证版本的相同。
java.util.Properties属性类,针对属性文件操作,早期使用。
好处是可以在不修改代码的情况下改变相应的需求。
文件名以.properties结尾的文件称为属性文件
文件的内容是:名字=值 的形式
常用方法:
public void load(InputStream inStream)throws IOException
从输入流中读取属性列表
public void store(OutputStream out,String comments)throws IOException
把属性列表写入输出流
public String getProperty(String key)
public String getProperty(String key,String defaultValue)
public Object setProperty(String key,String value)
posted @
2009-03-31 19:40 faye 阅读(188) |
评论 (0) |
编辑 收藏
摘要:
Hibernate总结
一、应用程序的分层结构
(1)应用软件的三层结构:
1)表述层:提供与用户交互的界面。GUI(图形用户界面)和Web页面时表述层的两个典型的例子。
2)业务逻辑层:实现各种业务逻辑。例如当用户发出生成订单的请求时,业务逻辑层负责计算订单的价格、验证订单的信息,以及把订单信息保存到数据库中。
3)数据库层:负责存放和管理应用的持久性业务数据。例如对于...
阅读全文
posted @
2009-03-31 19:39 faye 阅读(790) |
评论 (0) |
编辑 收藏
摘要:
AJAX开发简略
一、 AJAX定义
Ajax并不是一种新的技术,而是一种新的Web应用开发模型。AJAX(Asynchronous JavaScript and XML)其实是多种技术的综合,包括Javascript、XHTML和CSS、DOM、XML和XSTL、XMLHttpRequest。
&...
阅读全文
posted @
2009-03-31 19:37 faye 阅读(89) |
评论 (0) |
编辑 收藏