Linux中搭建JavaEE运行环境:jdk+tomcat+mysql(超详细)

13 篇文章 0 订阅
12 篇文章 0 订阅

Linux版本:CentOS Linux 7
jdk版本:jdk-8u271-linux-x64.tar.gz
tomcat版本:apache-tomcat-9.0.41.tar.gz
mysql版本:mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz

安装JDK官方下载地址

1、在Oracle官网下载jdk8,Linux版
在这里插入图片描述
第一个是以rpm方式安装的安装包
第二个是免安装版,下载第二个
2、将压缩包,利用Xftp工具上传到Linux的"/opt"目录下
在这里插入图片描述
3、将压缩包解压到当前目录opt目录下

[root@localhost opt]# tar -zxvf jdk-8u271-linux-x64.tar.gz -C /opt

在这里插入图片描述
4、配置环境变量的配置文件 vim /etc/profile(所有的配置文件信息都在etc目录下)
jdk版本替换成自己下的版本号

JAVA_HOME=/opt/jdk1.8.0_271
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/lib:.(点代表当前目录下)
exprot JAVA_HOME PATH CLASSPATH

5、使用命令source profile让Linux重新加载该配置文件,使配置的信息生效
6、检测安装是否成功

[root@localhost etc]# java -version
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)

安装Tomcat官方下载地址

1、利用Xftp,将压缩包传输到Linux的/opt目录下
在这里插入图片描述
2、可以先将jdk和Tomcat的安装包放到单独的一个目录里面便于管理
在这里插入图片描述
3、解压在/opt目录后即可启动服务器
4、进入Tomcat目录中启动服务器
在这里插入图片描述
执行startup.bat./startup.sh
5、检查是否成功安装
在这里插入图片描述
进入浏览器访问:http://127.0.0.1:8080
在这里插入图片描述
6、关闭Linux的防火墙,在主机通过Linux的ip也能访问服务器(systemctl stop firewalld)
在这里插入图片描述

安装MySQL下载地址

1、查看是否已经安装了mariadb

检查linux是否安装了mariadb数据库,mariadb数据库是mysql的分支。是免费开源的。mariadb和msyql会有冲突。首先要检查安装了mariadb, 卸载掉。
检查命令:yum list installed | grep mariadb
卸载命令:yum –y remove xxxx
*如果卸载不成功,需要去掉参数-y,手动确认卸载。
在这里插入图片描述
2、下载完毕后,将压缩包传输至Linux的/opt/mydev目录(mydev是为了便于管理自己创建的目录,用于存放安装包)

在这里插入图片描述

3、解压至/opt目录

在这里插入图片描述
4、为了便于操作,将解压的mysql目录重命名一下

在这里插入图片描述
5、创建数据文件夹data

data文件夹是mysql用来存放数据库文件的,数据库的表数据都放在data目录。
默认没有data目录,可以手工创建data目录,在mysql5.7.32文件夹目录下创建一个data文件夹。
在这里插入图片描述

6、创建mysql用户,用来执行MySQL的命令mysqld ,此命令用来初始化mysql基础信息。可以使用其他用户,例如叫做 mydb.等,但不推荐。
在这里插入图片描述
7、初始化mysql

使用mysql的 mysqld 命令初始化数据库的基本信息。切换到mysql5.7.32/bin目录下执行。
命令:./mysqld --initialize --user=mysql --datadir=/opt/mysql5.7.32/data --basedir=/opt/mysql5.7.32
参数说明:
--initialize 初始化mysql,创建mysql的root, 随机生成密码。记住密码,登录msyql使用。
--user执行msyqld 命令的linux用户名
--datadir : mysql数据文件的存放位置,目录位置参照本机的设置。
--basedir : msyql安装程序的目录,目录位置参照本机的设置。
该命令执行后,会生成一个临时的mysql数据库root用户的密码.Ip.n?/j6rRx,请先拷贝出来记住,后续第一次登录mysql需要使用
在这里插入图片描述

8、启用安全功能

在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,mysql命令程序mysql_ssl_rsa_setup提供了开启数据加密功能,生成数字证书。
在mysql5.7.32/bin目录下执行命令:

./mysql_ssl_rsa_setup --datadir=/opt/mysql5.7.32/data

9、修改mysql安装目录权限

mysql安装后,需要更改mysql5.7.32整个文件夹目录权限,更改所属的用户和组为之前创建的mysql用户及其所在组。在mysql安装目录的上级(/opt)位置,执行命令chown .
例如:chown -R mysql:mysql /opt/mysql-5.7.32/(-R代表递归的更改该目录下所有的文件拥有人,拥有组)
更改权限: chmod 777 /opt/mysql5.7.32/可读,可写,可执行
在这里插入图片描述
10、启动mysql

启动MySQL服务,mysql5.7.32/bin目录下执行命令:./mysqld_safe &(其中&符号表示后台启动,前台启动会一直占用终端,需要再打开一个终端进行其他操作),输入命令后按Enter。

确认msyql是否启动,查看进程 ,使用ps -ef | grep mysql在这里插入图片描述
11、客户端登录mysql

