- 博客(55)
- 资源 (6)
- 收藏
- 关注
转载 Java后端WebSocket的Tomcat实现
一.WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了。近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端的通信功能,使服务端也能主动向客户端发送数据。 我们知道,传统的HTTP协议是无状态的,每次请求(request)都要由客户端(如 浏览器)主动发起,服务端进行处理后返回r...
2018-06-30 22:47:14 121
转载 Java基础加强总结(二)——泛型
一、体验泛型 JDK1.5之前的集合类中存在的问题——可以往集合中加入任意类型的对象,例如下面代码: 1 package cn.gacl.generic.summary; 2 3 import java.util.ArrayList; 4 5 public class GenericTest { 6 7 public static void mai...
2018-06-29 18:16:45 214
转载 Java基础加强总结(四)——Enum(枚举)使用详解 + 总结
enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。 下面是我在使用 enum 过程中的一些经验和总结,主要包括如下内容:1. 原始的接口定义常量2. 语法(定义)3. 遍历、switch 等常用操作4. enum 对象的常用方法介绍5. 给 enum 自定义属性和方法6. EnumSet,EnumMap 的应用7. enu...
2018-06-29 18:13:47 289
转载 Java基础加强总结(一)——注解(Annotation)
一、认识注解 注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts2有一部分也是基于注解的了,注解是一种趋势,现在已经有不少的人开始用注解了,注解是JDK1.5之后才有的新特性JDK1.5之后内部提供的三个注解 @Deprecated 意思是“废弃的,...
2018-06-28 14:55:52 130
转载 JavaWeb学习总结(四十八)——模拟Servlet3.0使用注解的方式配置Servlet
一、Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示:1 <servlet>2 <servlet-name>ActionServlet</servlet-name>3 <servlet-class>me.gacl.web.controller.Act...
2018-06-28 10:55:15 295
转载 javaweb学习总结(四十七)——监听器(Listener)在开发中的应用
监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用一、统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听器技术来实现这个功能了。 1 package me.gacl.web.listener; 2 3 import javax.servlet.ServletContext; 4 import j...
2018-06-22 17:29:37 156
转载 javaweb学习总结(四十六)——Filter(过滤器)常见应用
一、统一全站字符编码 通过配置参数charset指明使用何种字符编码,以处理Html Form请求参数的中文问题 1 package me.gacl.web.filter; 2 3 import java.io.IOException; 4 import javax.servlet.Filter; 5 import javax.servlet.FilterChain; 6 impor...
2018-06-22 11:45:44 148
转载 javaweb学习总结(四十五)——监听器(Listener)学习二
一、监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信息事件的监听器。 这三个监听器接口分别是ServletContextAttributeListener, HttpSessionAttributeListener 和ServletReque...
2018-06-20 17:24:52 135
转载 javaweb学习总结(四十四)——监听器(Listener)学习
一、监听器介绍1.1、监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法立即被执行。1.2、监听器案例——监听window窗口的事件监听器 1 pack...
2018-06-20 15:58:55 154
转载 javaweb学习总结(四十三)——Filter高级开发
在filter中可以得到代表用户请求和响应的request、response对象,因此在编程中可以使用Decorator(装饰器)模式对request、response对象进行包装,再把包装对象传给目标资源,从而实现一些特殊需求。一、Decorator设计模式1.1、Decorator设计模式介绍 当某个对象的方法不适应业务需求时,通常有2种方式可以对方法进行增强:编写子类,覆盖需增强的方法。使...
2018-06-19 17:36:47 167
转载 javaweb学习总结(四十二)——Filter(过滤器)学习
一、Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。 Servlet API中提供了一个Filter接口,...
2018-06-19 15:43:39 252 1
原创 Java学习总结——Map接口概述
一、Map借口继承树Map与Collection并列存在。用于保存具有映射关系的数据:Key-ValueMap 中的key 和 value 都可以是任何引用类型的数据Map 中的 key 用Set来存放,不允许重复,即同一个 Map 对象所对应的类,须重写hashCode()和equals()方法。常用String类作为Map的“键”。key 和value 之间存在单向一对一关系,即通过指定的...
2018-06-17 17:41:36 309
转载 javaweb学习总结(四十一)——Apache的DBUtils框架学习
一、commons-dbutils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司的首选。 commons-dbutilsAPI介绍:org.apache.commons....
2018-06-17 12:45:57 193
原创 Java学习总结——8.2 面向对象的特征三:多态性
1.多态性指的是什么?多态性可以理解为一个事物的多种表现形态。 1)方法的重载与重写 2)子类对象的多态性2.子类对象的多态性使用的前提:①要有类的继承 ②要有子类对父类方法的重写。3.程序运行分为编译状态和运行状态。 对于多态性来说,编译时,"看左边",将此引用变量理解为父类的类型。 运行时,"看右边",关注于真正对象的实体:子类的对象。那么执行的方法就是子类重写的。4.子类对象...
2018-06-17 00:33:13 225
转载 javaweb学习总结(四十)——编写自己的JDBC框架
一、元数据介绍 元数据指的是"数据库"、"表"、"列"的定义信息。1.1、DataBaseMetaData元数据 Connection.getDatabaseMetaData()获得代表DatabaseMetaData元数据的DatabaseMetaData对象。 DataBaseMetaData对象的常用方法:getURL():返回一个String类对象,代表数据库的URL。getUser...
2018-06-16 17:41:44 172
转载 Java中ArrayList和LinkedList区别
ArrayList和LinkedList的大致区别如下:1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 上代码: 1 ...
2018-06-16 17:39:07 87
转载 javaweb学习总结(三十九)——数据库连接池
一、应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、拓机。如下图所示: 二、使用数据库连接池优化程序性能2.1、数据库连接池的基本概念 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的...
2018-06-16 14:48:54 198
转载 javaweb学习总结(三十八)——事务
一、事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。 例如:A——B转帐,对应于如下两条sql语句 update from account set money=money+100 where name='B'; update from account set money=money-100 where name='A';二、MySQL数据库...
2018-06-16 12:30:30 158
转载 javaweb学习总结(三十七)——获得MySQL数据库自动生成的主键
测试脚本如下:1 create table test12 (3 id int primary key auto_increment,4 name varchar(20)5 ); 测试代码: 1 package me.gacl.demo; 2 3 import java.sql.Connection; 4 import java.sql.PreparedSta...
2018-06-16 12:05:08 116
转载 javaweb学习总结(三十六)——使用JDBC进行批处理
在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率。 JDBC实现批处理有两种方式:statement和preparedstatement一、使用Statement完成批处理 1、使用Statement对象添加要批量执行SQL语句,如下:1 Statement.addBatch(sql1);2 Sta...
2018-06-15 14:36:34 157
转载 JavaWeb学习总结(三十五)——使用JDBC处理Oracle大数据
一、Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了。因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种类型的字段,很灵活,适用于数据 量非常大的业务领域(如图象、档案等)。 LOB类型分为BLOB和CLOB两种:BLOB即二进制大型对象(Binary Large Object),适用于存贮非文本的...
2018-06-15 14:11:44 230
转载 javaweb学习总结(三十四)——使用JDBC处理MySQL大数据
一、基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像、声音、二进制文等。 在实际开发中,有时是需要用程序把大文本或二进制数据直接保存到数据库中进行储存的。 对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为: TINYTE...
2018-06-14 22:34:48 132
转载 javaweb学习总结(三十三)——使用JDBC对数据库进行CRUD
一、statement对象介绍 Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。 Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sql语句,executeUpdate执行完后,将会返回一个整数(即增删改语句导致了数据库几行数据发生了变化)。 Statement.e...
2018-06-14 15:14:01 323
转载 javaweb学习总结(三十二)——JDBC学习入门
一、JDBC相关概念介绍1.1、数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡,同样道理,我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道,如下所示: 1.2、JDBC介绍 SUN公司为了简化、统一对...
2018-06-14 13:11:46 139
转载 javaweb学习总结(三十一)——国际化(i18n)
一、国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 国际化(internationalization)又称为 i18n(读法为i 18 n,据说是因为internationalization(国际化)这个单词从i到n之间有18个英文字母,i18n的名字由此而来)二、合格的国际化软件 ...
2018-06-13 11:27:57 161
转载 javaweb学习总结(三十)——EL函数库
一、EL函数库介绍 由于在JSP页面中显示数据时,经常需要对显示的字符串进行处理,SUN公司针对于一些常见处理定义了一套EL函数库供开发者使用。 这些EL函数在JSTL开发包中进行描述,因此在JSP页面中使用SUN公司的EL函数库,需要导入JSTL开发包,并在页面中导入EL函数库,如下所示: MyEclipse自带的JSTL开发包: fn.tld就是EL函数库的对应的tld描述文件,如...
2018-06-12 23:39:38 82
转载 javaweb学习总结(二十九)——EL表达式
一、EL表达式简介 EL 全名为Expression Language。EL主要作用: 1、获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组) 2、执行运算 利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算...
2018-06-12 14:57:33 93
转载 javaweb学习总结(二十八)——JSTL标签库之核心标签
一、JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的。使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码二、JSTL标签库的分类核心标签(用得最多)国际化标签(I18N格式化标签)数据库标签(SQL标签,很少使用)XML标签(几乎不用)JSTL函数(EL函数)三、核心标签库使用说明 JSTL的核心标签库标签共13个,使用这些标...
2018-06-11 23:48:04 179
转载 request.getHeader("referer")的作用
request.getHeader("referer")获取来访者地址。只有通过链接访问当前页的时候,才能获取上一页的地址;否则request.getHeader("referer")的值为Null,通过window.open打开当前页或者直接输入地址,也为Null。所以,getHeader("referer")要走http协议时才有值,也就是说要通过<a href="url">a&l...
2018-06-11 14:47:22 14249 2
转载 javaweb学习总结(二十七)——jsp简单标签开发案例和打包
一、开发标签库1.1、开发防盗链标签 1、编写标签处理器类:RefererTag.java 1 package me.gacl.web.simpletag; 2 3 import java.io.IOException; 4 import javax.servlet.http.HttpServletRequest; 5 import javax.servlet.http.HttpSer...
2018-06-11 12:30:40 193
转载 在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法
今天遇到了一个在servlet的service方法中获取ServletContext对象出现java.lang.NullPointerException(空指针)异常,代码如下:1 //获取ServletContext对象2 ServletContext servletContext = this.getServletContext(); 这个问题很奇怪,也是第一次遇到,因为以前在servle...
2018-06-11 12:29:30 648
转载 javaweb学习总结(二十六)——jsp简单标签标签库开发(二)
一、JspFragment类介绍 javax.servlet.jsp.tagext.JspFragment类是在JSP2.0中定义的,它的实例对象代表JSP页面中的一段符合JSP语法规范的JSP片段,这段JSP片段中不能包含JSP脚本元素。 WEB容器在处理简单标签的标签体时,会把标签体内容用一个JspFragment对象表示,并调用标签处理器对象的setJspBody方法把JspFragme...
2018-06-10 11:43:16 163
原创 GitHub学习总结(五)——Git管理远程仓库
一、远程仓库的作用举个例子:比如有A\B\C三个人开发一个项目,需要三台计算机,这三个人各自开发自己的功能。他们三个怎么将代码同步呢?这时候,就需要一个远程的Git服务器(也叫远程仓库)。ABC三人将各自写好的功能同步到远程仓库中,同时也会得到其他人的提交的代码,达到一个共享的效果。如图作用:备份,实现代码共享集中化管理。二、如何将本地仓库同步到git远程仓库中分三步:第一步:将工作区的代码提交到...
2018-06-09 21:57:46 354
转载 javaweb学习总结(二十五)——jsp简单标签开发(一)
一、简单标签(SimpleTag) 由于传统标签使用三个标签接口来完成不同的功能,显得过于繁琐,不利于标签技术的推广, SUN公司为降低标签技术的学习难度,在JSP 2.0中定义了一个更为简单、便于编写和调用的SimpleTag接口来实现标签的功能。 实现SimpleTag接口的标签通常称为简单标签。简单标签共定义了5个方法:setJspContext方法setParent和getParent...
2018-06-08 15:35:29 228
转载 javaweb学习总结(二十四)——jsp传统标签开发
一、标签技术的API1.1、标签技术的API类继承关系 二、标签API简单介绍2.1、JspTag接口 JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属性和方法。JspTag接口有Tag和SimpleTag两个直接子接口,JSP2.0以前的版本中只有Tag接口,所以把实现Tag接口的自定义标签也叫做传统标签,把实现SimpleTag接口的自定义标签叫...
2018-06-08 10:06:18 180
转载 javaweb学习总结(二十三)——jsp自定义标签开发入门
一、自定义标签的作用 自定义标签主要用于移除Jsp页面中的java代码。二、自定义标签开发和使用2.1、自定义标签开发步骤 1、编写一个实现Tag接口的Java类(标签处理器类) 1 package me.gacl.web.tag; 2 3 import java.io.IOException; 4 5 import javax.servlet.http.HttpServletR...
2018-06-07 15:02:30 142
转载 单点登录原理与简单实现
转载于:https://www.cnblogs.com/ywlaker/p/6113927.html(2017-09-22更新)GitHub:https://github.com/sheefee/simple-sso一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或...
2018-06-07 14:38:20 122
转载 展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告(转)
走过的路回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在不断变化,但是很可能你也会走我已经做过的10来年的路程,有些心得体会您可以借鉴一下,觉得说得有道理的接纳,觉得说得没道理的就抛弃,以下是发自内心的给大家的忠告,特别是针对那些小弟弟妹妹们。01. 自己的户口档案、养老保险、医疗保险、住房公积金一定要保管好。 由于程序员行业每年跳槽一次,不隐瞒大家,我至少换...
2018-06-07 14:25:37 382
转载 Java基础加强总结(三)——代理(Proxy)
一、代理的概念 动态代理技术是整个java技术中最重要的一个技术,它是学习java框架的基础,不会动态代理技术,那么在学习Spring这些框架时是学不明白的。 动态代理技术就是用来产生一个对象的代理对象的。在开发中为什么需要为一个对象产生代理对象呢? 举一个现实生活中的例子:歌星或者明星都有一个自己的经纪人,这个经纪人就是他们的代理人,当我们需要找明星表演时,不能直接找到该明星,只能是找明星...
2018-06-06 17:57:51 193
转载 面试题收集——Java基础部分(一)
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。2、Java有没有goto? java中的保留字,现在没有在java中使用。3、说说&和&&的区别。 &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达...
2018-06-06 17:55:15 156
commons-fileupload-1.2.2.jar和commons-io-2.4.jar包
2018-07-23
查看httpServlet源码的包必须导入这个包才能看源代码
2018-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人