自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(35)
  • 收藏
  • 关注

原创 AJAX 学习(一)总结

1. 通过button提交form表单通常使用submit为何button?因为submit太丑,button可以修饰,也容易扩展功能; 怎样使用button提交?通过javascript,控制button表单可以实现提交。(事件处理)<body> <form action="01.html" method="post"> <input type="button" valu

2016-05-24 19:06:41 196

转载 Struts2 result视图跳转方式(转)

首先 redirect:标准的重定向,用于在某一个 action 处理结束后,重定向到新的 jsp(视图),重定向和转发的区别,这里一个明显的表象就是会丢失值栈范围内的所有携带参数,相当于浏览器重新请求了一个新的视图,URL 也会显示请求的页面视图地址(Address);redirectAction:顾名思义,redirect 用于普通的转向到某一视图,redirectAction 即用来重定向到新

2016-05-17 00:32:21 198

原创 Spring 学习(六)事务管理

Spring事务管理:事务应该在service层统一控制开发步骤:后台环境准备:数据库、表/entity/dao/servicedao实现:使用spring对JDBC模块的支持:JdbcTemplate对象创建由Spring容器完成一、事务控制分类:编程式事务控制:可以实现细粒度的事务控制,但是开发效率较低,且事务管理和代码耦合度高Jdbc:conn.setAutoCommit(false)

2016-05-13 21:05:40 158

原创 Spring 学习(五)AOP

一、Spring的核心:AOP编程及HelloWorld面向切面编程(AOP,aspect object programming)是一种编程范式,目的是通过分离关注点(cross-cutting concerns)提高模块化(modularity)程度。通俗地讲,就是将核心业务逻辑代码和关注点代码分离,便于维护,重构和复用。所谓关注点代码,就是重复代码,而关注点形成的类就是切面类,例如:日志记录,性

2016-05-12 15:34:09 226

原创 Spring 学习(四)AOP原理:代理

理解Spring中的对象代理模式,对后续的AOP理解非常重要!代理解决的问题:当两个类需要通信时,引入第三方代理类,将两个类的关系解耦,让我们只了解代理类即可,而且代理的出现还可以让我们完成与另一个类之间的关系的统一管理,但是切记,代理类和委托类要实现相同的接口,因为代理真正调用的还是委托类的方法。静态:由程序员创建代理类或特定工具自动生成源代码再对其编译。在程序运行前代理类的.class文件就已经

2016-05-11 17:48:46 326

原创 Spring 学习(三)与Struts整合

一、Spring与Struts框架整合Spring负责对象创建,Struts负责用Action处理请求;因此,两种框架的整合效果是让Spring框架负责创建Struts框架的Action对象二、Spring与Struts框架整合HelloWorld1. 引入jar文件struts框架:commons-fileupload-1.2.2.jarcommons-io-2.0.1.jarcommons-

2016-05-10 22:47:23 860

原创 Spring 学习(二)-IOC容器的依赖注入DI

Spring IOC容器的依赖注入依赖注入其实是spring的IOC容器控制用户类中对象的创建过程,首先需要知道如何在xml文件中配置对象创建一、 创建对象的四种方法1. 无参数构造器<bean id="springUser" class="com.cityu.b_createObj.User"></bean>2. 带参数构造器<bean id="user2" class="com.cityu.b_

2016-05-10 20:25:11 841

原创 Spring 学习(一)

