Java自学第8课:电商项目(3) - 重新搭建环境

由于之前用的jdk和eclipse,以及mysql并不是视频教程所采用的,在后面运行源码和使用作者提供源码时,总是报错,怀疑:

1 数据库有问题

2 jdk和引入的jar包不匹配

3 其他什么未知的错误?

所以决定卸载jdk eclipse mysql 推到重来。

1 卸载

1 eclipse

直接删除,在把C:\Users\Name下的.eclipse和.p2删除

2 jdk

从控制面板卸载,再把系统环境变量新增的java_home和path下的java_home/bin删除掉。

3 mysql

首先用管理员打开cmd,关闭mysql服务。

这里要注意net stop mysql的mysql是安装时对服务起的默认名字,如果不是这个名字,改为相应的即可。

之后删除mysql服务

删除后,x掉cmd窗口。

在控制面板,找到mysql,卸载。完成后,查看安装mysql的路径,发现只保留了1个ini文件。

这就算成功了。查看环境变量,mysql的路径还保留着。删除即可。

3 安装

1 jdk

安装jdk-8u25-windows-x64.exe

选择路径

在指定jre位置

安装后配置系统环境变量

再配置path

用cmd+javac验证即可。

2 eclipse

2019-03

下载视频说的2019-06版本jee

2019-06 R | Eclipse Packageshttps://www.eclipse.org/downloads/packages/release/2019-06/r

346M

解压缩到指定路径,打开:

指定workspace,进入界面

选择java作为默认项目,而不是java EE

再检查jre环境是否正确

再设置tomcat作为服务器。这里我们tomcat没有更换还用9.0.13版

就设置完了

新建一个dynamic java web项目,试一试

通过了,是可以的。

3 mysql

重新安装mysql

之后是配置

最后配置的时候,总出现一个问题,代号是1045,可能性

3306端口被占用,netstat -aon检查是哪个pid占用了0.0.0.0:3306,从任务管理器一看是mysql,右键停止还停止不了。

管理员cmd 运行 net stop mysql 然后 sc delete mysql 能干掉。之后再重装,还是1045,奇了怪了。

最后发现在C盘下有个隐藏目录叫programData,里面还有个文件夹叫mysql 先删除了。

再重装,好了。

所以,重点是把programData里隐藏的内荣给删除了。

3 重新构建数据库

下面把之前的课程重新快速走一遍。

第1步先把mysql数据库建好。设计的环节就略过,直接构建数据库。

还是用navicat打开

先建立连接,因为参数没改,所以之前建立的conn1连接还能用。

之后新建数据库 注意字符集的指定

之后运行sql文件

成功了

刷新一下,可以看到表

也可以逆向到模型

数据也都有了

到这一步,数据库就搞好了。

4 重新建立Eclipse工程。

接下来就开始新建工程。

工程建好后,检查biuld path也是正确的,就在tomcat上部署,结果出来还是有问题

主要问题是:jsp网页上没有显示数据库的内容。

分析可能原因

  • 数据库没连接成功
  • JSP网页代码有误。

5 测试数据库连接的正确性

先测试第一点,那么就运行util里的main方法,发现数据库链接成功。

为了进一步验证这一点,专门建立1个工程,专门写1个链接数据库的java类

java 复制代码
package test1;

import java.sql.*;

public class Gradation { 
	static Connection con; 
	static Statement sql; 
	static ResultSet res; 

	public Connection getConnection() { 

		try {
			Class.forName("com.mysql.jdbc.Driver");
			con = DriverManager.getConnection("jdbc:mysql:"
					+ "//127.0.0.1:3306/ebuys", "root", "1234");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return con; 
	}

	public static void main(String[] args) { 
		Gradation c = new Gradation(); 
		con = c.getConnection();
		try {
			sql = con.createStatement(); 
			
			res = sql.executeQuery("select * from t_tag");
			while (res.next()) { 
				String id = res.getString("id"); // ��ȡ������"id"��ֶ�ֵֶ�ֵ
				String name = res.getString("name");
				System.out.print(id); // ����ֵ���
				System.out.print(name);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

这是专门用来连接并打开tag表做select查询的,显示如下:

说明java连接和查询都没问题。数据库也是没问题的。

jsp网页能显示,说明tomcat也是没问题的。

所以最大的问题可能就是jsp中使用了taglib,这里可能有问题。

就是c:foreach之类的吧。

这个问题就不好解决了,毕竟jsp也不怎么会。所以接下来还是让我们先学习一下jsp,再学习el和jstl,之后再判断问题出在哪里。

相关推荐
水云桐程序员7 小时前
C++可以写手机应用吗
开发语言·c++·智能手机
测试员周周7 小时前
【AI测试智能体】为什么传统测试方法对智能体失效?
开发语言·人工智能·python·功能测试·测试工具·单元测试·测试用例
RSTJ_16257 小时前
PYTHON+AI LLM DAY THREETY-NINE
开发语言·人工智能·python
想学习java初学者8 小时前
SpringBoot整合Vertx-Mqtt多租户(优化版)
java·spring boot·后端
AC赳赳老秦8 小时前
政企内网落地:OpenClaw 离线环境深度适配方案,无外网场景下本地化模型对接与全功能使用
java·大数据·运维·python·自动化·deepseek·openclaw
赏金术士8 小时前
Kotlin 从入门到进阶 之函数模块(核心基础)(二)
android·开发语言·kotlin
weixin_449173658 小时前
在 Java 中,‌线程安全的 List‌ 主要有以下几种实现方式,它们的效率取决于具体的使用场景(尤其是读写比例):
java·线程安全的list
砚底藏山河9 小时前
股票数据API接口:如何获取股票历历史分时KDJ数据
java·python·maven
MegaDataFlowers10 小时前
运行若依项目
java
加号310 小时前
【Qt】 应用程序发布:依赖库拷贝与部署指南
开发语言·qt