ssm框架+maven的web项目实现

前言

1.架构逻辑

  1. web项目层次结构

2.学习步骤

  1. 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)
    
    1. mysql连接问题:
    	//更改加密方式->传统
    	ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
    	
    	//刷新修改
    	 FLUSH PRIVILEGES;
    
  2. 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>
    
  3. Mybatis的配置与使用
    方法

    1. 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方法。
      接口文件

    2. 调用映射文件操作数据库

      建立操作对象
      建立操作对象

      获取映射接口类操作数据库
      获取映射接口类操作数据库

  4. 和获取请求url携带的参数
    方法

    1. 使用servlet程序,导入servlet架包
    2. servlet的使用分为两部分:

    方法一(web.xml配置):
    servlet配置文件
    方法二(注解配置):
    注解配置servlet

    1. 在静态页面配置动态程序思想:
      • 在jsp静态页面中的表单提交后会根据action中的路径跳转链接;
        静态页面跳转链接
      • servlet的url映射作用是监听指定的url映射,当指定的url请求发起时,会进入对应的servlet类方法中(前端参数的获取等);
        servlet的响应

      静态页面地址:静态页面地址
      监听与跳转地址:
      监听与跳转地址

  5. tomcat的使用
    方法

    1. 下载tomcat包
    2. idea部署tomcat:

    tomcat基本配置部署方式分两种:打包形式和文件夹形式
    下图是网页的根路径
    部署方式-文件夹

    1. tomcat的缓存清理:
      idea-tomcat缓存清理
  6. bootstrapTable的使用(快速表格包)

    • 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()方法回传。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chip丶苦瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值