040-JSP JSP:入门学习 概念: Java Server Pages: java服务器端页面 可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码 作用:用于简化书写!!! 原理 JSP本质上就是一个Servlet JSP的脚本:JSP定义Java代码的方式 <% 代码 %>:定义的java代码,在service方法中。service方法中可以 2020-02-02 Java #Java
041-JSP&EL&JSTL JSP 指令 作用:用于配置JSP页面,导入资源文件 格式:<%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %> 分类: page:配置JSP页面的 contentType:等同于response.setContentType() 设置响应体的mime类型以及字符集 设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEnco 2020-02-02 Java #Java
041-MVC MVC:架构模式 jsp演变历史 早期只有servlet,只能使用response输出标签数据,非常麻烦 后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,有写html表,造成难于维护,难于分工协作 再后来,java的web开发,借鉴mvc开发模式,使得程序的设计更加合理性 MVC: M:Model,模型。JavaBean 完成具体的业务操作 2020-02-02 Java #Java
043-Filter&Listener Filter:过滤器 概念: 生活中的过滤器:净水器,空气净化器,土匪。 web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。 过滤器的作用: 一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤… 快速入门: 步骤: 定义一个类,实现接口Filter 复写方法 配置拦截路径 web.xml 注解 代码 12345678910111 2020-02-02 Java #Java
047-Redis Redis 概念: redis是一款高性能的NOSQL系列的非关系型数据库 1.1.什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很 2020-02-02 Java #Java
055-Bean&工厂方法 1. 程序的耦合耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。 耦合性存在于各个领域,而非软件设计中独有的,但是我们只讨论软件工程中的耦合。 2020-02-02 Java #Java
055-Spring IoC(控制反转)和DI(依赖注入) 1. spring概述1.1 Spring是什么(理解)Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核。 提供了展现层 SpringMVC 和持久层 Spring JDBCTemplate 以及业务层事 2020-02-02 Java #Java
056-Spring IoC(控制反转)和DI(依赖注入)开发 1.Spring配置数据源1.1 数据源(连接池)的作用 数据源(连接池)是提高程序性能如出现的 事先实例化数据源,初始化部分连接资源 使用连接资源时从数据源中获取 使用完毕后将连接资源归还给数据源 常见的数据源(连接池):DBCP、C3P0、BoneCP、Druid等 数据源的开发步骤 导入数据源的坐标和数据库驱动坐标 创建数据源对象 设置数据源的基本连接数据 使用数据源获取连接资源和归还连接 2020-02-02 Java #Java
056-Spring 整合 Junit 3. Spring 整合 Junit3.1 原始 Junit 测试 Spring 的问题在测试类中,每个测试方法都有以下两行代码: 12ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");IAccountService as = ac.getBean("accountService", IAccountSer 2020-02-02 Java #Java
057-Spring的AOP(面向切面编程) 1.Spring 的 AOP 简介1.1 什么是 AOPAOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 AOP 是 OOP 的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各 2020-02-02 Java #Java
058-Spring JdbcTemplate JdbcTemplate基本使用01-JdbcTemplate基本使用-概述(了解)JdbcTemplate是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装。spring框架为我们提供了很多的操作模板类。 例如:操作关系型数据的JdbcTemplate和HibernateTemplate,操作nosql数据库的RedisTemplate,操作消息队列的JmsTemp 2020-02-02 Java #Java
058-Spring 声明式事务 声明式事务控制1. 编程式事务控制相关对象1.1 PlatformTransactionManagerPlatformTransactionManager 接口是 spring 的事务管理器,它里面提供了我们常用的操作事务的方法。 方法 说明 TransactionStatus getTransaction(TransactionDefination defination) 获取事务的 2020-02-02 Java #Java
059-Spring 与 servlet 集成 1. Spring与Web环境集成1.1 ApplicationContext应用上下文获取方式应用上下文对象(ApplicationContext) 是通过 new ClasspathXmlApplicationContext(spring配置文件) 方式获取的,但是每次从容器中获得Bean时都要编写 new ClasspathXmlApplicationContext(spring配置文件), 2020-02-02 Java #Java
059-SpringMVC 2. SpringMVC的简介2.1 SpringMVC概述SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 中。 SpringMVC 已经成为目前最主流的MVC框架之一,并且随着 Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MV 2020-02-02 Java #Java
060-SpringMVC 请求和响应 SpringMVC的数据响应01-SpringMVC的数据响应-数据响应方式(理解) 页面跳转 直接返回字符串,SpringMVC 会根据字符串找到对应的页面进行跳转。 通过ModelAndView对象返回。 回写数据 直接返回字符串 返回对象或集合 02-SpringMVC的数据响应-页面跳转-返回字符串形式(应用) 03-SpringMVC的数据响应-页面跳转-返回ModelA 2020-02-02 Java #Java
061-SpringMVC 异常处理 1. SpringMVC异常处理机制1.1 异常处理的思路系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试等手段减少运行时异常的发生。 系统的Dao、Service、Controller出现的异常都通过throws Exception向上抛出,最后由SpringMVC前端控制器交由异常处理器进行异常处理,如下 2020-02-02 Java #Java
061-SpringMVC 拦截器 SpringMVC的拦截器01-SpringMVC拦截器-拦截器的作用(理解)Spring MVC 的拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理。 将拦截器按一定的顺序联结成一条链,这条链称为拦截器链(InterceptorChain)。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。拦截器也是AOP思想的具体实现。 02 2020-02-02 Java #Java
063-MyBatis 1.Mybatis简介1.1原始jdbc操作12345678910111213141516//1.导入驱动jar包//2.注册驱动Class.forName("com.mysql.jdbc.Driver");//3.获取数据库连接对象Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "r 2020-02-02 Java #Java
064-MyBatis 1.Mybatis的Dao层实现1.1 传统开发方式1.1.1编写UserDao接口123public interface UserDao { List<User> findAll() throws IOException;} 1.1.2.编写UserDaoImpl实现12345678910public class UserDaoImpl implemen 2020-02-02 Java #Java
065-MyBatis 1.Mybatis多表查询1.1 一对一查询1.1.1 一对一查询的模型MapperScannerConfigurer用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户 一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户 1.1.2 一对一查询的语句对应的sql语句:select * from orders o,user u where o.uid=u.id; 查 2020-02-02 Java #Java