登录进入mysql,mysql5.7.32/bin目录下执行命令:./mysql -uroot -p
-u表示使用root用户登录系统,使用生成的密码.Ip.n?/j6rRx
-p表示使用密码登录
在这里插入图片描述
12、修改root密码

初始化数据库时,生成的root用户密码是临时密码,要修改才能使用。
执行sql语句 show databases; 第一次使用将会提示修改mysql的root用户密码:
在这里插入图片描述
修改mysql的密码,命令语法:alter user ‘用户名’@‘主机域名或ip’ identified by ‘新密码’
在这里插入图片描述
13、授权远程访问

授权远程访问,在没有授权之前只能在本机访问msyql,远程授权就是让其他计算机通过网络访问mysql(这样远程客户端才能访问)。
授权命令:grant
语法:grant all privileges on *.* to root@'%' identified by '123456';
参数:
其中*.* 的第一个表示所有数据库名,第二个表示所有的数据库表;
root@’%’ 中的root表示用户名,%表示ip地址,%也可以指定具体的ip地址,比如root@localhost,root@192.168.239.128等。
执行授权命令:grant all privileges on *.* to root@'%' identified by '123456';
在这里插入图片描述
更新权限信息,执行flush刷新权限: flush privileges;
在这里插入图片描述
关闭防火墙:systemctl stop firewalld
在这里插入图片描述
检查防火墙是否关闭:systemctl status firewalld
在这里插入图片描述

使用Navicat远程连接成功:
在这里插入图片描述
14、关闭mysql服务

mysql5.7.32/bin目录下执行:./mysqladmin -uroot -p shutdown输入密码关闭
在这里插入图片描述
在这里插入图片描述
15、修改数据库编码(可选)

查看数据库编码:show variables where Variable_name like ‘%char%’;
修改mysql的字符集:在mysql客户端执行如下命令

set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
set character_set_system=utf8;
set collation_connection=utf8;
set collation_database=utf8;
set collation_server=utf8;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,作为一个AI语言模型,我无法提供完整的JavaEE项目代码,但是我可以给您提供基本的代码框架和思路,供您参考: 1. 数据库设计 根据需求,设计出相应的数据库表结构,包括学生、教师、题目、选题和毕设结果等表。 2. 后端Java代码编写 在Java代码,需要编写对数据库的操作和业务逻辑的实现。可以使用Servlet和JSP进行开发,也可以使用Spring MVC等框架进行开发。下面是一个基本的代码框架: (1)学生管理模块: ```java @WebServlet("/student") public class StudentServlet extends HttpServlet { private StudentDao studentDao; public void init() { studentDao = new StudentDao(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String action = request.getParameter("action"); if (action == null) { action = "list"; } switch (action) { case "list": listStudents(request, response); break; case "add": addStudent(request, response); break; case "edit": editStudent(request, response); break; case "delete": deleteStudent(request, response); break; default: listStudents(request, response); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } private void listStudents(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<Student> students = studentDao.getAllStudents(); request.setAttribute("students", students); request.getRequestDispatcher("student-list.jsp").forward(request, response); } private void addStudent(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 处理添加学生的逻辑 } private void editStudent(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 处理编辑学生的逻辑 } private void deleteStudent(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 处理删除学生的逻辑 } } ``` (2)教师管理模块、题目管理模块、选题模块、结果模块: 类似于学生管理模块,分别对应教师、题目、选题和结果的增删改查功能。 (3)导出模块: ```java @WebServlet("/export") public class ExportServlet extends HttpServlet { private ResultDao resultDao; public void init() { resultDao = new ResultDao(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String format = request.getParameter("format"); if (format == null || format.isEmpty()) { format = "csv"; } List<Result> results = resultDao.getAllResults(); switch (format) { case "csv": exportToCSV(response, results); break; case "txt": exportToTXT(response, results); break; case "xls": exportToXLS(response, results); break; default: exportToCSV(response, results); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } private void exportToCSV(HttpServletResponse response, List<Result> results) throws ServletException, IOException { response.setContentType("text/csv"); response.setHeader("Content-Disposition", "attachment;filename=results.csv"); PrintWriter writer = response.getWriter(); writer.println("学号,姓名,题目,成绩"); for (Result result : results) { writer.println(result.getStudentId() + "," + result.getStudentName() + "," + result.getTopicName() + "," + result.getScore()); } } private void exportToTXT(HttpServletResponse response, List<Result> results) throws ServletException, IOException { // 导出为TXT格式的代码 } private void exportToXLS(HttpServletResponse response, List<Result> results) throws ServletException, IOException { // 导出为XLS格式的代码 } } ``` 3. 前端页面设计 根据需求,设计出相应的前端页面,包括学生、教师、题目、选题和结果的列表和表单等页面。需要注意页面的美观和易用性,以提高用户体验。 4. 测试和部署 在完成代码开发后,需要进行测试和部署。可以使用JUnit等测试框架进行单元测试和集成测试,以保证系统的质量和稳定性。在部署时,需要将代码部署到Tomcat等Web服务器上,以提供服务。 总之,以上是一个基本的毕设学生分配系统的代码框架和思路,需要根据具体情况进行调整和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值