Java社区——个人项目开发笔记(二)
1、B\S架构通信原理
浏览器,服务器之间产生通信,浏览器访问服务器,服务器返回一个HTML,浏览器会对HTML进行解析,并渲染相关的内容。
在解析过程中,会发现HTML里引用了css文件,js文件,图片文件等等,HTML是依赖于多个文件的。每发现一个文件,就会再向服务器发送一次请求,服务器就会返回一个它所需要的依赖的文件。通常关注第一个请求,一般如果返回的HTML网页没有问题,其他基本问题不大。
2、MVC三层架构
服务端代码通常分为三层,称为三层架构:表现层,业务层,数据访问层。
对于一个web项目,其实不分层也可以写。但是写在一个类中,这个类做的事太多太杂,耦合度过高,当代码规模变大后,会变得不好维护甚至不可控。分层的目的是解耦,让代码更有利于维护。
MVC:一种设计模式,理念是将复杂代码分为三个层次,三者作为一个集体来解决表现层的问题。其中:
- C:Controller层,用来处理浏览器的请求,负责调度
- V:View层,只负责渲染,和展示
- M:Model,二者联系的纽带
关于三者如何协作? - 浏览器发送请求访问服务器
- Controller接受请求中的数据,调用Service业务层去处理,之后将得到的数据封装到Model。
- View层利用Model层数据,生成一个HTML返回给浏览器
- 浏览器最终从View视图层得到一个HTML
3、DispatcherServlet
前端控制器:DispatcherServlet
SpringMVC核心组件,其实也是一个类,可用于调度Controller和View
servlet引擎,例如tomcat,上图这些程序都是位于tomcat之内运行
- Thymeleaf模板引擎所需的模板位于 resources/templates
- Controller控制层和View视图层代码分别位于Controller和templates文件夹下
- Model对象会被框架自动实例化,主要是用来存放模型数据的,不需要我们管。
4、SpringMVC功能测试
在SpringMVC下获得请求/响应对象
此做法能对底层对象有更直观了解
封装后有更简便的请求方式
更简便的做法:将浏览器的请求分成两个方面处理。
- 要请求的数据,基于request
- 要相应的数据,基于response
1)如何请求数据
使用GET方法:
或者
总结:使用GET方法向服务器请求数据时,有两种传参方式,一种是?拼参数,一种是把参数拼到路径当中,两种方式获取参数方式有所不同,用不同的注解。
使用POST方法
2)如何响应数据
响应json数据
5、MyBatis功能测试
- 核心组件
- SqISessionFactory:用于创建SqlSession的工厂 类。
- SqlSession: MyBatis的核心组件,用于向数据库执行SQL。类似于JDBC里的Connection
- 主配置文件: XML配置文件,可以对MyBatis的底层行为做出详细的配置。
- Mapper接口:就是DAO接口,在MyBatis中习惯性的称之为Mapper。
- Mapper映射器:用于编写SQL,并将SQL和实体类映射的组件,采用XML、注解均可实现。
使用MyBatis访问数据库,只需要写出接口,不需要写出实现类,其底层会自动帮我们实现这个接口,前提是要告诉它每个crud方法所依赖的SQL。
这些SQL写在Mapper映射器中,并且体现了SQL与实体类之间的映射关系。
数据库连接池也叫数据源,统一的初始化一批连接,能够复用,效率高;能管理连接上限,可以避免数据库连接人数过多而瘫痪。
示例:对讨论帖进行查询
Mapper接口中定义查询接口:
在对应的mapper映射器(xml文件)中写出对应的sql标签:
Java社区——个人项目开发笔记(二)的更多相关文章
- Java社区——个人项目开发笔记(一)
1.maven安装与测试 安装过程略,常用的maven命令行工具: mvn --version 查看maven版本 mvn compile 编译maven工程 mvn clean 删除编译文件 mvn ...
- [Openwrt 项目开发笔记]:Openwrt必要设置(二)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 前面的两篇blog中,我将如何搭建Openwrt ...
- [Openwrt 项目开发笔记]:Openwrt平台搭建(一)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...
- [openwrt 项目开发笔记]: 传送门
“Openwrt 项目开发笔记”系列传送门: [Openwrt 项目开发笔记]:Openwrt平台搭建(一) (2014-07-11 00:11) [Openwrt 项目开发笔记]:Openwrt平台 ...
- [Openwrt 项目开发笔记]:PHP+Nginx安装(七)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一节中,我们已经搭建了MySQL数据库了,因 ...
- [Openwrt 项目开发笔记]:MySQL配置(六)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在本人的项目中,运行在路由器上的服务器采用Ngi ...
- [Openwrt 项目开发笔记]:DDNS设置(五)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一节中,我主要讲述了如何在Openwrt上安 ...
- [Openwrt 项目开发笔记]:Samba服务&vsFTP服务(四)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一节中,我们讲述了如何在路由器上挂载U盘,以 ...
- [Openwrt 项目开发笔记]:USB挂载& U盘启动(三)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一篇中,我结合Netgear Wndr370 ...
随机推荐
- Java | 集合(Collection)和迭代器(Iterator)
集合(Collection) 集合就是Java中提供的一种 空器,可以用来存储多个数据. 集合和数组都是一个容器,它们有什么区别呢? 数组的长度是固定的,集合的长度是可变的. 数组中存储的是同一类型的 ...
- 三、k8s集群可用性验证与调参(第一章、k8s高可用集群安装)
作者:北京小远 出处:http://www.cnblogs.com/bj-xy/ 参考课程:Kubernetes全栈架构师(电脑端购买优惠) 文档禁止转载,转载需标明出处,否则保留追究法律责任的权利! ...
- 手写Spring框架,是时候撸个AOP与Bean生命周期融合了!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 嘎小子,这片代码水太深你把握不住! 在电视剧<楚汉传奇>中有这么一段刘邦 ...
- springboot-1-入门
springboot-1-入门 1.springboot简介,背景 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.极简hellowor ...
- Jenkins 进阶篇 - 参数化构建
我们在构建任务时经常会遇到这样的情景,一个任务配置好了以后,在后面的构建过程中,又会修改一些配置.例如,我们构建项目的代码可能是拉取指定的分支或者是Tag进行构建,又或者是在构建是需要指定特定的运行平 ...
- Linux 安装 Nodejs 的两种方式
Linux 安装 Nodejs 的两种方式 目录 Linux 安装 Nodejs 的两种方式 一.压缩包安装 Nodejs 二.源码编译安装 Nodejs 一.压缩包安装 Nodejs 下载 Node ...
- ASP.NET中<%=%>、<%%>、<%@%>、<%#%>的用法与区别
1.<%= %> 里面放变量名,获取后台的变量值,直接输入变量到页面上,里面放的变量名,未经过encode eg: 后台: seession["ab"]=ab; 前台: ...
- Nginx负载均衡反向代理服务器
1.第一步先在IIS中创建多个网站,分别用不同的端口号.这里创建两个网站端口号分别8084.8085,在Nginx配置中会用到.测试两个网站能正常访问. 2.配置Nginx 1)增加负载均衡请求列表 ...
- Fedora无法安装Qt4
针对QT4,6安装时遇到的情况 安装平台:fedora14i686 Qt版本:4.6.2 1:解压qt的tar包 我们进行解压(tar xzvf ***.tar.gz),解压到指定目录的话后边加上: ...
- 深入刨析tomcat 之---第12篇 how tomcat works( 第17章 ) 解析catalina.bat 梳理启动流程
我们如何启动tomcat呢? 答案是双击startup.bat文件,这个文件在bin目录下 @echo off 不显示批处理命令 rem Licensed to the Apache Softw ...