开发环境搭建(掌握)


1 Xshell Xftp 工具


 


1 )下载和安装方式


  • 下载地址:https://www.netsarang.com/zh/
  • 安装方式:直接一路点击下一步即可,安装过程选择免费版。

2 )使用方式




java linux网络编程 java开发 linux_配置文件


3 )网络模式设置


  • 设置网络连接模式为NAT模式,如下图:

java linux网络编程 java开发 linux_mysql_02


4 )修改配置文件


  • 使用root用户打开/etc/sysconfig/network-scripts/ifcfg-eno16777736文件,添加内容如下:
BOOTPROTO=static 
ONBOOT=yes 
IPADDR=192.168.72.128 
GATEWAY=192.168.72.2 
NETMASK=255.255.255.0 
DNS1=114.114.114.114


5 )配置文件生效


使用命令使得配置文件生效:
service network restart


2 JDK 的下载和安装


1 )下载和安装方式


  • 下载地址:https://www.oracle.com/java/technologies/javase-downloads.html
  • 安装方式:将下载好的jdk安装包通过Xftp工具传输到CentOS系统中,使用tar命令解压即可。

2)配置环境变量

  • 使用root用户打开配置文件/etc/profile,向文件末尾追加内容如下:
export JAVA_HOME=/usr/javajdk 
export PATH=$JAVA_HOME/bin:$PATH
  • 保存退出后让文件生效并验证是否配置成功
source /etc/profile 
javac -version


3 Tomcat 的下载和安装


 


1 )下载和安装方式


  • 下载地址:https://tomcat.apache.org/download-80.cgi
  • 安装方式:将下载好的Tomcat安装包通过Xftp工具传输到CentOS系统中,使用tar命令解压即可。

2 )启动和关闭方式


startup.sh 
shutdown.sh


3 )开放防火墙端口


/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 开启8080端口(暂时开通)


4 )配置环境变量


  • 使用root用户打开配置文件/etc/profile,向文件末尾追加内容。
export CATALINA_HOME=/usr/tomcat 
export PATH=$CATALINA_HOME/bin:$PATH
  • 保存退出后让文件生效并验证是否配置成功
source /etc/profile 
startup.sh


5 )发布 Web 项目


  • 将Web项目打成war包,通过Xftp工具将war包放在tomcat/webapp目录并启动
  • 这里我碰到了一个问题,也就是可以访问到tomcat主页 但是访问不到项目,检查了好久,是jdk版本不一致。记录下来  以此为戒

4 Mysql 的下载和安装


 


1 )下载 Mysql repo


wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm


2 )安装 rpm


rpm -ivh mysql57-community-release-el7-8.noarch.rpm


3 )安装 Mysql


yum install mysql-server

查看是否安装mysql
rpm -qa | grep mysql


4 )启动服务


service mysqld start


5 )查看服务状态


systemctl status mysqld


6 )使用 root 用户登录


mysql -u root

查看mysql密码
grep password /var/log/mysqld.log



java linux网络编程 java开发 linux_配置文件_03


7 )修改临时密码


alter user 'root'@'localhost' identified by 'CCaa@123456';


5 图形化界面访问数据库


 


1 )使用 SQLyog 工具


  • 启动图形化界面工具SQLyog连接虚拟机中Mysql数据库,如下图:

java linux网络编程 java开发 linux_mysql_04


2 )解决方案


  • 使用root权限登录数据库后选择mysql库
mysql -u root -p 
use mysql;
  • 查看mysql库中的user表的host值后修改为通配符%
select host from user where user='root'; 
update user set host='%' where user='root'; 
flush privileges;
  • 查看修改结果并重新测试
select user,host from user;



java linux网络编程 java开发 linux_mysql_05


 


碰到问题:出现2003 Can't connect to mysql server on ip(0)错误


原因是:防火墙端口没开  使用命令开启防火墙端口即可连接


/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

Shell 编程(熟悉)


1 基本概念


  • Shell是一个命令行解释器,可以接收应用程序或用户命令,然后访问操作系统内核。
  • Shell是一个功能相当强大的编程语言,易编写、易调试、灵活性强;

2 编写第一个程序


  • 使用vi工具创建xxx.sh的文件。
  • 以#!/bin/bash开头并编写代码后保存。

3 执行 Shell 程序的方式


  • 方式一:./文件名,此方式需要执行权限。
  • 方式二:/bin/bash 文件名,此方式不需要执行权限。
  • 方式三:sh 文件名

4 变量的定义


 


1 )语法格式


  • 定义变量:变量=值
  • 撤销变量:unset 变量
#!/bin/bash
name=zhangfei #定义一个名字为name的变量,=两边不能有空格
echo $name    #打印变量name的数值
#unset name    #撤销name的定义
#echo $name    #打印为空
#show='My Self!' # 若变量值中有空格 则使用单引号或双引号。但双引号中可以取出变量的数值
show="My Self!$name"
echo $show


