- 博客(164)
- 问答 (1)
- 收藏
- 关注
原创 注解
1、注解概述 注解的作用:注解用来替代配置文件的,以前要写一些配置文件,例如web.xml,包含和等内容使Tomcat读取,Servlet3.0中可以使用注解来代替配置文件然后Tomcat来读取注解。 注意:注解是类,需要定义了才能使用。例如,有一个注解类为@WebServlet,我们就可以在Servlet中使用@WebServlet这个注解,它用来替代配置。然后Tomcat会
2016-01-20 08:41:59 981 3
原创 JSON
1、JSON概述JSON(JavaScript Object Notation) ,JavaScript对象标记,是一种轻量级的数据交换格式。使用字符串来表示Javascript对象,例如可以在Servlet中发送一个JSON格式的字符串给客户端Javascript,Javascript可以执行这个字符串,得到一个Javascript对象。XML也可以用来做为数据交换,前面已经学习过在Se
2016-01-18 15:00:36 578 2
原创 XStream
1、XStream概述 XStream可以把JavaBean对象转换成XML,通常服务器向客户端响应的数据都是来自数据库的一组对象,而我们不能直接把对象响应给响应端,所以我们需要把对象转换成XML再响应给客户端,这时就需要XStream。 也就是说,XStream是一门将对象转换成XML的技术。 XStream相关jar包: ● 核心JAR包:xstream-1
2016-01-18 13:12:06 3461 2
原创 AJAX发送POST、GET请求
1、发送POST请求注意事项POST请求必须设置ContentType请求头的值为application/x-www.form-encoded。表单的enctype默认值就是为application/x-www.form-encoded,因为是默认值,大家可能会忽略。当设置了的enctype=” application/x-www.form-encoded”时,等同与设置了Cotnent-Ty
2016-01-18 12:07:37 4150 3
原创 AJAX
1、AJAX概述 AJAX(Asynchronous Javascript And XML),异步Javascript和XML。就是使用Javascript语言与服务器进行异步交互,传输的数据为XML(传输的数据也不只是XML)。AJAX还有一个最大的特点就是,当服务器响应时,不用刷新整个浏览器页面,而是可以局部刷新。这一特点给用户的感受是在不知不觉中完成请求和响应过程。
2016-01-17 23:21:48 610 2
原创 JavaMail发送邮件
1、收发邮件发邮件是从客户端把邮件发送到邮件服务器,收邮件是把邮件服务器的邮件下载到客户端。我们在163、126、QQ、sohu、sina等网站注册的Email账户,其实就是在邮件服务器中注册的。这些网站都有自己的邮件服务器。2、邮件协议概述与HTTP协议相同,收发邮件也是需要有传输协议的。 SMTP:(Simple Mail Transfer Protocol,简单邮件
2016-01-16 16:43:30 1197 2
原创 文件的上传与下载
前言:我们经常使用的云盘,就是利用文件的上传下载技术,大大方便了我们的生活,而且在网站注册或考试报名时,也使用了上传下载技术,例如上传照片等。1、文件上传对表单的要求 ● 必须使用表单,而不能是超链接; ● 表单的method必须是POST,而不能是GET; ● 表单的enctype必须是multipart/form-data; ● 在表单中添加file
2016-01-16 10:10:27 1395 4
原创 页面静态化
1、什么是静态页面? 在网站中,有些为用户显示的内容是经常不变的,如果浏览这些内容的话,每次都要向数据库获取,这无形中增加很大压力,所以针对这些不变的东西,就可以应用页面静态化技术。去访问静态页面上的东西,访问速度就快多啦。 页面静态化是把动态页面生成的html保存到服务器的文件上,然后再有相同请求时,不再去执行动态页面,而是直接给用户响应上次已经生成的静态页面。而且静态页面还
2016-01-15 14:49:12 1096 4
原创 网站字符编码
1、如何处理全站字符乱码? 处理全站字符乱码,即POST和GET中文编码,一般处理如下: ● POST请求:request.setCharacterEncoding(“utf-8”); ● GET请求:new String(request.getParameter(“xxx”).getBytes(“iso-8859-1”), “utf-8”); ●
2016-01-15 14:14:01 877 4
原创 JavaWeb过滤器
1、过滤器概述 过滤器是JavaWeb三大组件之一,与Servlet很相似,不它过滤器是用来拦截请求的,而不是处理请求的。当用户请求某个Servlet时,会先执行部署在这个请求上的Filter,如果Filter“放行”,那么会继承执行用户请求的Servlet;如果Filter不“放行”,那么就不会执行用户请求的Servlet。 其实可以这样理解,当用户请求某个Servlet时,
2016-01-15 10:31:45 1243 1
原创 编程国际化
1、什么是国际化 国际化就是可以把页面中的内容可变成中文可变成英文。例如在页面中的登录表单: 要页面中的文字切换,就不能使用硬编码,例如下面的页面中都是硬编码: 这样的编码是不能实现语言之间的切换的。上图中的中文想转换成英文,就需要把它们都变成活编码: 只有这样能够实现灵活的获取才能实现切换。2、Locale类
2016-01-14 15:39:34 1302 3
原创 JavaWeb监听器
1、监听器概述 监听器是javaweb中三大组件(Servlet、Listener、Filter)之一,整个监听事务中参与对象分为: 事件源(被监听者); 监听者; 监听器; 事件。 用生活中的事务举例,警察是监听者;小偷是事件源;小偷盗窃是事件;警察监听小偷,当小偷执行(触发)盗窃这个事件的时候,立即执行监听器中的代码(抓捕)。需要注意
2016-01-14 12:34:31 1359 3
原创 DBUtils
1、DBUtils概述 DBUtils是Apache Commons组件中的一员,DBUtils的Jar包是dbutils.jar,开源免费,DBUtils是对JDBC的简单封装,可以把结果集转化成我们想要得到的形式,当前应用很广泛。2、DBUtils主要类 ● DbUtils:DbUtils是一个为做一些诸如关闭连接、装载JDBC驱动程序之类的常规工作提供
2016-01-13 10:38:35 1904 3
原创 数据库连接池
1、数据库连接池的概念 在一个复杂的数据库应用中,会对数据库进行大量访问,频繁的建立、关闭连接,会极大的减低系统的性能,因此对于连接的使用成了系统性能的瓶颈。 数据库连接池就是来解决这一问题的,其基本原理是创建连接池并在池中维护一定数量的数据库连接,对外暴露数据库连接获取和返回方法。用池来管理Connection,这可以重复使用Connection。我们也不需要自己创建Conn
2016-01-13 08:55:38 958 2
原创 数据库锁的基本原理
前言:为了保证数据的完整性和一致性,数据库系统采用锁来实现事务的隔离性。各种大型数据库采用的锁基本理论是一致的,但在具体实现上各有差别。从并发事务锁定的关系上看,可以分为共享锁定和独占锁定。从锁定的对象不同,一般可以分为表锁定和行锁定。1、锁的分类 锁分为悲观锁和乐观锁: ● 悲观锁:悲观的思想,认为并发问题总会出现,每次一个事务读取某一条记录后,就会把这条记录
2016-01-12 16:41:06 1448 2
原创 事务的隔离级别
1、事务的并发问题(1)丢失更新:一个事务的更新被另一个事务的更新覆盖了,例如:(2)脏读:读取到另一个事务未提交数据;(3)不可重复读:时间转账事务A取款事务BT1 开始事务T2开始事务 T3
2016-01-12 16:27:42 739 3
原创 事务
1、事务概述 事务(Transaction)是并发控制的基本单位。它是一个操作序列,这些操作要么都执行,要么都不执行,是一个不可分割的工作单位。事务具有四大特性,简称为ACID: ● 原子性(Atomicity):事务中所有操作是不可再分割的原子单位。事务中所有操作要么全部执行成功,要么全部执行失败。 ● 一致性(Consistency):事务执行后,数据库状态与其它业务
2016-01-12 15:36:45 754 5
原创 PreparedStatement与SQL批处理
1、服务器如何执行SQL语句? 当服务器接收到一条SQL语句后,服务器先要校验这条SQL语句的语法格式是否正确,然后把SQL语句编译成可执行的函数,最后执行这个函数就是执行了SQL语句。其中校验语法,和编译所花的时间比执行SQL语句花的时间还要多很多。比如我们要执行多次insert语句,如果按照平常方法,会每插入一条记录就写一条SQL语句,所以MySQL服务器需要每次都去校验每一条S
2016-01-11 16:34:50 1775
原创 JDBC对象
1、JDBC中的主要类(接口) 在JDBC中常用的类有四种,分别是:DriverManager;Connection;Statement;ResultSet。2、DriverManager DriverManager最主要的方法是getConnection(),它的实现总共分两步: (1)注册驱动Class.forName(“com
2016-01-11 12:13:29 723
原创 JDBC
1、什么是JDBC? JDBC(Java DataBase Connectivity),Java数据库连接,是用Java语言对数据库进行操作的技术。这样我们就不必非要去控制台或相关软件用SQL语句来操作数据库了,只要使用Java代码就能向数据库发送SQL语句了。2、JDBC原理
2016-01-11 10:12:10 927
原创 mysql DQL exercise
前言:本文不以讲解为目的,专用做数据库操作练习。************************************************************************************************************************************1、查询每种工作的最高工资、最低工资、人数/*列:部门、最高
2016-01-09 17:53:24 851
原创 概念模型
1、概念模型 当我们要完成一个软件系统时,需要把系统中的实体抽取出来,形成概念模型。概念模型在Java中称为实体类,实体类--是与数据库中的表对应的,一种orm(对象与关系的映射);实体类在Java中的体现形式就是javaBean(所以说javabean是实体类的一种)。 类使用成员变量来完成关系,一般都是双向关联!例如部门、员工都是系统中的实体。概念模型中的实体最终会成为Ja
2016-01-09 12:26:29 1317
原创 mysql 完整性约束
前言:数据完整性约束是一组完整性规则的集合。它定义了数据模型必须遵守的语义约束,也规定了根据数据模型所构建的数据库中数据内部及其数据相互间联系所必须满足的语义约束,约束是添加到列上的,用来约束列。 完整性约束是数据库系统必须遵守的约束,他限定了根据数据模型所构建的数据库的状态以及状态变化,以便维护数据库中数据的正确性、有效性和相容性,如果数据不正确,那么一开始就不能添加到表中。下面来让我们盘
2016-01-09 11:26:30 941
原创 mysql 编码问题
1、查看MySQL编码 语法:SHOW VARIABLES LIKE 'char%'; 因为当初安装时指定了字符集为UTF8,所以所有的编码都是UTF8。 ● character_set_client:无论客户端传递的是什么编码的数据,服务器都当成该编码来处理,例如该编码为UTF8,那么如果客户端发送过来的数据不是UTF8,那么就会出现乱码;
2016-01-09 09:29:27 1314
原创 mysql → 多表查询
1、多表查询的种类?在实际查询中,我们会更多的使用多表查询,那么多表查询的种类有哪几种呢?如下:(1)合并结果集;(2)连接查询内连接外连接左外连接右外连接全外连接(MySQL不支持)自然连接子查询2、合并结果集作用:合并结果集就是把两个select语句的查询结果纵向合并到一起。要求:被合并的两个结果:列数、列类型必须相同。合并结
2016-01-08 22:47:00 1900
原创 结构化查询语言
1、什么是SQL?SQL(Structure Query Language)官方为各关系型数据库规定的统一的结构化查询语言,是数据库的核心语言, 具有操作所有关系型数据库管理系统的能力。但是各个品牌的数据库各自具有一些其他数据库不具备的功能或沿袭下来的语法,相当于普通话规定之外的方言。例如MySQL中的LIMIT语句就是MySQL独有的方言,其它数据库都不支持,当然,Oracle或SQL Se
2016-01-08 17:44:00 5057
原创 MySQL函数
前言:操作mysql需要使用结构化查询语言,其中为了完成特定功能,也会使用一些常用函数,下面让我们来盘点一下这些函数有哪些分类,常用的有哪些。1、字符串相关函数 ● ASCII(String) 返回字符串第一个字母的ASCII码。 例:SELECT ASCII('A'); SELECT ASCII('AB'); 这两条语句都
2016-01-08 16:45:57 684
原创 MySQL的安装、卸载
前言:数据库就是用来存储和管理数据的仓库,可以存储大量基本数据与音频、视频。其发展历程经历了磁盘文件存储、层次结构模型数据库、网状结构模型数据库、关系结构模型数据库、关系-对象模型数据库等阶段。我们现在所说的数据库泛指“关系型数据库管理系统(RDBMS - Relational database management system)”,即“数据库服务器”。MySQL就是关系型数据库,感觉安装、
2016-01-08 09:10:14 686
原创 MVC架构
1、MVC简介 MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,最早为Trygve Reenskaug 提出,为施乐帕罗奥多研究中心(Xerox PARC)的Smalltalk语言发明的一种软件设计模式。 MVC结构是位那些需要为同样的数据提供多个视图的应用程序而设计的,通过把职责、性质相近的成分归结在一起,不相近的进行隔离,把软
2015-12-30 11:31:29 1801 6
原创 JSP九大内置对象
JSP九大内置对象分别是: ● 输出输入对象:request 对象、response 对象、out 对象; ● 作用域通信对象:pageContext 对象、session 对象、application 对象; ● Servlet 对象:page 对象、config 对象; ● 错误处理对象:exception 对象。
2015-12-27 23:01:34 1907 11
原创 JSP 原理
1、JSP的由来 在JSP出现之前,为了实现动态网页的效果,服务器端利用 Servlet 的输出流向客户端发送HTML标签以及HTML页面中的内容,但是在多数动态网页中,绝大部分内容是静态的,只有少量内容需要动态实现。但是为了这少量的动态内容,程序猿依然要用Servlet 输出其中所有的静态内容,这就使得整个Servlet 程序代码非常臃肿,导致Servlet 的开发效率非常低下。
2015-12-27 21:40:38 4345 11
原创 请求转发和请求包含
1、Servlet 容器 编程中的容器我们可以理解为程序运行时需要的环境,那么Tomcat 就是Servlet 的运行环境,就是一个Servlet 容器。Servlet 容器的作用是负责处理客户请求,当Servlet 容器获取到用户请求后,调用某个Servlet,并把Servlet 的执行结果返回给用户。 Servlet 容器的工作流程: ● 当用户请求某个资源时,Se
2015-12-26 17:00:31 3320 12
原创 字符编码
1、什么是字符编码? 我们知道,计算机数据只能是二进制的,数值类型的数据转换成二进制很简单,我们已经了解了,但字符类型如何转换成二进制呢?这就需要使用字符编码! 在编码表中,每个字符都有对应的编码,编码是整数,最终在计算机中存储的是字符的编码,而不是字符本身(因为计算机数据都是二进制数值,所以字符本身是无法存储的)。 当我们存储字符’A’时,其实是通过编码表找到’A’字符对应
2015-12-25 19:25:59 1823 7
原创 HTTP协议
1、简介 HTTP(hypertext transport protocol):超文本传输协议,这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。 HTTP就是一个通信规则,这个通信规则规定了客户端发送给服务器的内容格式,也规定了服务器发送给客户端的内容格式,就像写信也要有写信的格式一样。HTTP协议包括两个内容:客户端发送给服务器的格式叫“请求协议”;服务器发送给客户
2015-12-24 17:42:13 1407 8
原创 BS架构和CS架构的优缺点
1、CS、BS架构定义 CS(Client/Server):客户端----服务器结构。C/S结构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。因为客户端要负责绝大多数的业务逻辑和UI展示,又称为胖客户端。它充分利用两端硬件,将任务分配到Client 和Server两端,降低了系统的通讯开销。C/S结构的软件需要针对不同的操作系
2015-12-24 09:46:48 130184 12
原创 DOM4J 实现对XML文档的增、删、改、查
前言:首先谈一个小故事:当年Java准备做对XML的解析时,对解析器的实现方向在内部发生了争执,后来高层没有听从工程师建议,坚持开发出了JDOM,而主要的工程师选择离开Java 按照自己的方式实现,就是DOM4J 。后来结果表明,DOM4J 完胜了JDOM。下面,让我们来了解一下通过DOM4J 实现对XML文件进行增删改查的过程。1、待解析的XML文件:<students xmln
2015-12-14 23:34:23 6477 10
原创 JDOM实现XML文件的遍历
前言:DOM和SAX是跨语言的XML的解析准备,在Java 中使用却没有那么方便。Java 拥有自己的JDOM 和DOM4J(DOM for Java),这两个是专门为Java语言提供的解析工具,使用起来很方便,本文首先来介绍一下运用JDOM下的DOM和SAX分别来实现对XML文件元素的遍历。1、使用DOM方式。 (1)首先我们有一个XML文件,存储student 元素:
2015-12-14 22:57:09 2588 2
原创 自定义枚举类
前言:说到枚举类,就要说一下单例模式,单例模式是在类本身只创建出一个实例,且外界不能够创建该类的实例。而枚举类与单例类似,要求类只能本身创建有限个数的实例,同样外界不能创建该类实例,可以称之为“多例模式”(名字是我自己取的,没有权威认证)。1、枚举类的特点。 (1)所有枚举类的公共父类都是Enum。 (2)枚举项必须写在枚举类的最前面,每个枚举项之间用逗号隔开,如果枚举
2015-12-13 22:07:57 2235 1
原创 从原理剖析自动拆装箱
前言:自动拆装箱是JDK1.5的新特性,这一特性使得基本类型与对应的包装器类型(引用类型)之间能够直接进行互相转换,例如将int类型与Integer类型,我们可以将int类型当做Integer类型来使用。非常方便,但是这样也隐藏了许多细节,那么这些细节是什么,相互转换的原理是什么呢?1、什么是自动拆装箱? 定义:能够使基本类型与其对应的包装器类型之间自动相互转换。对应关系如下:
2015-12-13 10:01:41 2898 5
原创 JavaScript、CSS、HTML 实现用户注册页面与信息校验
需求:实现用户注册页面并作出逻辑校验。要求: (1)完成注册页面样式如下: (2)页面提交,用户注册信息不符合规范,要显示红色提示框,如下: (3)页面提交,用户注册信息不符合规范,要显示绿色提示框,如下: 分析:HTML实现页面元素,CSS做页面美化,JavaScript 实现逻辑校验;用户注册规则采用正则表达式。1、HTML实现注册页面。 注:
2015-12-12 19:44:04 48697 8
空空如也
java中为什么BufferedWriter 要比 FileReader高效?
2015-11-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人