赵雅智_Java基础
文章平均质量分 88
主要介绍Java语言基础
莫兰迪不会没有瓶子
Travel, reading, programming, you and I are my life. This is what I think perfect.
展开
-
【web】赵雅智_Filter常见应用
统一全站字符编码的过滤器通过配置参数encoding指明使用何种字符编码,以处理Html Form请求参数的中文问题没配置过滤器:CharseterEncodingFilter.javapackage com.hbsi.filter;import java.io.IOException;import javax.servlet.Filter;import java原创 2012-12-04 21:16:04 · 1098 阅读 · 0 评论 -
【web】赵雅智_过滤器
Filter简介Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。Servlet API中提供了一个Filter接口,开发原创 2012-12-04 18:43:05 · 1086 阅读 · 0 评论 -
【web】赵雅智_文件上传
实现web开发中的文件上传功能,需完成如下二步操作:在web页面中添加上传输入项在servlet中读取上传文件的数据,并保存到本地硬盘中。如何在web页面中添加上传输入项?标签用于在web页面中添加文件上传输入项,设置文件上传输入项时须注意:必须要设置input输入项的name属性,否则浏览器将不会发送上传文件的数据。必须把form的enctype属值设为multipa原创 2012-11-29 20:55:40 · 1165 阅读 · 0 评论 -
【web】赵雅智_Apache—DBUtils框架详解与案例
Tip:O-R Mapping简介什么是O-R Mapping常用O-R Mapping映射工具HibernateIbatisCommons DbUtils(只是对JDBC简单封装)Apache—DBUtils框架简介commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且原创 2012-11-28 18:57:52 · 1315 阅读 · 0 评论 -
【web】赵雅智_框架技术
使用元数据简化JDBC代码业务背景:系统中所有实体对象都涉及到基本的CRUD操作:所有实体的CUD操作代码基本相同,仅仅发送给数据库的SQL语句不同而已,因此可以把CUD操作的所有相同代码抽取到工具类的一个update方法中,并定义参数接收变化的SQL语句。实体的R操作,除SQL语句不同之外,根据操作的实体不同,对ResultSet的映射也各不相同,因此可义一个query方法,除以原创 2012-11-27 20:50:15 · 1084 阅读 · 0 评论 -
【web】赵雅智_元数据
元数据- DataBaseMetaData元数据:数据库、表、列的定义信息。Connection.getDatabaseMetaData()DataBaseMetaData对象getURL():返回一个String类对象,代表数据库的URL。getUserName():返回连接当前数据库管理系统的用户名。getDatabaseProductName():返回数据库的产品名称。get原创 2012-11-27 15:42:08 · 898 阅读 · 0 评论 -
【web】赵雅智_jdbc开发
使用数据库连接池优化程序性能应用程序直接获取链接的缺点缺点:用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、宕机。【案例】传统方法连接数据库配置文件db.propertiesdriver=com.原创 2012-11-26 12:32:04 · 1202 阅读 · 0 评论 -
【JSP】赵雅智_jsp简介
JSP起源:只有局部内容需要动态产生和改变。在很多动态网页中,绝大部分内容都是固定不变的Servlet程序的代码将非常臃肿,编写和维护都将非常困难。使用Servlet程序来输出只有局部内容需要动态改变的网页,其中所有的静态内容也需要程序员用Java程序代码产生实现美工设计与java代码的结合。对大量静态内容的美工设计和相关HTML语句的编写,并不是程序员所要做的工作,程序员对此也不一定在行原创 2012-11-07 21:57:24 · 1136 阅读 · 0 评论 -
【WEB】会话_Session
什么是Session使用Cookie和附加URL参数都可以将上一次请求的状态信息传递到下一次请求中,但是如果传递的状态信息较多,将极大降低网络传输效率和增大服务器端程序处理的难度。 Session技术是一种将会话状态保存在服务器端的技术 ,它可以比喻成是医院发放给病人的病历卡和医院为每个病人保留的病历档案的结合方式 。 客户端需要接收、记忆和回送 Session的会话标识号,Sessi原创 2012-10-31 14:17:34 · 921 阅读 · 0 评论 -
【WEB】会话_Cookies
什么是会话?在日常生活中,从拨通电话到挂断电话之间的一连串的你问我答的过程就是一个会话。会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。会话过程中要解决的一些问题?每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,服务器要想办法为每个用户保存这些数据。例如:多个用户点击超链接通过一个s原创 2012-10-29 20:18:39 · 912 阅读 · 0 评论 -
【WEB】HTTP协议
HTTP简介 客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议集中的一个应用层协议,用于定原创 2012-10-17 16:49:27 · 1048 阅读 · 0 评论 -
【WEB】用Tomcat构建WEB站点
WEB应用的相关知识 安装 Tomcat Tomcat 的启动与停止 配置WEB站点的虚拟目录 配置虚拟主机 WEB应用的相关知识Web应用程序简介应用程序:指允许用户执行特定任务的软件程序,主要分为桌面应用程序和Web应用程序两种类型。桌面应用程序(Desktop Application):一般是指采用客户机/服务器结构(Client/Server)的应用程序。C原创 2012-10-15 20:12:42 · 1050 阅读 · 0 评论 -
String.getBytes()
在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如byte[] b_gbk = "中".getBytes("GBK");byte[] b_utf8 = "中".getBytes("UTF-8");原创 2014-05-22 18:20:12 · 2821 阅读 · 0 评论 -
replace和replaceAll
replace和replaceAll1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号;原创 2013-08-06 10:32:55 · 931 阅读 · 0 评论 -
赵雅智_Java 泛型
JDK5以前,对象保存到集合中就会失去其特性,取出时通常要程序员手工进行类型的强制转换,这样不可避免就会引发程序的一些安全性问题。泛形的典型应用:BaseDao例如:public class Demo1 { /** * @param args */ @Test public void test(){ ArrayList list = new ArrayL原创 2012-09-21 12:05:24 · 1000 阅读 · 0 评论 -
赵雅智_Java 反射
一个类有多个组成部分,例如:成员变量,方法,构造方法等。反射就是加载类,并解剖出类的各个组成部分。java反射机制提供的功能:在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时判断任意一个类所具有的成员变量和方法在运行时调用任意一个对象的方法。包括private的方法生成动态代理Java反射所需要的类并不多,主要有java.lang.Class类和java.l原创 2012-09-19 16:44:57 · 1831 阅读 · 1 评论 -
赵雅智_Java JDK 5.0 内省
为什么要学内省?开发框架时,经常需要使用java对象的属性来封装程序的数据,每次都使用反射技术完成此类操作过于麻烦所以sun公司开发了一套API,专门用于操作java对象的属性。什么是Java对象的属性和属性的读写方法?内省访问JavaBean属性的两种方式:通过PropertyDescriptor类操作Bean的属性通过Introspector类获得Bean对象的 Bea原创 2012-09-18 20:36:47 · 1770 阅读 · 0 评论 -
赵雅智_Java JDK 5.0 枚举
为什么需要枚举?一些方法在运行时,它需要的数据不能是任意的,而必须是一定范围内的值此类问题在JDK5以前采用自定义带有枚举功能的类解决,Java5以后可以直接使用枚举予以解决。JDK 5新增的 enum 关键字用于定义一个枚举类。枚举类练习 设计一个Student类 class Student{ private String name; priva原创 2012-09-18 19:32:57 · 1837 阅读 · 0 评论 -
赵雅智_Java JDK 5.0 新特性
静态导入自动装包/拆包for-each循环可变参数 静态导入JDK 1.5 增加的静态导入语法用于导入指定类的某个静态属性值(方法)或全部静态属性值(方法)语法:Import static 包名.类名.静态属性|静态方法|*静态导入语句使用 import static 语句导入指定类的单个静态属性:import static java.lang.Sy原创 2012-09-17 20:01:23 · 919 阅读 · 0 评论 -
赵雅智_java 网络编程(4)之URL
让IE作为客户端编写服务端程序:package net.csdn.web;import java.io.IOException;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;public class ServerDemo { /** * @param args原创 2012-09-14 15:38:54 · 1645 阅读 · 0 评论 -
赵雅智_java 网络编程(3)之上传文件和图片
上传文件和图片格式客户端:1.建立socket客户端,连接服务,要有目标ip和端口2.读取本地文件的内容3.输出到服务器端:通过socket的输出流 4.传输结束:socket的shutdownOutput()5.接受服务端传过来的上传成功提示:通过socket的输入流 6.关闭资源。服务器端1.建立ServerSocket服务,监听一个端口2.通过acce原创 2012-09-14 14:31:36 · 874 阅读 · 0 评论 -
赵雅智_java 数据库编程(1)
JDBC简介JDBC是数据库驱动SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC。JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成。由一些接口和类构成的API组成JDBC的2个包:java.sqljavax.sql开发JDBC应用需要以上2个包的支持外,还需要导入相应JDBC原创 2012-09-12 20:34:14 · 5079 阅读 · 0 评论 -
赵雅智_java 网络编程(3)之TCP
TCP:客户端服务端服务端:ServerSocket:编写TCP网络服务程序,首先要用到java.net.ServerSocket类用以创建服务器Socket构造方法:ServerSocket(int port):创建绑定到特定端口的服务器套接字ServerSocket(int port, int backlog):利用指定的backlog(服务器忙时保持连接请求的等待客户数量原创 2012-09-12 19:03:48 · 1142 阅读 · 0 评论 -
赵雅智_java网络编程(1)网络体系结构及通信协议
计算机网络,就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。计算机网络中实现通信必须有一些约定,即通信协议。对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。网络由下往上分为:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层原创 2012-09-12 15:12:41 · 1296 阅读 · 0 评论 -
赵雅智_java 多线程(3)之线程间的通信
线程间的通信两个或两个以上的线程处理同一个资源,处理的动作是不一样的。这样就需要将不同的动作代码放到不同的run方法中,run方法要封装到单独的类中。使用方法:同步中使用object类的方法wait():让当前线程处于等待状态,释放cpu资源,同时释放锁。notify():唤醒等待的线程,唤醒第一个notifyAll():唤醒所以等待的线程。 实例,生产原创 2012-09-05 16:43:58 · 873 阅读 · 1 评论 -
赵雅智_java 多线程(2)之线程同步
线程同步package com.csdn;class Tickets{ public int tickets; public Tickets(){ tickets = 10; }}public class SaleTicket { /** * @param args */ public static void main(String[]原创 2012-09-04 17:21:26 · 2357 阅读 · 0 评论 -
赵雅智_java 多线程(1)之简介,实现,生命周期
多线程简介进程和线程多线程的优缺点多线程实现继承Thread类实现Runnable接口多线程的生命周期与线程状态生命周期线程优先级线程调度多线程简介进程和线程程序:一段静态的代码。进程:程序的一次动态执行过程,它对应从代码加载、执行到执行完毕的一个完整过程。 进程也称任务,支持多个进程同时执行的OS就被称为多原创 2012-09-03 21:07:03 · 2729 阅读 · 1 评论 -
赵雅智_java GUI字体和颜色的控制
Color类 13种不同的颜色常量 颜 色 常 量 颜 色 RGB 值 Color . black 或 Color . BLACK黑0,0,0 Color . blue 或 Color .BLUE蓝0,0,255 Color . green 或 Color .GREEN绿0,25原创 2012-05-10 21:25:09 · 10398 阅读 · 0 评论 -
赵雅智_java GUI事件处理
从JDK1.1开始,Java采用了一种名为“委托事件模型”的事件处理机制,以支持Java GUI程序与用户的实时交互。 java事件和事件处理机制 委托事件模型事件(Event):用户在GUI组件上进行的操作,如鼠标单击、输入文字、关闭窗口等。 时间类对象用于描述发生了什么事情。 约定:组件在与用户交互时,遇到特定操作则会触发相应的事件,即自动创建事件类对象并提原创 2012-05-10 21:18:10 · 3023 阅读 · 0 评论 -
赵雅智_java GUI设计和布局
java GUI 设计GUI(Graphical User Interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。抽象窗口工具包:java.awt:提供基本GUI组件,视觉控制,绘图工具等java.awt.event:事件处理组件和容器:组件:基本组成元素,凡是能够以图形化方式显示在屏原创 2012-05-08 13:34:14 · 3304 阅读 · 2 评论 -
赵雅智 _java 集合类(2)
set:不区分元素顺序,不包含重复元素,最多一个Null元素集中主要方法:(同Collection)Bollean add(E o):添加boolean remove(Object o):删除boolean isEmpty():是否为空int size():个数HashSet构造方法:HashSet()HashSet( c)常用方法:boolean原创 2012-04-26 18:52:19 · 2171 阅读 · 0 评论 -
赵雅智_java 集合类
(为什么要用)集合:容器,存储对象,长度可变(集合与数组的区别)数组:容器,存储对象或基本数据类型,长度不可变】集合体系:Collection Set:无序,元素不重复 List:有序,元素可重复,通过角标操作 ArrayList:数组,查找快,插删慢 LinkLst :链表,查找慢,插删块 Vecto原创 2012-04-25 22:11:53 · 1948 阅读 · 0 评论 -
赵雅智_java java类
类库、应用程序的编程接口(Application Programming Interface,API):Java系统提供了大量的类和接口供程序开发人员使用,并且按照功能的不同,存放在不同的包中。java API的概念:java包的分类Java的核心包(Java core package)java.lang包:Java语言包,主要包含与语言、数据类型相关的类。自动导入ja原创 2012-04-19 22:18:31 · 1502 阅读 · 0 评论 -
赵雅智_java 二维数组
foreach循环自动遍历数组和集合的每个元素。格式: for(类型 变量名 : 数组名 | 集合名){ //变量自动迭代访问每个元素... }public class TestForEach{ public static void main(String[] args){ String[] names = {"Georgianna","Jen","Simon"}; for原创 2012-04-18 22:00:27 · 2706 阅读 · 0 评论 -
赵雅智_java 一维数组
数组:引用数据类型,一组相同类型的数据的有序集合。适用于集中管理类型相同、用途相近的多个数据。相同的数据类型:所有数组元素,可以是基本也可意是引用; 数组的长度不可改变:一旦数组的初始化完成,数组在内存中所占的存储空间将被固定下来;访问:通过数组元素的下角一维数组数组的长度:S数组中的元素个数一维数组的结构:10个int型数据组成一维数组s原创 2012-04-17 18:17:03 · 2445 阅读 · 0 评论 -
赵雅智_java 内部类
内部类 描述事物时,如果事物中包含事物,可使用内部类。例如:人体,心脏内可直接访问外所以成员,包括privte,但外访内先建立对象。其他外访问:外.内 对象 = new 外().内();内static,方法不是:外.内().方法;都是static:new 外.内.方法;声明:static、非static、private、protected、public及默认。class原创 2012-04-16 10:15:51 · 1871 阅读 · 0 评论 -
赵雅智_java 接口
规范与实现相分离的设计哲学扩展功能降低耦合一个类可以继承一个父类,可以实现多个接口接口是另一种定义数据类型的方式,它和类非常相似的。接口中只包含常量,抽象方法接口是另一种定义数据类型的方式,它和类非常相似的。相同之处:有成员变量、成员方法、继不同之处:接口中的属性:常量(final)、方法:抽象方法(特殊的抽象类)定义接口:[ public ] interfac原创 2012-04-12 22:11:34 · 1637 阅读 · 0 评论 -
赵雅智_java抽象类
抽象方法:基类中定义的方法,有时候只有在派生类中才能写出方法体。抽象方法声明格式: [修饰符] abstract 返回值类型 方法名([形式参数表]);抽象方法的特点抽象方法的返回值类型前有关键字abstract;抽象方法没有方法体;抽象方法的定义是一行单独语句,以分号结束;在抽象方法声明中使用static修饰符是错误的。例如,public abstract原创 2012-04-12 00:44:46 · 1701 阅读 · 0 评论 -
赵雅智_java final关键字
final关键字可用于修饰类、变量和方法,不可改变。final变量成员变量类变量:当类初始化时,系统会为类变量分配内存,并赋默认值。显示赋值、静态初始化块实例变量:当创建对象时,系统会为该对象的实例属性分配内存,并赋默认值。显示赋值、非静态初始化块、构造方法final修饰的类变量、实例变量能指定初始值的地方如下:类变量:静态初始化块或声明该属性时原创 2012-04-11 23:50:17 · 1523 阅读 · 0 评论 -
赵雅智_java final修饰符
final关键字可用于修饰类、变量和方法,不可改变。final变量成员变量类变量:当类初始化时,系统会为类变量分配内存,并赋默认值。显示赋值、静态初始化块实例变量:当创建对象时,系统会为该对象的实例属性分配内存,并赋默认值。显示赋值、非静态初始化块、构造方法final修饰的类变量、实例变量能指定初始值的地方如下:类变量:静态初始化块或声明该属性时原创 2012-04-11 23:48:25 · 742 阅读 · 0 评论