【Bootstrap4前端框架+MySQL数据库】前后端综合实训【10天课程 博客汇总表 详细笔记】【附:实训所有代码】

目   录

eclipse重置视图

MySQL数据库——建数据库、建数据库

sql代码

Tomcat环境配置

下载tomcat压缩包

百度搜索“Tomcat”

下载Tomcat压缩包

解压tomcat压缩包

在eclipse中配置tomcat环境

机房电脑

版本:eclipse-jee-2019-12-R-win32-x86_64.zip

jdk版本太高,导致tomcat配置失败的说明

tomcat启动测试

tomcat按步骤配置仍然失败的解决方法——Projects Facts -> Runtimes

tomcat启动成功页面

tomcat启动失败——需要配置JAVA_HOME

更改tomcat端口号

eclipse测试Java项目中的数据库连接类(实体类)

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException异常解决方法

MySQL8.0 jar包下载

eclipse——MySQL8.0连接数据库

新建web项目

将jar包放到lib文件夹下

Jnuit——测试

关闭项目

运行项目

用户登录界面的编写与验证

login.html(用户登录页面)

UserInfoDao.java(验证用户信息:遍历数据表)

LoginServlet.java(跳转到servlet验证用户信息)

登录失败,重新登录页面(servlet重定向)

分页查询用户数据

下载 bootstrap-table

在html页面中引入bootstrap-table

返回json格式数据

fast JSON——jar包


eclipse重置视图

MySQL数据库——建数据库、建数据库

sql代码

