您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

JavaWeb - 开发环境搭建和 Shell 编程

时间:2020-08-24 17:02:44  来源:  作者:
JavaWeb - 开发环境搭建和 Shell 编程

 

开发环境搭建

Xshell 和 Xftp 工具

下载地址:https://www.NETsarang.com/zh/

设置网络连接模式为 NAT 模式

使用 root 用户打开 /etc/sysconfig/network-scripts/ifcfg-eno16777736 文件,添加内容如下:

BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.91.128
GATEWAY=192.168.91.2
NETMASK=255.255.255.0
DNS1=114.114.114.114

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

JDK 的下载和安装

下载地址:https://www.oracle.com/JAVA/technologies/javase-downloads.html

将下载好的 JDK 安装包通过 Xftp 工具传输到 centos 系统中,使用 tar 命令解压即可。

使用 root 用户打开配置文件 /etc/profile,向文件末尾追加内容如下:

export JAVA_HOME=/usr/javajdk
export PATH=$JAVA_HOME/bin:$PATH

保存退出后让文件生效并验证是否配置成功:

source /etc/profile
javac -version

Tomcat 的下载和安装

下载地址:https://tomcat.Apache.org/download-80.cgi

将下载好的 Tomcat 安装包通过 Xftp 工具传输到 CentOS 系统中,使用 tar 命令解压即可。

# 启动和关闭方式
startup.sh
shutdown.sh
​
# 暂时开放防火墙 8080 端口(重启后失效)
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

使用 root 用户打开配置文件 /etc/profile,向文件末尾追加内容(为了方便后续搭建服务器集群,一般不做这个 tomcat 的环境变量配置):

export CATALINA_HOME=/usr/tomcat
export PATH=$CATALINA_HOME/bin:$PATH

保存退出后让文件生效并验证是否配置成功:

source /etc/profile
startup.sh

将 Web 项目打成 war 包,通过 Xftp 工具将 war 包放在 tomcat/webApp 目录并启动。

MySQL 的下载和安装

# 下载 MySQL 的 repo 源
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
​
# 安装 rpm 包
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
​
# 安装 MySQL
yum install mysql-server
​
# 查看安装结果
rpm -qa | grep mysql
​
# 启动服务
service mysqld start
​
# 查看服务状态
systemctl status mysqld
​
# 查看临时密码
grep password /var/log/mysqld.log
​
# 使用 root 用户登录并输入临时密码
mysql -u root -p
​
# 修改临时密码
alter user 'root'@'localhost' identified by 'RendaZhang@666';
​
# 暂时开放防火墙 3306 端口(重启后失效)
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

图形化界面访问数据库

使用 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;

启动图形化界面工具 SQLyog 连接访问虚拟机中 MySQL 数据库。

Shell 编程

基本概念

Shell 是一个命令行解释器,可以接收应用程序或用户命令,然后访问操作系统内核

Shell 是一个功能相当强大的编程语言,易编写、易调试、灵活性强

编写第一个程序

使用 vi 工具创建 xxx.sh 的文件。

以 #!/bin/bash 开头并编写代码后保存。

执行 Shell 程序的方式

方式一:./文件名,此方式需要执行权限。

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

变量的定义

语法格式

定义变量(等号两边不能有空格):变量=值

撤销变量:unset 变量

定义规则

变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。

不能使用 bash 里的关键字。

中间不能有空格,可以有下划线。

在 bash 中,变量默认类型都是字符串类型,无法直接进行数值运算。

变量的值如果有空格,需要使用双引号或单引号括起来。如果使用双引号可以进行变量连接,如:

#!/bin/bash
name=rendazhang
echo $name # rendazhang
show='Renda Zhang'
echo $show # Renda Zhang
show2="RendaZhang $name"
echo $show2 # RendaZhang rendazhang

常用运算符

算术运算符

# 定义两个变量
ia=5
ib=2
​
# 打印两个变量的数值
echo "ia=$ia"
echo "ib=$ib"
​
# 实现加法运算,要求 expr 的 + 两边必须有空格
echo `expr $ia + $ib`
ic=$[ $ia + $ib ]
echo $ic
id=$(($ia+$ib))
echo $id
​
echo `expr $a - $b`
echo `expr $a * $b`
echo `expr $b / $a`
echo `expr $b % $a`
​
a=$b
echo $[ $a == $b ] # 1
echo $[ $a != $b ] # 0

关系运算符

echo $[ $a -eq $b ]
echo $[ $a -ne $b ]
echo $[ $a -gt $b ]
echo $[ $a -lt $b ]
echo $[ $a -ge $b ]
echo $[ $a -le $b ]

流程控制语句

if 判断

#!/bin/bash
​
# 定义一个变量用于描述考试成绩
score=100
echo $score
​
# 使用 if 判断
if [ $score -ge 90 ]
then
  echo "考试成绩优秀"
elif [ $score -ge 60 ]; then
  echo "考试成绩合格"
else
  echo "考试不及格"
fi

case 语句

