前言
1.架构逻辑
- web项目层次结构
2.学习步骤
-
Mysql的安装部署+配置
方法:- 下载安装mysql
问题:
- mysql安装完成需要设置密码、时区
# 设置全局时区 mysql> set global time_zone = '+8:00';Query OK, 0 rows affected (0.00 sec) # 设置时区为东八区 mysql> set time_zone = '+8:00'; Query OK, 0 rows affected (0.00 sec) # 刷新权限使设置立即生效 mysql> flush privileges;Query OK, 0 rows affected (0.00 sec) mysql> show variables like '%time_zone%'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | EST | | time_zone | +08:00 | +------------------+--------+ 2 rows in set (0.00 sec)
- mysql连接问题:
//更改加密方式->传统 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; //刷新修改 FLUSH PRIVILEGES;
-
Maven导入依赖包
jdbc+mybatis+junit
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.16</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!-- mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.7</version> </dependency>
解决maven不扫描.xml的路径
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources>
-
Mybatis的配置与使用
方法:-
sqlMapConfig.xml配置文件
数据库的连接(jdbc)
<environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="(数据库连接驱动)com.mysql.cj.jdbc.Driver" /> <property name="url" value="(数据库)jdbc:mysql://localhost:3306/sgy" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments>
mapper映射文件(xml)扫描
<mappers> <mapper resource="coMapper.xml"/> </mappers>
mapper映射文件与接口调用
Tips:JAVA反射只能获取方法类型,无法知道变量名。因此在占位符中的变量名直接与模型文件中的变量名一致即可,反射获取时会自动调用模型中的getter方法。
-
调用映射文件操作数据库
建立操作对象
获取映射接口类操作数据库
-
-
和获取请求url携带的参数
方法:- 使用servlet程序,导入servlet架包
- servlet的使用分为两部分:
方法一(web.xml配置):
方法二(注解配置):
- 在静态页面配置动态程序思想:
- 在jsp静态页面中的表单提交后会根据action中的路径跳转链接;
- servlet的url映射作用是监听指定的url映射,当指定的url请求发起时,会进入对应的servlet类方法中(前端参数的获取等);
静态页面地址:
监听与跳转地址:
- 在jsp静态页面中的表单提交后会根据action中的路径跳转链接;
-
tomcat的使用
方法:- 下载tomcat包
- idea部署tomcat:
部署方式分两种:打包形式和文件夹形式
下图是网页的根路径
- tomcat的缓存清理:
-
bootstrapTable的使用(快速表格包)
-
bootstrapTable的使用
bootstrapTable依赖js+css+包包:bootstrap.min.js
js: jquery-1.11.1.min.js、bootstrap-table.min.js、bootstrap-table-zh-CN.min.js(中文包)
css: bootstrap.min.css、bootstrap-table.min.css -
bootstrapTable的引用格式
$('#table').bootstrapTable({ url: 'data1.json', //数据接口 columns: [{ //表格+头部 field: 'id', title: 'Item ID' }, { field: 'name', title: 'Item Name' }, { field: 'price', title: 'Item Price' }] })
-
bootstrapTable的参数了解
url : 'firmSoftTable.action', // 请求后台的URL(*) method : 'post', // 请求方式(*)post/get contentType: "application/x-www-form-urlencoded",//post请求的话就加上这个句话 toolbar : '#toolbar', // 工具按钮用哪个容器 striped : true, // 是否显示行间隔色 cache : false, // 是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination : true, // 是否显示分页(*) sortable : false, // 是否启用排序 sortOrder : "asc", // 排序方式 queryParams : oTableInit.queryParams,// 传递参数(*) sidePagination : "server", // 分页方式:client客户端分页,server服务端分页(*) pageNumber : 1, // 初始化加载第一页,默认第一页 pageSize : 10, // 每页的记录行数(*) pageList : [ 10, 25, 50, 100 ], // 可供选择的每页的行数(*) search : false, // 是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大 strictSearch : true, showColumns : false, // 是否显示所有的列 showRefresh : false, // 是否显示刷新按钮 minimumCountColumns :2, // 最少允许的列数 clickToSelect : true, // 是否启用点击选中行 height : "",// 行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度 uniqueId : "ID", // 每一行的唯一标识,一般为主键列 showToggle : false, // 是否显示详细视图和列表视图的切换按钮 cardView : false, // 是否显示详细视图 detailView : false, // 是否显示父子表 locale: "zh-CN", //中文支持 queryParams: function (params) {//自定义参数,这里的参数是传给后台的,我这是是分页用的 return {//这里的params是table提供的 offset: params.offset,//从数据库第几条记录开始 limit: params.limit//找多少条 }; },
-
bootstrapTable的数据传递
- 与servlet交互
前端表格获取数据的接口与servlet映射地址名一致。
后端处理的数据需要转成含有"total
"(总条数)和"row
"(条目list)的json格式。
最后运用resp.getWriter().println()
方法回传。