/*
SQLyog Ultimate v11.22 (64 bit)
MySQL - 5.5.56 : Database - news_manager
*********************************************************************
*//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`news_manager` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `news_manager`;/*Table structure for table `item_user` */DROP TABLE IF EXISTS `item_user`;CREATE TABLE `item_user` (`item_user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户栏目关系主键',`user_id` int(11) DEFAULT NULL COMMENT '用户主键ID',`item_id` int(11) DEFAULT NULL COMMENT '栏目ID',`create_time` datetime DEFAULT NULL COMMENT '创建时间',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`item_user_id`),KEY `FK_Reference_1` (`user_id`),KEY `FK_Reference_2` (`item_id`),CONSTRAINT `FK_Reference_1` FOREIGN KEY (`user_id`) REFERENCES `user_info` (`user_id`),CONSTRAINT `FK_Reference_2` FOREIGN KEY (`item_id`) REFERENCES `news_item` (`item_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='栏目与用户之间的关系表';/*Data for the table `item_user` */insert  into `item_user`(`item_user_id`,`user_id`,`item_id`,`create_time`,`update_time`) values (1,1,1,'2020-11-19 16:09:41','2020-11-19 16:10:58'),(2,1,2,'2020-11-19 16:09:50','2020-11-19 16:11:21'),(3,2,4,'2020-11-19 16:11:31','2020-11-19 16:11:35');/*Table structure for table `logs_info` */DROP TABLE IF EXISTS `logs_info`;CREATE TABLE `logs_info` (`logs_id` int(11) NOT NULL AUTO_INCREMENT,`user_id` int(11) DEFAULT NULL COMMENT '用户主键ID',`logs_content` char(10) DEFAULT NULL,`create_time` datetime DEFAULT NULL COMMENT '创建时间',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`logs_id`),KEY `FK_Reference_4` (`user_id`),CONSTRAINT `FK_Reference_4` FOREIGN KEY (`user_id`) REFERENCES `user_info` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='操作日志表';/*Data for the table `logs_info` */insert  into `logs_info`(`logs_id`,`user_id`,`logs_content`,`create_time`,`update_time`) values (1,1,'login','2020-11-19 16:11:51','2020-11-19 16:11:56'),(2,2,'delete:new','2020-11-19 16:12:25','2020-11-19 16:12:45'),(3,4,'insert:new','2020-11-19 16:13:17','2020-11-19 16:13:21');/*Table structure for table `news_info` */DROP TABLE IF EXISTS `news_info`;CREATE TABLE `news_info` (`news_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '新闻主键',`item_id` int(11) DEFAULT NULL COMMENT '栏目ID',`news_title` varchar(255) NOT NULL COMMENT '新闻标题',`news_image` varchar(255) DEFAULT NULL COMMENT '新闻图片',`news_content` text COMMENT '新闻内容',`create_time` datetime DEFAULT NULL COMMENT '创建时间',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`news_id`),KEY `FK_Reference_3` (`item_id`),CONSTRAINT `FK_Reference_3` FOREIGN KEY (`item_id`) REFERENCES `news_item` (`item_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='新闻详情表';/*Data for the table `news_info` */insert  into `news_info`(`news_id`,`item_id`,`news_title`,`news_image`,`news_content`,`create_time`,`update_time`) values (2,3,'图书馆维修,暂停开放一天','','新学期学费......','2020-11-19 16:09:21','2020-11-23 09:17:09'),(3,1,'新能源召回大户特斯拉的“美式”傲慢|观潮','http://pics1.baidu.com/feed/71cf3bc79f3df8dcecfa18268a75ee8c46102829.jpeg?token=32875797d2ded1ed2a9334df610bccf7','新浪科技 花子健\r\n从“硬件升级”到“召回”,理想汽车只用了5天。\r\n而不久前的威马汽车召回事件,前后耗时23天,威马汽车将之定义为“史上最快召回”。如果仅仅是简单对比,理想汽车无疑刷新了历史记录。\r\n对于新造车势力来说,受限于工艺和新技术,召回是大概率事件。目前除了小鹏未有实际的召回经历之外,蔚来汽车、威马汽车以及理想汽车,包括外来者特斯拉,都遇到过召回。只不过,中国新造车势力和特斯拉表现出来的态度截然不同。\r\n“惶恐”的造车新势力\r\n11月1日,理想汽车在媒体沟通会上宣布了针对前悬架下摆臂球销和底盘的“免费升级”,其中前悬架下摆臂球销受力太低与理想ONE多次出现断轴事件有关系。\r\n但理想汽车的措辞遭到质疑。一方面是理想汽车CEO李想公开承认“升级肯定是因为产品有缺陷,我们是在行驶当中发生碰撞断掉的几率高于平均值。”而另外一方面,则是在一开始否认“召回”,以“免费升级”代替。\r\n理想汽车销售服务副总裁刘杰强调,升级和那种由于车辆本身在行驶过程中出现故障和质量问题的召回,是不一样的。11月6日,理想汽车最终宣布召回10469辆理想ONE,占已交付车辆的将近50%。\r\n官方披露的信息显示,截至2020年10月31日,理想ONE累计发生了97起前悬架碰撞事故,其中前悬架下摆臂球头从球销脱出的情况超过10起,造成了理想汽车在碰撞之后断轴的严重事故。','2020-11-23 09:01:17','2020-11-23 09:01:17');/*Table structure for table `news_item` */DROP TABLE IF EXISTS `news_item`;CREATE TABLE `news_item` (`item_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '栏目ID',`item_name` varchar(255) NOT NULL COMMENT '栏目名称',`create_time` datetime DEFAULT NULL COMMENT '创建时间',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`item_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='新闻栏目';/*Data for the table `news_item` */insert  into `news_item`(`item_id`,`item_name`,`create_time`,`update_time`) values (1,'新闻处',NULL,'2020-11-19 16:04:37'),(2,'教务处',NULL,'2020-11-19 16:04:37'),(3,'财务处',NULL,'2020-11-19 16:04:38'),(4,'保卫处',NULL,'2020-11-19 16:04:38');/*Table structure for table `user_info` */DROP TABLE IF EXISTS `user_info`;CREATE TABLE `user_info` (`user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户主键ID',`user_name` varchar(255) NOT NULL COMMENT '用户名',`user_pwd` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '用户密码',`create_time` datetime DEFAULT NULL COMMENT '创建时间',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=113 DEFAULT CHARSET=utf8 COMMENT='用户信息表';/*Data for the table `user_info` */insert  into `user_info`(`user_id`,`user_name`,`user_pwd`,`create_time`,`update_time`) values (1,'zhangsan','123','2020-11-19 14:30:51','2020-11-20 09:59:57'),(2,'李四','234','2020-11-19 14:34:49','2020-11-19 14:35:36'),(4,'王五','123','2020-11-19 16:03:02','2020-11-19 16:03:02'),(5,'赵柳','123456','2020-11-20 09:15:26','2020-11-20 09:15:26'),(8,'田七','123456','2020-11-20 09:43:30','2020-11-20 09:43:30'),(11,'123213','31231','2020-11-23 14:20:42','2020-11-23 14:20:44'),(12,'234234','43564564','2020-11-23 14:20:47','2020-11-23 14:20:51'),(13,'userName1','123456','2020-11-23 14:21:55','2020-11-23 14:21:55'),(14,'userName2','123456','2020-11-23 14:21:55','2020-11-23 14:21:55'),(15,'userName3','123456','2020-11-23 14:21:55','2020-11-23 14:21:55'),(16,'userName4','123456','2020-11-23 14:21:55','2020-11-23 14:21:55'),(17,'userName5','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(18,'userName6','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(19,'userName7','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(20,'userName8','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(21,'userName9','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(22,'userName10','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(23,'userName11','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(24,'userName12','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(25,'userName13','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(26,'userName14','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(27,'userName15','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(28,'userName16','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(29,'userName17','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(30,'userName18','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(31,'userName19','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(32,'userName20','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(33,'userName21','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(34,'userName22','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(35,'userName23','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(36,'userName24','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(37,'userName25','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(38,'userName26','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(39,'userName27','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(40,'userName28','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(41,'userName29','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(42,'userName30','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(43,'userName31','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(44,'userName32','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(45,'userName33','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(46,'userName34','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(47,'userName35','123456','2020-11-23 14:21:56','2020-11-23 14:21:56'),(48,'userName36','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(49,'userName37','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(50,'userName38','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(51,'userName39','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(52,'userName40','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(53,'userName41','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(54,'userName42','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(55,'userName43','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(56,'userName44','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(57,'userName45','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(58,'userName46','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(59,'userName47','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(60,'userName48','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(61,'userName49','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(62,'userName50','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(63,'userName51','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(64,'userName52','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(65,'userName53','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(66,'userName54','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(67,'userName55','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(68,'userName56','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(69,'userName57','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(70,'userName58','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(71,'userName59','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(72,'userName60','123456','2020-11-23 14:21:57','2020-11-23 14:21:57'),(73,'userName61','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(74,'userName62','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(75,'userName63','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(76,'userName64','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(77,'userName65','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(78,'userName66','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(79,'userName67','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(80,'userName68','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(81,'userName69','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(82,'userName70','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(83,'userName71','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(84,'userName72','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(85,'userName73','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(86,'userName74','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(87,'userName75','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(88,'userName76','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(89,'userName77','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(90,'userName78','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(91,'userName79','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(92,'userName80','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(93,'userName81','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(94,'userName82','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(95,'userName83','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(96,'userName84','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(97,'userName85','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(98,'userName86','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(99,'userName87','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(100,'userName88','123456','2020-11-23 14:21:58','2020-11-23 14:21:58'),(101,'userName89','123456','2020-11-23 14:21:59','2020-11-23 14:21:59'),(102,'userName90','123456','2020-11-23 14:21:59','2020-11-23 14:21:59'),(103,'userName91','123456','2020-11-23 14:21:59','2020-11-23 14:21:59'),(104,'userName92','123456','2020-11-23 14:21:59','2020-11-23 14:21:59'),(105,'userName93','123456','2020-11-23 14:21:59','2020-11-23 14:21:59'),(106,'userName94','123456','2020-11-23 14:21:59','2020-11-23 14:21:59'),(107,'userName95','123456','2020-11-23 14:21:59','2020-11-23 14:21:59'),(108,'userName96','123456','2020-11-23 14:21:59','2020-11-23 14:21:59'),(109,'userName97','123456','2020-11-23 14:21:59','2020-11-23 14:21:59'),(110,'userName98','123456','2020-11-23 14:21:59','2020-11-23 14:21:59'),(111,'userName99','123456','2020-11-23 14:21:59','2020-11-23 14:21:59'),(112,'userName100','123456','2020-11-23 14:21:59','2020-11-23 14:21:59');/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

Tomcat环境配置

下载tomcat压缩包

百度搜索“Tomcat”

下载Tomcat压缩包

解压tomcat压缩包

在eclipse中配置tomcat环境

机房电脑

   

   

选择tomcat压缩包的解压路径(bin的上一级目录):

   

   

版本:eclipse-jee-2019-12-R-win32-x86_64.zip

   

选择tomcat压缩包的解压路径(bin的上一级目录):

选择tomcat压缩包的解压路径(bin的上一级目录):

   

jdk版本太高,导致tomcat配置失败的说明

删除eclipse... 重新搞一遍...

jdk11版本太高,把jdk卸载干净,换成jdk8就行了。

tomcat启动测试

tomcat按步骤配置仍然失败的解决方法——Projects Facts -> Runtimes

关闭eclipse,重新打开eclipse,应该也可以。

   

tomcat启动成功页面

  • http://127.0.0.1:8080/
  • http://localhost:8080/

tomcat启动失败——需要配置JAVA_HOME

C:\Java\jdk1.8.0_152

更改tomcat端口号

eclipse测试Java项目中的数据库连接类(实体类)

5个数据表:每个数据表都要有3个相应的Java类。

package com.newcapec.dao; // dao层包(模板Dao)模板代码、固定写法

  • BaseDao.java:应用于5个数据表的Java接口 实现“增删改查”的接口

package com.newcapec.entity; // 实体entity

  • NewsInfoEntity.java:新闻实体类
  • UserInfoEntity.java:管理员实体类

package com.newcapec.test; // 测试包

package com.newcapec.utils; // 工具包

  • DBUtils.java:获取数据库连接的工具类

   

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException异常解决方法

原文链接

  • 第1步:使用最新的MySQL驱动jar包。
  • 第2步:把驱动的类名改为:static String driver="com.mysql.cj.jdbc.Driver";
  • 第3步:在访问mysql的url后加入时区设置:static String url="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&serverTimezone=UTC"; // (UTC表示标准时区)

MySQL8.0 jar包下载

原文链接——mysql 8.0.15 jar包下载地址

package com.newcapec.utils;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;import com.mysql.jdbc.Driver;/*** 获取与数据库的连接 此处后期需要使用阿里巴巴的druid数据库连接池优化* * @author user**/
public class DBUtils {public static Connection openConn() throws ClassNotFoundException, SQLException {// 连接数据库四要素// url username password driverString user = "root";String password = "root";
//      String driver = "com.mysql.jdbc.Driver";
//      String url = "jdbc:mysql://127.0.0.1:3306/news_manager?characterEncoding=UTF-8";String driver = "com.mysql.cj.jdbc.Driver";String url = "jdbc:mysql://localhost:3306/news_manager?characterEncoding=utf-8&serverTimezone=UTC";// (UTC表示标准时区)// 注册数据库驱动Class.forName(driver);return DriverManager.getConnection(url, user, password);}}

eclipse——MySQL8.0连接数据库

原文链接:JavaWeb 中 MySQL8.0.19 解决java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver的问题

问题所在:我电脑MySQL版本是8.0.19,但是mysql的jar包却是5.1.39的,jar包与本地MySQL版本不对应导致。
解决步骤:
1.首先将websurver/WebContent/WEB-INF/lib/目录下的mysql-connecctor-java-5.1.39-bin.jar删除,然后将mysql-connector-java-8.0.19.jar引入。右击mysql-connector-java-8.0.19.jar选择图中的选项,将其Add to Build Path。
   
然后在Java Build Path中显示如图,

2. 将Class.forName的内容换成”com.mysql.cj.jdbc.Driver”

3.在conn = DriverManager.getConnection中添加serverTimezone = GMT%2B8,如图。完成之后就不会再报错了。

数据库连接成功!

新建web项目

   

   

   

将jar包放到lib文件夹下

Jnuit——测试

   

关闭项目

把不用的项目关闭!!!

运行项目

   

用户登录界面的编写与验证

在login.html页面提交用户信息(用户名与密码),后台跳转到LoginServlet.java页面,在LoginServlet.java页面调用UserInfoDao.java中的login()方法遍历数据表,验证用户信息。

login.html(用户登录页面)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!-- 新 Bootstrap4 核心 CSS 文件 -->
<link rel="stylesheet" href="bootstrap4/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="font-awesome-4.7.0/css/font-awesome.min.css" />
<!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<script src="jquery/jquery.min.js"></script>
<!-- bootstrap.bundle.min.js 用于弹窗、提示、下拉菜单,包含了 popper.min.js -->
<script src="js/popper.min.js"></script>
<!-- 最新的 Bootstrap4 核心 JavaScript 文件 -->
<script src="bootstrap4/js/bootstrap.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<style type="text/css">header, footer {height: 100px;/* background-color: #005CBF; */}body {display: flex;flex-direction: column;min-height: 100vh;}#main {flex-grow: 1;background-image: url(img/banner.jpg);background-repeat: no-repeat;background-size: cover;display: flex;align-items: center;justify-content: flex-end;}#login {height: 400px;width: 400px;background-color: white;margin-right: 100px;border-radius: 10px;}
</style>
<title>login</title>
</head>
<body><header></header><div id="main"><div id="login"><form style="padding: 20px;" action="LoginServlet" method="post"><div class="input-group mb-3"><div class="input-group-prepend"><span class="input-group-text"><i class="fa fa-user"></i></span></div><input type="text" name="userName" class="form-control"    placeholder="请输入用户名"></div><div class="input-group mb-3"><div class="input-group-prepend"><span class="input-group-text"><i class="fa fa-lock"></i></span></div><input type="text" name="userPwd" class="form-control" placeholder="Username"></div><button type="submit" class="btn btn-info form-control">登录</button></form></div></div><footer></footer>
</body>
</html>

UserInfoDao.java(验证用户信息:遍历数据表)

主要是login()方法对用户信息进行验证!

LoginServlet.java(跳转到servlet验证用户信息)

package com.newcapec.servlet;import java.io.IOException;
import java.sql.SQLException;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.newcapec.dao.UserInfoDao;
import com.newcapec.entity.UserInfoEntity;/*** Servlet implementation class LoginServlet*/
@WebServlet(name = "/LoginServlet", urlPatterns = "/LoginServlet")
public class LoginServlet extends HttpServlet {private UserInfoDao userInfoDao = new UserInfoDao();private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public LoginServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse*      response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubresponse.getWriter().append("Served at: ").append(request.getContextPath());}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse*      response)*/// 注意:在正规开发中 登录密码需要加密// 需要有验证码protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("UTF-8");String userName = request.getParameter("userName");String userPwd = request.getParameter("userPwd");try {UserInfoEntity userInfoEntity = userInfoDao.login(userName, userPwd);if (userInfoEntity != null) {// 登录成功request.getSession().setAttribute("userInfo", userInfoEntity);response.sendRedirect("index.html");} else {// 登录失败 重定向response.sendRedirect("loginFailure.html");}} catch (ClassNotFoundException | SQLException e) {// TODO 自动生成的 catch 块e.printStackTrace();}}}

登录失败,重新登录页面(servlet重定向)

分页查询用户数据

下载 bootstrap-table

   

在html页面中引入bootstrap-table

返回json格式数据

fast JSON——jar包

分页查询代码详见:Bootstrap4+MySQL前后端综合实训-Day06-PM【分页查询用户数据】

Bootstrap4+MySQL前后端综合实训-Day06-AM【eclipse详细配置Tomcat、开发web项目、servlet、连接MySQL8.0数据库、用户登录界面的编写与验证、分页查询】相关推荐

  1. Bootstrap4+MySQL前后端综合实训-Day10-AM【实训汇报-下午返校、项目代码(7个包+7个Html页面)】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目录 实训汇报 数据库--所有SQL语句 工程文件展示 代码 ①package ...

  2. Bootstrap4+MySQL前后端综合实训-Day09-PM【实训汇报、在同一校园网下,查看别人的项目——ipconfig】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 在同一校园网下,查看别人的项目--ipconfig    

  3. Bootstrap4+MySQL前后端综合实训-Day09-AM【项目功能展示视频、小组汇报PPT、项目介绍】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目   录 项目功能展示视频(视频地址:https://live.csdn.n ...

  4. Bootstrap4+MySQL前后端综合实训-Day08-PM【ajax获取表单标签内容、根据“栏目信息”添加“新闻信息”、新闻管理系统-项目展示】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目   录 ajax获取表单标签内容 ajax根据数据库加载select下来列 ...

  5. Bootstrap4+MySQL前后端综合实训-Day08-AM【多表查询sql语句、关联数据的假删除、自动增长主键的获取、栏目管理“数据编辑”按钮的实现】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目   录 多表查询sql语句 关联数据的假删除(status状态码/数据可恢 ...

  6. Bootstrap4+MySQL前后端综合实训-Day07-PM【用户信息管理页面——功能展示(分页显示数据、添加用户、批量删除用户、编辑用户信息)、servlet项目代码整理汇总】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目   录 页面展示 分页显示数据 添加用户信息 (单个/批量)删除用户 编辑 ...

  7. Bootstrap4+MySQL前后端综合实训-Day07-AM【ajax局部刷新——(单个/批量)删除用户按钮的实现、更新用户信息按钮的实现】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目   录 (单个/批量)删除用户按钮的实现.更新用户信息按钮的实现--展示 ...

  8. Bootstrap4+MySQL前后端综合实训-Day06-PM【MD5加码-生成32位md5码、ResultData.java、分页查询用户数据、添加用户按钮的实现】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目录 MD5加码 生成32位md5码 ResultData.java 分页查询 ...

  9. Bootstrap4+MySQL前后端综合实训-Day05-AM【MySQL数据库(SQLyog软件基本操作、架构设计器)、eclipse(JDBC开发-添加驱动、构建路径、增删改查基本测试)】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记] 目   录 MySQL数据库--建库.建表 新建连接.测试连接 新建news_manager数据库 ...

最新文章

  1. 嵌入式和机械哪个好?机械转嵌入式好转吗?
  2. atomikos mysql,记一次 Atomikos 分布式事务的使用
  3. 线程池 ManualResetEvent
  4. 在 Linux 下使用 水星MW150cus (RTL8188CUS芯片)无线网卡
  5. 选择的按钮:将ToggleButtons用作单选按钮
  6. PyTorch实现自由的数据读取
  7. SVN工作笔记001---svn删除已经上传的文件
  8. 仿铁路订票系统Gridview
  9. 论文阅读-A Fast Learning Algorithm for Deep Belief Nets
  10. 机器学习——使用array函数构建一维数组
  11. 这个日期格式是什么? 2011-08-12T20:17:46.384Z
  12. 汉画轩—让国学与区块链技术碰撞出更璀璨的火花
  13. 孙鑫VC++深入详解笔记
  14. 台式计算机识别不了u盘,台式机装系统读取不出U盘怎么办?
  15. python文本编辑器下载_python文本编辑器下载-TextPad下载v 8.2.0最新免费版-西西软件下载...
  16. Android判断网络速度
  17. linux+查内存数量,检查 Linux 中内存使用情况的 8 条命令 | Linux 中国
  18. 《领导力》读后感笔记
  19. webpack创建服务
  20. 【Linux】实验报告8 Linux文件系统

热门文章

  1. List集合存入int类型值1,remove(1)方法按下标还是按对象删除信息
  2. mysql 临时表 汉字_转MySQL临时表的简单用法
  3. linux是基于什么的软件模式进行发布的,《Linux操作系统与应用项目教程》习题.doc...
  4. 计算机导航 骨科 ppt模板,(医学PPT课件)术中即时三维导航在脊柱侧弯矫形的应用...
  5. 七十四、滑动窗口最值问题
  6. 我为什么重新做起了公众号?
  7. 三十六、 SQL基本语法
  8. 八十八、Webpack打包工具
  9. scikit-image基本用法(上)
  10. 客座招生 | 中科院深圳先进院招收智能机器人方向联培和客座学生