16-MyBatis概述
MyBatis概述原始JDBC开发存在的问题
数据库的连接创建,释放频繁造成系统资源浪费从而影响系统性能
sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变java代码。(sql语句与Java代码耦合死)
查询操作时,需要手动将结果集中的数据手动封装到实体中。插入操作时,需要手动将实体的数据设置到sql语句的占位符位置
解决方案
池化思想:使用数据库连接池初始化连接资源
配置文件:将sql语句抽取到xml配置文件中
使用反射、内省等底层技术,自动将实体与表进行属性与字段的自动映射
MyBatis简介
MyBatis 是一款优秀的持久层框架,它内部封装了JDBC,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJO映射成数据库中的记录。
mybatis通过xml或注解的方式将要执行的各种 statement配置起来,并通过java对象和statement中sql的动 ...
15-SpringMVC异常处理
SpringMVC异常处理系统中异常主要包括两部分,[编译时异常与运行时异常] Spring,SpringMVC,前者可以通过捕获异常从而获取异常信息,后者主要通过规范代码格式,测试等手段减少异常出现
在开发过程中,系统的DAO层,SERVICE层和CONTROLLER层都有可能出现异常情况,这种情况下我们应该尽量将异常向上层抛出,最后将所有异常交由SpringMVC的前端控制器处理,其会利用异常处理器来进行异常处理
SpringMVC异常处理的两种方式
直接使用SpringMVC提供的简单异常处理器:SimpleMappingExceptionResolver
实现Spring的异常处理接口HandlerExceptionResolver自定义自己的异常处理器
1. 使用SimpleMappingExceptionResolver配置简单映射异常处理器12345678910111213<!--配置简单映射异常处理器--><bean class="org.springframework.web.servlet.handler.SimpleMappingE ...
14-SpringMVC拦截器
SpringMVC拦截器(Interceptor)SpringMVC中的拦截器作用类似Servlet中的Filter,用于对处理器进行预处理与后处理
将拦截器按一定顺序连成一条链,这条链被称为拦截器链(Interceptor Chain),在访问被拦截的方法或字段时,拦截器链就会按照指定顺序执行,这也是AOP思想的体现
拦截器与过滤器的区别
区别
过滤器
拦截器
使用范围
是servlet规范中的一部分,任何JavaWeb工程都可以使用
是SpringMVC框架所封装的,只有使用SpringMVC框架的工程才可以使用
拦截范围
在url-pattern中配置了/*的情况下,可以对所有访问资源进行过滤
只能拦截访问的控制器中的业务方法,如果访问的是.jsp.html.css.img等资源文件,是无法拦截的
拦截器基本操作1. 创建拦截器类,实现HandlerInterceptor接口、123456789101112131415161718192021222324252627public class MyInterceptor implements HandlerInte ...
2-应用层
应用层概述参考模型中的各层一般都满足“应用下层的服务,为上层提供服务”,但应用层较为特殊,因为应用层没有上层,所以应用层直接为模型外的用户提供服务,应用层是最靠近用户的一层
应用层特点
没有应用层,就没有网络通信支持
参考模型中唯一的一层,不需为它的上层服务
它向参考模型之外的用户提供服务
网络应用程序可被分为两大类
直接网络应用程序 Browser , e-mail ,FTP , Telnet
间接网络应用程序 Word , resource manager , (via Redirector)
创建一个网络应用
通过程序设计语言(Java,C,python)使应用在不同的端系统上运行
通过网络基础设施提供的服务,使网络应用进程彼此间可以通信(以应用层视角来看,其下的所有层级均为基础设施为其提供服务)
网络核心中没有网络应用(以路由器交换机和链路组成的网络核心并不在应用层上起作用,主要利用网络层等,所以其上没有网络应用的存在)
网络应用只在端系统上部署,这有助于网络应用的快速开发和部署
主要的直接应用
传统经典的应用:DNS,,电子邮件E-mail,万维网World wide ...
13-SpringMVC文件上传
SpringMVC文件上传文件上传客户端的三要素
表单项中type值为file
表单的提交方式为post
表单的enctype属性是多部分表单形式,即multipart/form-data
表单的创建
123456789101112131415161718192021<%-- Created by IntelliJ IDEA. User: renboyu010214 Date: 2021/3/12 Time: 20:08 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>UPLOAD</title></head><body><form action="${page ...
12-SpringMVC的请求
SpringMVC的请求获得请求参数客户端请求参数的格式:name=value&name=value…
服务器端要获得请求的参数,有时还需要对获得的数据进行封装,SpringMVC可以接收的参数如下:
基本类型参数
POJO类型参数
数组类型参数
集合类型参数
基本类型参数的获取当Controller中的业务方法的参数名称与请求参数的名称一致时,SpringMVC会自动进行参数值的映射匹配
例如该方法中的参数名称分别为username和age,当我们访问 http://localhost:8080/save?username=leslie&age=20 时,两个基本类型的参数便能够自动匹配
123456789101112131415@Controller("userController")public class UserController { @RequestMapping("/save") @ResponseBody public void save(String username,int a ...
1-计算机网络和因特网
常用基本概念
计算机网络:使用单一技术相互连接(连接介质可以是光纤,铜线,微波…)的自主(单台计算机具有独立自主性)计算机的互联集合
互联网络(Internet):是计算机网络的连接,是网络的网络
拓扑:信道(信号的通道)的分布方式,常见有一下几种形式,最常见的两种基础拓扑是总线拓扑和星型拓扑
总线拓扑
从主机上发出的信号在总线上双向同时传输
所有主机都可以接收这个信号
星型拓扑
主机都挂接在一个中心节点上
早期中心节点由集线器充当,现在的中心节点主要由交换机充当
相较于总线拓扑有单点故障这一缺点(是指系统中一点失效,就会让整个系统无法运作的部件,换句话说,单点故障即会整体故障。)
ISP: Internet Service Provider,互联网服务提供商,指的是面向公众提供下列信息服务的经营者:一是接入服务,即帮助用户接入Internet;二是导航服务,即帮助用户在Internet上找到所需要的信息;三是信息服务,即建立数据服务系统,收集、加工、存储信息,定期维护更新,并通过网络向用户提供信息内容服务。
协议:一系列规则和约定的规范性描述,控制网络中的设备之 ...
11-SpringMVC的数据响应
SpringMVC的数据响应页面跳转方式一:直接返回字符串直接返回字符串,此种方法会将返回的字符串与视图解析器的前后缀拼接后进行页面跳转
没有设置视图解析器的前后缀,直接返回字符串时就需要把跳转页面路径写全
12345@RequestMapping("/saveFunction")public String save(){ System.out.println("(Controller) Save running..."); return "/success.jsp";}
设置视图解析器的前后缀(在Spring-MVC配置文件中配置),直接返回字符串时就可以省略前后缀
12345<!--配置内部资源视图解析器--><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <pr ...
10-SpringMVC简介及组件解析
SpringMVC简介MVC开发模式概念经典MVC(Model View Controller)模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。其中,View的定义比较清晰,就是用户界面。
M(Model)模型,主要通过JavaBean实现。完成具体的业务操作(例如数据库的增删改查,对象的封装)
V(View)视图,主要通过JSP实现。用于展示数据
C(Controller)控制器,主要通过Servlet实现。用于获取用户输入,调用模型,以及将数据交给视图进行展示
MVC优点
耦合性低,方便维护,利于分工协作
代码重用性高
MVC缺点
项目架构复杂,对操作人员要求提高
SpringMVCSpringMVC是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级web框架,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow中
SpringMVC是目前最主流的MVC框架之一,它通过一套注解,让一个简单的Java类(POJO:Plain Ordinary Jav ...
27-登录注册页面基本实现
登录注册页面基本实现前端注册页面1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971 ...