摘要:-------------siwuxie095 Spring 容器中的 Bean 拥有明确的生命周期,由多个特定的生命阶段 组成,每个生命阶段都开出了一扇门,允许外界对 Bean 施加控制 在 Spring 中,可以从 Bean 的作用范围和实例化 Bean 时所经历...
阅读全文
摘要:------------------siwuxie095 Spring 通过一个配置文件描述 Bean 和 Bean 之间的依赖关系, 利用 Java 语言的反射功能实例化 Bean,并建立 Bean 之间的 依赖关系 Spring 的 IoC 容器在完成这些底层工作的基础上,还提供了 Bean 实例缓存、生命周期管理、Bean 实例代理、事件发布...
阅读全文
摘要:siwuxie095 JDK 所提供的访问资源的类,并不能很好的满足各种底层资源的访问需求, 如:缺少从类路径 或 Web 容器的上下文中获取资源的操作类 因此,Spring 设计了一个 Resource 接口,它为应用提供了更强大的访问 底层资源的能力,该接口拥有对应不同资源类型的实现类 Reso
阅读全文
摘要:siwuxie095 Java 语言允许通过程序化的方式间接对 Class 的对象实例操作, Class 文件由类装载器装载后,在 JVM 中将形成一份描述 Class 结构的元信息对象,通过该元信息对象可以获知 Class 的结构信 息,如:构造函数、属性和方法 … · 示例讲解:下面通过实例探访
阅读全文
摘要:siwuxie095 IoC,即 Inversion of Control,控制反转,它是 Spring 容器的内核 AOP、声明式事务等功能都是在此基础上开花结果,即 都依赖于 IoC IoC 涉及代码解耦、设计模式、代码优化等问题的考量 从以下三方面来深入了解 IoC: · IoC 的初步理解
阅读全文
摘要:---------------siwuxie095 创建一个基于 Spring IoC 的小程序的步骤: 建立 Spring 工程 编写 Java 文件 编写配置文件 运行示例工程 示例: 一个人,在中国时用中文问候大家;在外国时,用英语...
阅读全文
摘要:-----------------siwuxie095 核心开发包 建立 Spring 工程时,需要引入 Spring 的开发包,否则无法 建立 Spring 的开发和运行环境 以下简单介绍一下 Spring 的核心开发包的基本用途: (1)Spring Core ...
阅读全文
摘要:siwuxie095 Spring 是运行在 Java 环境下的开发框架,因此在开发前需要 准备以下相关软件: JDK 7 或者以上版本 Eclipse 4 或以上版本 Spring Framework 相关开发包 3 或以上版本 Spring 框架开发包下载: Spring 官网:http://s
阅读全文
摘要:---------------siwuxie095 什么是 AOP AOP 的基本概念 AOP,即 Aspect Oriented Programming,面向切面编程, 通过 预编译方式 和 运行期动态代理 实现程序功能的统一维护 的一种技术 AOP 是一种比较新...
阅读全文
摘要:----------------siwuxie095 浅谈 IoC IoC(Inversion of Control,控制反转)是 Spring 的核心,贯穿始终 所谓 IoC,对于 Spring 框架来说,就是由 Spring 来负责控制对象的 生命周期和对象间的关系: 传统开发模式:对象之间互相依赖 IoC ...
阅读全文
摘要:siwuxie095 Spring 的简介 Spring 是一个轻量级 控制反转(IoC) 和 面向切面(AOP) 的容器框架 兴起于 2003 年,它是为了解决企业应用开发的复杂性而诞生的,框架的 主要优势之一就是其分层结构,分层结构允许使用者选择使用哪一个组件, 同时为 J2EE 开发提供集成的
阅读全文
摘要:-------------------siwuxie095 使用过滤器进行权限校验 一个简单的权限校验过滤器实例: 登录状态校验:如果没有成功登录就没有权限访问特定页面 当访问首页要进入 hello.jsp 页面时,首先判断是否处于登录状态: (1)如果是,直接点击进入 hello.jsp (...
阅读全文
摘要:------------------siwuxie095 使用过滤器进行编码转换 在 Java Web 开发中,经常会遇到乱码的问题,统一字符编码是 解决乱码问题的非常有效的手段 一个简单的编码转换过滤器实例: 使用过滤器对请求中的参数信息进行编码转换 工程结构目录如下: ...
阅读全文
摘要:---------------siwuxie095 一个 Web 应用中可以一次编写多个过滤器,这些过滤器的组合 称之为 过滤器链 在过滤器链中,过滤器的执行顺序依据过滤器在部署描述符 web .xml 中 注册的顺序 过滤器链体现了一种职责链模式,是设计模式中的一种 职责链模式: 能够使多个对象,都有...
阅读全文
摘要:siwuxie095 过滤器是从 Servlet 2.3 规范开始新增的功能,它也是一个由 Servlet 容器管理的对象 过滤器的结构同 Servlet 非常类似 如:也有负责初始化和清理资源的 init() 方法和 destroy() 方法 虽然二者结构类似,但功能完全不同 过滤器的功能可以理解
阅读全文
摘要:siwuxie095 JSP+Servlet+JDBC 继续完善登录实例,将校验逻辑改为:从数据库中获取用户信息进行校验 数据库准备 在 Navicat for MySQL 中创建连接:user_conn,创建数据库:user_db, 创建表:user,并内置数据: JDBC 驱动准备 下载 MyS
阅读全文
摘要:siwuxie095 Servlet 跳转之请求的转发 修改 LoginServlet.java: package com.siwuxie095.servlet; import java.io.IOException; import javax.servlet.RequestDispatcher;
阅读全文
摘要:siwuxie095 Servlet 跳转之请求的重定向 继续完善登录实例,如下: login.jsp 不变,修改 LoginServlet,新建两个 JSP 文件 此时工程结构目录一览: login.jsp: <%@ page language="java" contentType="text/h
阅读全文
摘要:-----------------siwuxie095 在 LoginServlet 中,右键->Open Type Hierarchy(或 使用快捷键:F4) 在 Type Hierarchy 视图中显示了 LoginServlet 的继承关系,点击 HttpServlet 在下方,可以看到 HttpSer...
阅读全文