最后
小编的一位同事在校期间连续三年参加ACM-ICPC竞赛。从参赛开始,原计划每天刷一道算法题,实际上每天有时候不止一题,一年最终完成了 600+:
凭借三年刷题经验,他在校招中很快拿到了各大公司的offer。
入职前,他把他的刷题经验总结成1121页PDF书籍,作为礼物赠送给他的学弟学妹,希望同学们都能在最短时间内掌握校招常见的算法及解题思路。
整本书,我仔细看了一遍,作者非常细心地将常见核心算法题和汇总题拆分为4个章节。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
而对于有时间的同学,作者还给出了他结合众多数据结构算法书籍,挑选出的一千多道题的解题思路和方法,以供有需要的同学慢慢研究。
port=3306
#basedir是安装路径,datadir是安装路径\Data
basedir=C:\mysql-8.0.17-winx64
datadir=C:\mysql-8.0.17-winx64\Data
max_connections=200
max_connect_errors=10
character-set-server=utf8mb4
default-storage-engine=MyISAM
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8mb4
[client]
port=3306
default-character-set=utf8mb4
![java023 1024x600 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/fa298fbf26900471acde57371a3e10b6.png)
配置环境变量
变量名:MYSQL\_HOME
变量值:C:\mysql-8.0.17-winx64
![java024 1024x581 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/08f0d203780f16f8093c756bd4f202f7.png)
![java025 1024x860 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/d714c107eb99423560b75ef2c918a6e1.png)
![java026 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/a860e3a81b126727fd8d57ebb1602fff.png)
以管理员身份打开 cmd 命令行工具,切换目录:
cd C:\web\mysql-8.0.11\bin
![java027 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/acaf1fbd41280c257504d0c927a32385.png)
![java028 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/4f2c7a204305f4c4e4bf3fbf8a4e7f4c.png)
初始化数据库:
mysqld –initialize –console
执行完成后,会输出 root 用户的初始默认密码,如:
2019-09-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
(APWCY5ws&hjQ 就是初始密码,可以在登陆后修改密码)
输入以下安装命令:
mysqld install
启动输入以下命令即可:
net start mysql
正常情况:
![java029 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/cd328218d5bb69057bc393b7bc75e58b.png)
异常情况:
![java030 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/f483cc7c8c218d362121844ba46f1093.png)
查看服务有没有开启,如果MySQL服务正常,这种情况不影响使用
![java031 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/06ecfaad2f03152f5eda76b4fbcedc16.png)
登录MySQL: mysql -u root -p
![java032 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/eb6e711c6e5b3f8d5576535a12839ce5.png)
设置(或修改)root用户密码:
mysql> update mysql.user set authentication\_string=password(“\*\*\*\*”) where user = “root”;
(此处引号中的内容是密码,自己可以随便设置,为了后边方便不用修改war包中的连接配置,建议和本地MySQL设置一样的密码)
保存修改后的密码:
mysql> flush privileges; #作用:相当于保存,执行此命令后,设置才生效,若不执行,还是之前的密码不变
---
#### 3、**安装 Tomcat**
注册tomcat,要用到tomcat的service.bat,如果你的tomcat没有这个,就重新下载一个有service.bat的tomcat。
点击Archives
![java033 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/87ffe4d405fbbe7e34c8e9e2bea3dcbb.png)
选择需要的版本,我用的是v8.5.45,选好了点击去之后再点击bin/
![java034 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/deb8a81ae99ab118418147b62e2ed578.png)
选择这个下载
![java035 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/a3ac25f40b8a4cdde1bbf70405cd1e4a.png)
下载完解压到想要存放的安装目录
我的tomcat的路径是:C:\Program Files\apache-tomcat-8.5.45所以下列的变量值就是我的tomcat路径:
(1)新建变量名:CATALINA\_BASE
变量值:C:\Program Files\apache-tomcat-8.5.45
(2)新建变量名:CATALINA\_HOME
变量值:C:\Program Files\apache-tomcat-8.5.45
![java036 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/a803d2735ad11168d5032083b644c394.png)
(3) 编辑变量名: Path
添加变量值:;%CATALINA\_HOME%\lib;%CATALINA\_HOME%\bin;
(分号是把path的各个变量分开)
![java037 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/f58cdba883637c9f792bfbef3847362b.png)
修改conf文件夹里的server.xml文件,如图,port是端口,一般是8080,我自己设得是70,添加URIEncoding=”UTF-8″,防止中文乱码。
![java038 1024x386 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/a15a7200c73031312977fecd2937d3c8.png)
管理员身份打开cmd, cd到tomcat的bin目录,输service install安装服务。
![java039 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/b364e5b37384b6f2deeb4ee5c219ef68.png)
(这张图借的,版本号和我的不一样,只做示意)
在服务里可以看到有tomcat8了
![java040 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/be9721143f65c633263bafadd5e16abb.jpeg)
后面启动直接startup,只要tomcat这个窗口不关,外网就可以直接访问部署在里面的项目。
![java041 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/0b1ce77b653bf79ff7199b0839e968ef.png)
浏览器网址输入localhost:70/ 配置成功会跳到此页面。
![java042 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/9b36b4e9fc78144629e32fa3e5ccf1e7.jpeg)
---
### **四、数据迁移到服务器**
#### **1、本地数据备份SQL**
我们需要把本地的数据迁移到服务器上的数据库上。
我用的Navicat,推荐下面这个免安装的版本:
链接:https://pan.baidu.com/s/1y9flZHD9AgGfhz1pebPNyg
提取码:kkaf
![java006 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/dac4855fa117d5118ca447dda5b3b99a.png)
![java007 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/ca7d6ec8318d6a440f596d67ab29d246.png)
备份成功,后面只要把这个SQL文件导入数据库就可以了
![java008 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/585775a54f22793ec6dd95b9cbe23a41.jpeg)
---
#### 2、云数据库导入SQL
把备份的sql数据存到云服务器的MySQL里面
我在云端也有一个Navicat
![java043 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/0d3c6fc62f296b924e48364eb22b93ee.png)
数据已经在数据库里了
![java044 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/c4265149c224d9e2554056eded67bbba.jpeg)
---
### **五、部署 Java 项目**
把war包放在tomcat安装目录的webapps下
![java045 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/51e7eaee3eba06f48d10fb30f9b9a026.png)
启动tomcat(cmd里startup),访问 localhost:70/CRM
![java046 1024x501 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/b34885bfc7ceb099129d4a99dee682df.jpeg)
---
### **六、防火墙开放端口**
#### **1、防火墙开放端口**
![java047 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/ad2aabc860380f83bb88a77e38f0f467.jpeg)
---
#### **2、安全组开放端口**
![java048 1024x66 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/e0e4191469892f56c305f9a681bff29a.png)
---
### **七、测试发布是否成功**
这时再用本地的浏览器已经可以访问云服务器上的项目了。
![java049 1024x534 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/4645eae50c1201595d8132b6b818d3ec.jpeg)
![java050 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/9687f57a06414cf13b1754d54f02d720.jpeg)
---
### **八、常见问题**
① 连接MySQL的时候报错The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrec。
500报错:java.sql.SQLException: The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
解决方法:在语句”jdbc:mysql://localhost:3366/db\_crm “后添加”?serverTimezone=GMT%2B8″:
![java051 1024x157 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/18a948a7035e78bd533b36211b55a887.png)
---
② 关于Unknown character set index for field ‘255’ received from server
原因是MySQL版本高,mysql的jar版本低造成mysql与jar的编码错乱引起的
链接:https://pan.baidu.com/s/18rxjcc9bfuCO8NOSVh0EVQ
提取码:2c3x
把mysql-connector-java-8.0.11.jar这个jar包复制到项目文件夹下WebContent\WEB-INF\lib里。
![java052 - Windows用Tomcat发布Java项目](https://img-blog.csdnimg.cn/img_convert/6c557994bc28ef4f91322f0bc9812c85.png)
替换过后可能会出现 [在工程和使用过原来包的java文件上会出现红叉],将有红叉的java文件找到,将有红×的那一行删掉,再重新导那个包就可以了。
### 总结
为了帮助大家更好温习重点知识、更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。
内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。
包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。
![](https://img-blog.csdnimg.cn/img_convert/d74f8b42f4a63c76b18efc6a818147df.png)
![](https://img-blog.csdnimg.cn/img_convert/6deb905d9655a3f0f54b8920686e1970.png)
**前端面试题汇总**
![](https://img-blog.csdnimg.cn/img_convert/42728594459506983a38ca2b86545fc6.png)
**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**
**JavaScript**
![](https://img-blog.csdnimg.cn/img_convert/7796de226b373d068d8f5bef31e668ce.png)
**性能**
![](https://img-blog.csdnimg.cn/img_convert/d7f6750332c78eb27cc606540cdce3b4.png)
**linux**
![](https://img-blog.csdnimg.cn/img_convert/ed368cc25284edda453a4c6cb49916ef.png)