
SSM学习笔记
记录自己学习SSM框架的过程
HeatDeath
Learn by doing!
展开
-
Spring 中的基础知识(2)—— 属性编辑器
在Spring配置文件里,我们往往通过字面值为Bean各种类型的属性提供设置值:不管是double类型还是int类型,在配置文件中都对应字符串类型的字面值。BeanWrapper填充Bean属性时如何将这个字面值转换为对应的double或int等内部类型呢?我们可以隐约地感觉到一定有一个转换器在其中起作用,这个转换器就是属性编辑器。 任何实现 java.beans.PropertyEd转载 2018-02-04 16:46:49 · 673 阅读 · 0 评论 -
Spring 中的基础知识(1)—— 动态代理
Spring AOP 使用动态代理技术在运行期织入增强的代码,为了揭示 Spring AOP 底层的工作机理,有必要对涉及到的 Java 知识进行学习。Spring AOP 使用了两种代理机制:一种是基于JDK的动态代理;另一种是基于CGLib的动态代理。之所以需要两种代理机制,很大程度上是因为 JDK 本身只提供接口的代理,而不支持类的代理。 1 带有横切逻辑的实例在调用每一转载 2018-02-04 16:24:55 · 466 阅读 · 0 评论 -
基于SSM框架的教务查询系统实践(2)—— 系统设计
技术框架选择系统严格采取 Web 层、服务层、持久层三层体系结构,上层的程序可以调用下一层的程序,反之则不行,遵循依赖倒置原则(Dependency Inversion Principle ),以此达到层与层之间松耦合的目的。使用的工具与技术IoC容器:Spring 4.3Web框架:SpringMVC 4.3ORM框架:Mybatis 3.4安全框架:Shiro 1.2数据源:C3P0原创 2017-12-03 13:52:32 · 3418 阅读 · 0 评论 -
基于SSM框架的教务查询系统实践(1)—— 项目整体功能概述
教务查询系统整体功能结构管理员用户功能管理员可对 教师信息、学生信息、课程信息 进行 增删改查 操作,管理员账户,可以重置非管理员账户的密码课程管理:当课程已经有学生选课成功时,将不能删除学生管理:添加学生信息时,其信息也会添加到登录表中教师管理:同上账户密码重置修改密码教师用户功能教师登陆后,可以获取其,教授的课程列表,并可以给已经选择该课程的同学打分,无法对已经给完分的同学进行二次操原创 2017-12-03 12:27:17 · 2552 阅读 · 0 评论 -
JavaWeb基础(7)—— Filter 过滤器
一、Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。 Servlet API中提供了一个Filter接口转载 2017-12-02 23:00:08 · 338 阅读 · 0 评论 -
Spring 学习笔记(12)—— AOP 基础
AOP到底是什么AOP 术语创建增强类原创 2017-12-03 11:03:51 · 511 阅读 · 0 评论 -
JavaWeb基础(6)—— ServletContext 与 ServletConfig
ServletContextServletContext 定义了一组方法, 被 Servlet 用来与 Web 容器通信。例如写日志,转发请求。每一个 Web 应用程序含有一个Context,被Web应用内的各个 Servlet 共享。因为Context可以用来保存资源并且共享,所以ServletContext 的最大应用是Web缓存—-把不经常更改的内容读入内存,所以服务器响应请求的时候就不需要原创 2017-12-02 17:16:52 · 713 阅读 · 0 评论 -
JavaWeb基础(5)—— 浅析 Servlet 与 JSP 两者之间的区别
维基百科中 JSP 的定义JSP(全称JavaServer Pages)是一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。JSP使Java代码和特定的预定义动作可以嵌入到静态页面中。JSP被JSP编译器编译成Java Serv原创 2017-12-02 15:59:16 · 1984 阅读 · 0 评论 -
JavaWeb基础(4)—— 浅析 Servlet 的本质与工作原理
维基百科中对于 Servlet 的定义Servlet(Server Applet),全称Java Servlet。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指 Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用原创 2017-12-02 15:47:11 · 994 阅读 · 0 评论 -
MyBatis学习笔记(4)—— XML映射文件の结果集(Result Maps)高级结果映射中的集合(collection)
集合<collection property="posts" ofType="domain.blog.Post"> <id property="id" column="post_id"/> <result property="subject" column="post_subject"/> <result property="body" column="post_body"/></co原创 2017-11-08 10:57:06 · 1087 阅读 · 0 评论 -
MyBatis学习笔记(3)—— XML映射文件の结果集(Result Maps)高级结果映射中的构造方法与关联
高级结果映射我们如何映射下面这个语句?<!-- Very Complex Statement --><select id="selectBlogDetails" resultMap="detailedBlogResultMap"> select B.id as blog_id, B.title as blog_title, B.author_id as原创 2017-11-07 23:15:42 · 542 阅读 · 0 评论 -
MyBatis学习笔记(2)—— XML映射文件の结果集(Result Maps)中的简单结果映射
简单结果映射resultMap 元素是 MyBatis 中最重要最强大的元素。 ResultMap 的设计就是简单语句不需要明确的结果映射,而很多复杂语句确实需要描述它们 的关系。简单映射语句的示例了,但没有明确的 resultMap。比如:<select id="selectUsers" resultType="map"> select id, username, hashedPassword原创 2017-11-07 22:46:09 · 561 阅读 · 0 评论 -
SpringMVC 日期类型转换问题的处理方法
背景写程序的时候遇到了 前端传入的数据类型为 字符串的日期数据,后端接受的应该是 Date类型的日期数据 而报错的问题。Field error in object 'studentCustom' on field 'birthyear': rejected value [1979-01-01]; codes [typeMismatch.studentCustom.birthyear,typeMism原创 2017-11-07 16:52:03 · 4713 阅读 · 0 评论 -
在 SSM 框架整合 Shiro 的相关案例
SSM(三)Shiro使用详解shiro权限控制(一):shiro介绍以及整合SSM框架SpringMVC+Shiro整合配置文件详解 Shiro笔记(三)—-Shiro配置文件ini详解原创 2017-10-31 19:42:56 · 1277 阅读 · 0 评论 -
在 SSM 中基于 MyBatis-PageHelper 分页插件的分页功能实现
1 引入分页插件2 配置拦截器插件注意顺序!!!3 插件使用serviceImpl.javacontroller.javajsp 文件4 效果测试pagehelper/Mybatis-PageHelper 说明文档Spring4。X 应用 DEMO原创 2017-11-01 18:09:20 · 1068 阅读 · 0 评论 -
在 SSM 中使用 Ajax 进行数据传递
前端页面addCourse.jsp注意提交按钮的 type 应该为 button,不能为 submit!<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE html><htm原创 2017-11-04 23:07:35 · 11898 阅读 · 1 评论 -
Spring 学习笔记(11)—— SpringMVC 拦截器
1 什么是拦截器是指通过统一拦截从浏览器发往服务器的请求来完成功能的增强; 使用场景:解决请求的共性问题,如:乱码问题、权限验证问题等2 拦截器和过滤器的区别①拦截器是基于java的反射机制的,而过滤器是基于函数回调。②拦截器不依赖于servlet容器,过滤器依赖于servlet容器。③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。④拦截器可以访问action上下文、值原创 2017-11-07 08:38:21 · 778 阅读 · 0 评论 -
在控制台打印 MyBatis 生成的 sql 语句的配置方法
MyBatis 的配置文件 Configuration 中有相关属性,设属性即可,不用再放一个 log4j.properties 文件。<configuration> <settings> …… <setting name="logImpl" value="LOG4J"/> </settings></confi原创 2017-11-06 19:30:23 · 2444 阅读 · 0 评论 -
MyBatis学习笔记(1)—— XML映射文件の查询(select)
简单查询的 select 元素是非常简单的。比如:<select id="selectPerson" parameterType="int" resultType="hashmap"> SELECT * FROM PERSON WHERE ID = #{id}</select>这个语句被称作 selectPerson,接受一个 int(或 Integer)类型的参数,并返回一个 HashMap原创 2017-11-06 15:49:54 · 674 阅读 · 0 评论 -
Spring 学习笔记(10)—— 视图和视图解析器
1 认识视图2 认识视图解析器3 使用 JSP 和 JSTL4 模板视图FreeMarkerFreeMarker 仅负责基于模板对模型数据进行渲染的工作在 Spring Web 上下文中配置 FreeMarker原创 2017-11-01 17:43:02 · 799 阅读 · 0 评论 -
Spring 学习笔记(9)—— 注解驱动的控制器
一、使用 @RequestMapping 映射请求1 通过请求 URL 进行映射通过 @PathVariable 可以将 URL 中的占位符参数绑定到控制器处理方法的入参中二、请求处理方法签名一般情况下,处理方法的返回值类型为 ModelAndView 或 String, 前者包含模型和逻辑视图名,而后者仅代表一个逻辑视图名。详细说明使用 @RequestParam 绑定请求参数值三、处理模型数据1原创 2017-10-31 17:23:57 · 889 阅读 · 0 评论 -
Spring 学习笔记(8)—— SpringMVC 简介、DispatcherServlet 配置
一、Spirng MVC 简介Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,无需实现任何接口。在 数据绑定、视图解析、本地化处理及静态资源处理上都有不俗的表现。Spring MVC 处理请求的整体过程:二、配置 DispatcherServlet1 配置 DispatcherServlet,截获特定的 URL 请求显式的指定 Web 层的 Spring 配置文件:原创 2017-10-31 14:58:13 · 784 阅读 · 0 评论 -
Spring 学习笔记(7)—— 使用外部属性文件
1 使用 PropertyPlaceholderConfigurer 属性文件驱动器类名,JDBC 的 URL 地址及数据库用户名/密码都直接写在 XML 文件中,部署应用的时候,必须先找出这个 Bean 部署 XML 文件,再找出数据源 Bean 定义的代码段进行调整,很麻烦。在实际应用中,应该将这些配置信息抽取到一个配置文件中。2 使用<context:property=placeholder>原创 2017-10-31 13:42:58 · 780 阅读 · 3 评论 -
Spring 学习笔记(6)—— 基于注解的配置
1 使用注解定义 Bean2 扫描注解定义的 Bean3 自动装配 Bean使用 @Autowired 进行自动注入使用 @Qualifier 指定注入 Bean 的名称原创 2017-10-31 13:27:24 · 533 阅读 · 0 评论 -
Spring 学习笔记(5)—— 简化xml配置文件的配置方式
1 字面值属性2 引用对象属性3 使用 p 命名空间原创 2017-10-31 10:36:04 · 746 阅读 · 0 评论 -
Spring 学习笔记(4)—— Bean 的基本配置、依赖注入(DI)、注入参数引用其他Bean
一、Bean 的基本配置1 装配一个 Bean在 Spring 容器的配置文件中定义一个简要 Bean 的配置片段2 Bean 的命名二、依赖注入1 属性注入属性注入要求 Bean 提供一个默认的 构造函数, 并为需要注入的属性提供对应的 Setter 方法。2 构造函数注入按索引匹配入参三、注入参数引用其他Bean原创 2017-10-31 10:20:12 · 838 阅读 · 0 评论 -
Spring 学习笔记(3)—— Spirng 配置概述
Spring 容器高层视图Spring 启动时读取应用程序提供的 Bean 配置信息(XML 配置文件),并在 Spring 容器(ApplicationContext)中生成一份相应的 Bean 配置注册表,然后根据这张注册表实例化 Bean,装配好 Bean 之间的依赖关系,为上层因公提供准备就绪的运行环境。Bean 元数据信息在 Spring 容器中的内部对应物是由一个个 BeanDefini原创 2017-10-31 09:44:41 · 495 阅读 · 0 评论 -
Spring 学习笔记(2)—— ApplicationContext 及 WebApplicationContext 的初始化
前言Spring 通过一个配置文件描述 Bean 和 Bean 之间的依赖关系,利用 Java 语言的反射功能实例化 Bean,并建立 Bean 之间的依赖关系。BeanFactory(com.springframework.beans.factory.BeanFactory)是 Spring 框架最核心的接口,提供了高级 IoC 的配置机制。BeanFactory 使管理不同类型的 Java 对象原创 2017-10-31 08:57:00 · 590 阅读 · 0 评论 -
Spring 学习笔记(1)—— 通过一个小例子体会 IoC 的概念
《墨攻》中的一个场面,刘德华所饰演的墨者——革离,到达梁国都成下时候,城上的梁国守军问道:“来者何人?”,刘德华回答:“墨者革离!”使用Java语言为这个场景“城门叩问”的场景编写剧本。革离是《墨攻》剧本中一个角色,我们用一个接口(interface)来表示这个角色GeLi.javapackage com.smart.ioc;public interface GeLi { void res原创 2017-10-30 23:25:02 · 670 阅读 · 0 评论