#!/bin/bash
​
# 提示用户输入 1~4 之间的整数并记录到变量中
echo ”请输入 1 ~ 4 之间的整数:“
read num
​
# 使用 case 语句进行输出打印
case $num in
  1) echo "选择了 1"
  ;;
  2) echo "选择了 2"
  ;;
  3) echo "选择了 3"
  ;;
  4) echo "选择了 4"
  ;;
  *) echo "无选择"
  ;;
esac

for 循环

#!/bin/bash
​
# 定义一个变量负责记录累加和
sum=0
​
# 使用 for 循环计算
for(( i=1;i<=100;i++ ))
do
  sum=$[$sum+$i]
done
​
# 打印变量数值
echo $sum

while 循环

#!/bin/bash
​
# 使用 while 循环实现 1 ~ 100 的累加和
sum=0
i=1
while [ $i -le 100 ]
do
  sum=$[$sum+$i]
  i=$[$i+1]
done
echo $sum

函数

#!/bin/bash
​
# 打印用户输入的两个整数的和
function sum()
{
  s=$[$1+$2]
  echo $s
}
​
read -p "input num1: " num1
read -p "input num2: " num2
​
sum $num1 $num2

想了解更多,欢迎关注我的微信公众号:Renda_Zhang



Tags:JavaWeb   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
开发环境搭建Xshell 和 Xftp 工具下载地址:https://www.netsarang.com/zh/设置网络连接模式为 NAT 模式使用 root 用户打开 /etc/sysconfig/network-scripts/ifcfg-eno1677773...【详细内容】
2020-08-24  Tags: JavaWeb  点击:(95)  评论:(0)  加入收藏
一、MVC设计模式1.MVC的概念首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控...【详细内容】
2019-07-25  Tags: JavaWeb  点击:(525)  评论:(0)  加入收藏
▌简易百科推荐
1. 前言了解响应式编程,首先我们需要了解函数式操作和Stream的操作,下面我们简单的复习一下喽。1.1 常用函数式编程函数式接口中我们先来回顾一下Java中的函数式接口。常见的...【详细内容】
2022-07-15  二哥学Java    Tags:编程   点击:(1)  评论:(0)  加入收藏
在本文中,我们将学习如何使用 Next.js、 Prisma、 Postgres 和 Fastify 构建一个 Full-stack 应用程序。在本文中,我们将学习如何使用 Next.js、 Prisma、 Postgres 和 Fastif...【详细内容】
2022-07-12  qaseven    Tags:全栈   点击:(9)  评论:(0)  加入收藏
好的软件开发网站有哪些?做软件开发哪些网站能提供帮助呢?这些很多做软件开发的小伙伴都会问到的问题。007出海全球社交流量导航网站,整合了多方出海跨境网站资源,为你介绍出海...【详细内容】
2022-07-08  Chuhai007    Tags:软件开发   点击:(10)  评论:(0)  加入收藏
我们用monkey做压力测试后,会保存一个monkey日志,那如果想快速的分析日志中有哪些异常,我们可以用批处理工具进行快速的筛查,我们一起来看看吧。先编写个小脚本,然后修改为bat后...【详细内容】
2022-07-08  溪流涌动    Tags:monkey   点击:(13)  评论:(0)  加入收藏
白盒测试落地实践分为两个大方向,一个是静态分析,一个是动态分析,当然啦,也可以叫做静态测试和动态测试。那我们如何高质量保效率的做好白盒测试呢?Parasoft已经为您准备好了成熟...【详细内容】
2022-07-08  Parasoft中国    Tags:白盒测试   点击:(11)  评论:(0)  加入收藏
Altium Designer 自带脚本功能的开发项目,可以调用官方AD API接口对原理图或者PCB进行自动操作,本文主要分享开发的流程,和一些基本的概念信息,本文介绍的脚本工具例子可以用在P...【详细内容】
2022-07-07  电子工程师伟哥    Tags:Altium Designer   点击:(21)  评论:(0)  加入收藏
一、目录介绍 前置知识点 NIO Netty 的核心组件 Channel Callback Future 和 Promise 事件和 ChannelHandler Hello World二、前置知识点1、NIO首先我们需要回顾一...【详细内容】
2022-07-06  架构师jickly    Tags:聊天系统   点击:(16)  评论:(0)  加入收藏
1.事件流事件流是对事件执行过程的描述,了解事件的执行过程有助于加深对事件的理解,提升开发实践中对事件运用的灵活度。2.捕获和冒泡捕获阶段是【从父到子】的传导过程,冒泡阶...【详细内容】
2022-07-06  金乾坤    Tags:API   点击:(13)  评论:(0)  加入收藏
刷盘策略CommitLog的asyncPutMessage方法中可以看到在写入消息之后,调用了submitFlushRequest方法执行刷盘策略:public class CommitLog { public CompletableFuture<PutMe...【详细内容】
2022-07-06  Java码农之路    Tags:RocketMQ   点击:(16)  评论:(0)  加入收藏
最近读了本好书-《深度学习推荐系统》,读完不觉全身通畅,于是就有了写这篇文章的想法,把自己的理解和总结分享给大家。 本文将按照从算法到工程的顺序,先介绍一下推荐系统整体...【详细内容】
2022-07-05  InfoQ    Tags:推荐系统   点击:(22)  评论:(0)  加入收藏
站内最新
站内热门
站内头条