2 )定义规则


  • 变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。
  • 不能使用bash里的关键字。
  • 中间不能有空格,可以有下划线。
  • 在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。
  • 变量的值如果有空格,需要使用双引号或单引号括起来。

5 常用运算符


 


1 )算术运算符


运算符

说明

举例

+

加法

expr $a + $b 结果为 30。

-

减法

expr $a - $b 结果为 10。

*

乘法

expr $a \* $b 结果为 200。因*号会按特殊字符处理所以前面要加 \*进行乘法操作

/

除法

expr $a / $b 结果为 2。

%

取余

expr $a % $b 结果为 0。

=

赋值

a = $b 将变量b 赋值给a

== 

相等,用于比较两个数字,相同则返回true

[$a == $b] 返回false

!=

不相等,用于比较两个数字,不相同则返回true

[$a != $b] 返回true


以加法代码示例:三种方法


#!/bin/bash
#定义两个变量
ia=5
ib=2

#打印两个变量的数值
echo "ia=$ia"
echo "ib=$ib"

#实现加法运算 要求+两边必须用空格
echo `expr $ia + $ib`
#使用其它方式实现加法运算
ic=$[$ia+$ib]
echo $ic;
id=$((ia+ib))
echo $id

2)关系运算符


运算符

说明

英文

举例

-eq

检测两个数是否相等,相等返回true

equal

[$a -eq $b] 返回false

-ne

检测两个数是否不相等,不相等返回true

not equal

[$a -ne $b] 返回true

-gt

检测左边的数是否大于右边的,如果是,则返回true

greater than

[$a -gt $b] 返回false

-lt

检测左边的数是否小于右边的,如果是,则返回true

less than

[$a -lt $b] 返回true

-ge

检测左边的数是否大于等于右边的,如果是,则返回true

Greater than or equal to

[$a -ge $b] 返回false

-le

检测左边的数是否小于等于右边的,如果是,则返回true

Less than or equal to

[$a -le $b] 返回true


6 流程控制语句


 


1 if 判断(条件成立执行then代码 否则执行else下代码)


if [ 条件判断式 ] 
    then
        程序 
fi

示例代码:

#!/bin/bash

#定义一个变量用于描述考试成绩
score=60
echo $score

#使用if判断给出及格或者不及格的提示信息
if [ $score -gt 60 ]
then
    echo "恭喜您考试通过了!"
elif [ $score -eq 60 ]
then
    echo "60分万岁,多一分浪费!"
else
    echo "下学期来补考吧"
fi

2case语句

case $变量名 in 
    "值1")
         如果变量的值等于值1,则执行程序1 
        ;; 
    "值2") 
        如果变量的值等于值2,则执行程序2 
        ;; 
    …省略其他分支… 
    *)
        如果变量的值都不是以上的值,则执行此程序 
        ;; 
esac

示例代码:

#!/bin/bash

#提示用户输入1 ~ 4之间的整数并记录到变量中
echo "请输入1 ~ 4之间的整数:"
read num #表示读取一个整数放到变量num中
#使用case语句进行批评和打印
case $num in
    1) echo "你选择了1号业务"
    ;;
    2) echo "你选择了2号业务"
    ;;
    3) echo "你选择了3号业务"
    ;;
    4) echo "你选择了4号业务"
    ;;
    *) echo "你没有选择1~4之间的业务"
    ;;
esac

效果:

java linux网络编程 java开发 linux_bash_06

3for循环

for (( 初始值;循环控制条件;变量变化 )) 
do
    程序 
done

示例代码:

#!/bin/bash

#定义一个变量负责记录累加和
sum=0

#使用for循环计算1~100之间的累加和并记录到上述变量中
for(( i=1;i<=100;i++ ))
do
    sum=$[$sum+$i]
done
#打印变量的数值
echo $sum

4while循环

while [ 条件判断式 ] 
do
    程序 
done

示例代码:

#!/bin/bash

#使用while循环实现1~100之间的累加和
#定义两个变量分别记录累加和与初始值
sum=0
i=1
#使用while循环
while [ $i -le 100 ]
do
    sum=$[$sum+$i]
    i=$[$i+1]
done

#打印结果
echo $sum

7 函数

[ function ] funname[()] 
{ 
    Action; 
    [return int;] 
}
funname

代码示例

#!/bin/bash

#定义一个函数负责计算两个输入数据的和并打印
function sum()
{
    s=$[$1+$2]
    echo $s
}
#提示用户输入两个数据
read -p "input num1:" num1
read -p "input num2:" num2
#调用函数
sum $num1 $num2

效果:

java linux网络编程 java开发 linux_配置文件_07