一、概述spring的作用是优化对象创建的过程(IOC,Inversion of Control,控制反转),以及处理对象的依赖关系(DI,Dependency Injection,依赖注入)。1. 控制反转class UserAction{ //自己需要使用的对象,自己不创建 private IUserService userService; //提供public的set

2016-05-09 20:44:38 1543

原创 Struts2 学习 (三)Struts2基本配置和核心业务

1. 通配符用于配置action:<package name="registerAction" extends="struts-default"> <action name="user_*" class="com.cityu.b_action.RegisterAction" method="{1}"> <result name = "success">/{1}.jsp</re

2016-05-04 13:38:58 189

原创 Struts 2 学习(二)Struts执行流程-最简单配置过程+深入理解

1. 如何部署一个HelloWorld的Struts项目:1. 导入jar包(8个)2. 配置WEB-INF下的web.xml文件 <filter> <filter-name>struts</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

2016-05-01 15:03:55 166

原创 Struts 2 学习(一)从自定义myStruts到入门概念

一. 第一部分自己尝试模仿一个myStruts框架有利于理解和使用别人的成熟框架。MVC模式:Model – JavaBeanView – JSPControlControl,控制器Servlet起到控制器的作用获取请求数据,封装;调用Service()处理业务逻辑;跳转(转发/重定向)为何要用框架?传统的MVC开发:每一个模块都要写servlet,并且在web.xml中配置;跳

2016-04-30 22:10:04 271

原创 Java注解的反射--在Dao层操作数据库和封装JavaBean中的应用

Java反射在运行时期动态获取对象的属性方法通过Class静态方法forName()获取类的字节码文件,那么类中的属性(包括属性值和属性名)方法都可以获得 对于使用private修饰的成员,想要获得它的细节,需要设置它的访问权限:field.setAccessible(true);然后使用相应方法获,例如对于private修饰的成员变量,可以使用Object value = field.get(

2016-04-29 19:39:14 782

原创 JavaWeb使用c3p0,dbutils以及泛型反射抽取Dao

1. 泛型概念,泛型类,泛型方法,泛型接口以及用法泛型只在编译时期有效,编译后的字节码文件中不存在泛型信息,这一点对于我们判断泛型使用规范很有帮助。例如通常情况下,方法中接受的参数列表如果被写为public void save(List<? extends Number> list){ System.out.println(list.get(0));}就代表,传入的List集合中元素,必须

2016-04-28 16:44:02 322

原创 泛型用法-泛型擦除,?,extends,以及super关键字的应用

泛型只在编译时期有效,编译后的字节码文件中不存在泛型信息,这一点对于我们判断泛型使用规范很有帮助。例如通常情况下,方法中接受的参数列表如果被写为public void save(List<? extends Number> list){ System.out.println(list.get(0));}就代表,传入的List集合中元素,必须是数字包装类,例如Integer,Double,F

2016-04-27 20:59:59 204

原创 覆盖(重写)、重载以及多态的概念

override->重写(=覆盖)、overload->重载、polymorphism -> 多态override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。多态一般应用于重写。 在面向接口的编程中,多个类实现同一个接口(或者父类),通过接口引用调用多个对象,根据各个对象类中实现(重写)的不同的方法,实现同一个引用,可以实现多种状态的目的。

2016-04-27 17:55:28 348

原创 servlet中常用的三个域对象的生命周期

servlet中常用的三个域对象的生命周期1. request一次访问创建一个request对象:包括一次重定向。但是转发不创建新的request对象;并且请求结束很快销毁。可以使用ServletRequestListener接口监听request对象的创建和销毁。2. sessionsession通常和request同时创建;只要不关闭浏览器,就可以看做是一次会话,session一直存在与浏览器中

2016-04-24 19:44:07 753

原创 Java Web数据库连接池DBCP和D3P0技术

目标:连接池一. 自定义连接池使用DBUtils组件更新和查询数据库QueryRunner qr = new QueryRunner();qr.query(con,sql,rsh);//rsh:ResultSetHandler接口,可以使用自定义实现类,改写handle()方法;也可以使用封装的实现类。List<Person> list = qr.query(con,sql,new BeanL

2016-04-23 21:43:11 459

原创 修炼Java开发技术,学习笔记:原型模式的应用-群发广告邮件

ProtoType Pattern 原型模式的简单程度是仅次于单例模式的: 实现原型模式只需要满足: 1. 原型类实现Cloneable接口; 2. 原型类中实现覆盖Object类的clone()方法;例如我们的业务需求是:给每个客户发送一封定制广告邮件, 那么首先需要一个广告模板,然后从数据库中取出客户的定制信息,使用模板生成一份完整的邮件,发送出去。import java.util.Ra

2016-04-02 22:45:20 194

原创 修炼Java开发技术,学习笔记:原型模式

作为一种另类的对象创建模式,原型模式是指: 使用原型实例来指定创建对象的种类,并通过拷贝这些原型创建新的对象。使用原型模式创建对象比直接new一个对象在性能上要好的多,因为Object类的clone方法是一个本地方法,它直接操作内存中的二进制流,特别是复制大对象时,性能的差别非常明显。使用原型模式的另一个好处是简化对象的创建,使得创建对象就像我们在编辑文档时的复制粘贴一样简单。显然,核心是如

2016-04-02 21:24:20 160

原创 修炼Java开发技术,学习笔记:对比建造者模式和抽象工厂模式

总的来说,虽然同为创建类设计模式,建造者模式比抽象工厂模式多了一个设计者的角色,用于创建复杂产品。适用于产品中属性顺序不同,产生的产品截然不同的情况。下面,首先从较简单的抽象工厂模式开始解释:1. 抽象工厂模式抽象产品接口;具体产品类;抽象工厂接口;具体工厂类;客户端;注意理解产品族和产品等级(结构)的关系,抽象工厂模式就是为了根据客户的指令,创建一个产品族(相互之间有关联或者依赖关系)

2016-04-01 20:59:34 410

原创 修炼Java开发技术,学习笔记:单例模式

很多时候,我们需要应用中只有一个该类的实例,例如一些全局计数器,如果实例不止一个,势必造成冲突错误。实现单例,在客户程序端可以实现的办法,可以是做一些“Try-Use”的工作,如果有,拿来用,如果没有,创建一个。但是这样的方式,对客户端来说,管理混乱,封装性不好,也不安全。因此,通常是使用在类加载的时候,就实现单例的目的。 当然,单例也有它的作用范围,目前Java中一个单例的范围是一个ClassL

2016-03-29 17:02:28 202

原创 修炼Java开发技术,学习笔记:工厂模式

设计模式非常重要,是理解设计架构的基本功,也是编写出优雅健壮代码不可或缺的技能。接下来会介绍23中Java中的设计模式,每一种模式必须要知道: 1,是什么样的结构; 2,在什么情况下用,有什么样的优缺点; 3,有哪些注意事项;第一种:工厂模式—为创建对象提供接口1. 结构工厂模式分为: * 简单工厂(Simple Factory)模式; * 工厂方法(Factory Method)模式;

2016-03-27 23:37:42 128

原创 修炼Java开发技术,学习笔记:架构中的设计原则

在进行软件架构工作时,需要遵循面向对象的设计原则,注意体会这些原则在解决“变化”和“依赖”问题中的效果。前人共总结出7条通用的原则(降低耦合性,提高扩展性):单一职责原则(SRP);里氏替换原则(LSP);依赖注入原则(DIP);接口分离原则(ISP);迪米特原则(LOD);开闭原则(OCP);优先使用组合而不是继承原则;1. 单一职责原则(Single Responsibilty

2016-03-27 16:34:30 153

原创 Java 内存管理-(堆(heap)、栈(stack)和方法区(method)

内存管理概述参考:http://www.cnblogs.com/dingyingsi/p/3760730.htmlJava内存主要分为三个区栈区:每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。堆区:

2016-03-11 18:57:56 179

原创 简单的Java网页爬虫

基础是Java正则表达式,将正则表达式封装成Pattern对象后使用匹配器,与需要获取的数据相关联import java.io.*;import java.net.*;import java.util.regex.*;public class WebCrawl { public static void main(String[] args)throws Exception{

2016-03-09 17:09:01 185

原创 从qq号验证说Java正则表达式的必要性

为什么要使用正则表达式:使用基本的字符串操作,判断qq号是否合法:public class QQCheck { public static void main(String[] args) { String qq = "12121212"; if(qq.length()>=5 && qq.length()<=15){ if(!qq.st

2016-03-09 09:53:33 167

原创 Java IO流基础总结(一)-File字符字节流、Buffered字符字节流

1. 概述注意判断“流”的方向的主体是程序本身,也就是说:将数据从外界传递到程序内使用,是输入流,对应Reader和InputStream;将数据从程序输出到外界,是输出流,对应Writer和OutputStream;四个抽象类: 字符流:Reader,Writer 字节流:InputStream,OutputStream2. InputStream/OutputStream/Reader

2016-03-08 17:49:46 237

原创 毕向东老师Java视频笔记-网络部分总结

一. 概述三要素:IP地址;套接字;通信协议1. IP地址四段组成,每段一个字节(最大255);本地回环地址:127.0.0.1:可以用来测试网卡是否正常;局域网保留:168.192.xxx.xxx;IP地址不够用: 通过子网掩码共用同一个公网IP地址;IPv6;2. 逻辑端口-套接字(0-65535)系统默认0-1024 web服务-80Tomcat-80

2016-03-07 12:51:38 145

原创 Java 中如何从指定的几个整数中产生随机数

常见的获得某个范围内的随机整数很容易:(int)(Math.random()*n+m)//产生范围[m,n+m-1]内的整数;如何从(0,2,3)这三个数中获得随机?int[] arr= {0,2,3};int randomNumber = arr[(int)(Math.random()*3)];还有什么更好的办法呢?

2016-03-06 20:53:49 848

原创 Java线程-毕向东老师视频回顾 及 继承Thread和实现Runnable的区别

我们知道创建线程有两种方法:继承Thread类,和实现Runnable接口,有什么区别呢? 首先,我们要回顾一下Java线程的知识:第三部分 多线程编程1. Java线程模型线程是进程中的内容,是程序中的执行路径,或者叫一个控制单元;线程在控制着进程的执行;Java VM启动时会有一个进程java.exe;其中至少有一个线程负责java程序的运行,该线程存在于main()方法中,称之为主线程;

2016-03-05 20:08:13 137

原创 毕向东老师Java视频笔记-IO流 FileReader类FileWriter类以及文件复制

一. 概论字符流和字节流字节流两个基类:InputStream类OutStream类字符流Reader类Writer类1. Writer类(character stream)Witer类的方法基本上都要子类去实现,因为子类规定了特定的功能,或者提高了效率;a. 例如,常见的FileWriter类import java.io.*;public class

2016-03-02 16:31:17 193

原创 毕向东老师Java视频笔记-集合(未完)

Java集合框架总结:List--LinkedList--ArrayList--VectorSet--HarshSet--TreeSetMap--HashMap--TreeMap集合框架工具类:Collections,ArraysJDK1.5新特性

2016-02-29 12:48:34 471

原创 面向对象特征

Copyright @BJTShang面向对象基础1.面向对象概述面向对象三个特征:封装(Encapsulation),继承(Inheritance),多态(Polymorphism)。(都是什么样的表现形式?)开发,其实就是找对象,建立对象,使用对象,并维护对象之间的关系类和对象的关系: 类:对事物的描述;属性和行为共同组成了类的成员(成员变量和成员方法,Java中方法就是函数)对象:

2016-02-24 16:48:17 174

原创 Java 面向对象基础

Copyright @BJTShang面向对象基础1.面向对象概述面向对象三个特征:封装,继承,多态。(都是什么样的表现形式?)开发,其实就是找对象,建立对象,使用对象,并维护对象之间的关系类和对象的关系: 类:对事物的描述;属性和行为共同组成了类的成员(成员变量和成员方法,Java中方法就是函数)对象:java在堆内存中使用new操作符建立的实体;存储对象的属性和行为;2. 封装s

2016-02-20 19:18:29 145

原创 Java中 set()和get()方法

set() get()方法: 使得可以访问类内部的私有化(private)成员属性; 首先:为何要私有化数据?提高安全性,使得外部不能够直接访问,也是封装的一种表现形式;其次,为何又要设置方法来使用数据(使用数据的两种方式:设置:set(),获取:get())?可以在方法中对数据的使用制定规则(逻辑判断语句)!从而提高代码的健壮性,安全性。将不需要对外提供的内容(通常是属性)隐藏,提供公共(p

2016-02-19 17:52:20 552

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除