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

news2024/12/28 5:24:34

由于之前用的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 Packagesicon-default.png?t=N7T8https://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类

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,之后再判断问题出在哪里。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1193976.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity 一些内置宏定义

在Unity中,有一些内置的宏定义可用于不同的平台。以下是一些常见的平台内置宏定义: 1、UNITY_EDITOR:在Unity编辑器中运行。 2、UNITY_EDITOR_WIN:在Unity编辑器运行在Windows操作系统时被定义。 3、UNITY_STANDALONE&#xff1a…

QT QDockWidget

QDockWidget是Qt中的一个容器类,用于在主窗口上创建可停靠的子窗口。 设置停靠窗口的一般流程如下: (1)创建一个QDockWidget 对象的停靠窗体。 (2)设置此停靠窗体的属性,通常调用setFeatures()及setAllowedAreas()两种方法。 (3)新建一个要插入停靠窗…

MATLAB仿真通信系统的眼图

eyediagram eyediagram(complex(used_i,used_q),1100)

Apex R5在线粒子计数器 制药企业在线粒子实时监测系统解决方案

医疗保健生产设施的质量和校准面临的一个令人沮丧的问题是,在校准时发现仪器超出公差或损坏。这需要耗时且成本高昂的调查,这可能会影响到产品。由于空气中颗粒物计数器是世界各地制药、生物制药和医疗保健设施环境监测中使用的重要工具,因此…

【Spring】SpringBoot配置文件

SpringBoot配置文件 配置文件作用SpringBoot配置文件配置文件快速入手配置文件的格式properties配置文件说明基本语法读取配置文件properties缺点分析 yml配置文件说明yml基本语法yml使用进阶yml配置读取配置对象配置集合配置Mapyml优缺点 配置文件作用 计算机上有数以千计的配…

Selenium+Python自动化测试环境搭建

selenium python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。 Selenium 框架底层使用JavaS…

Css问题:推荐几个超好看渐变色!项目中可用

前端功能问题系列文章,点击上方合集↑ 序言 大家好,我是大澈! 本文约2000字,整篇阅读大约需要3分钟。 本文主要内容分三部分,第一部分是需求分析,第二部分是实现步骤,第三部分是问题详解。 …

出现“线程无法访问非本线程创建的资源”的错误

出现原因 在WinForm中,如果你尝试在一个线程上操作另一个线程创建的控件,就会出现“线程无法访问非本线程创建的资源”的错误。这是因为Windows窗体的设计原则是单线程模型,即只有创建该控件的线程才能对其进行操作。 解决方法 1.使用 Contr…

阿里云双11优惠云服务器99元一年,4年396元

阿里云99元服务器新老用户均可以买,你没看错,老用户可以买,活动页面 aliyunfuwuqi.com/go/aliyun 配置为云服务器ECS经济型e实例、2核2G、3M固定带宽、40G ESSD Entry云盘,并且续费不涨价,原价99元即可续费&#xff0c…

【MySQL进阶之路丨第十六篇】一文带你精通MySQL函数

引言 在上一篇中我们介绍了MySQL数据的导入与导出;在开发中,对MySQL函数的运用是十分重要的。这一篇我们使用命令行方式来帮助读者掌握MySQL中函数的操作。 上一篇链接:【MySQL进阶之路丨第十五篇】一文带你精通MySQL数据的导入与导出 MySQ…

SQL第五次上机实验

1.向图书表(Book)插入以下记录 USE TSGL GO INSERT INTO Book VALUES(7-5402-1800-3,文学类,边城,沈从文,燕山出版社,10,5,5)2.向借阅表插入以下两条记录 USE TSGL GO INSERT INTO Lend VALUES(201207034201,7-5402-1800-3,00366240,2013-04-22),(2012…

网络运维Day06-补充

文章目录 RAID磁盘阵列RAID0条带模式RAID1镜像模式RAID5高性价比模式RAID01RAID10 逻辑卷一块磁盘的使用流程逻辑卷的使用流程 制作逻辑卷步骤一:添加硬盘步骤二:分区规划步骤三:制作物理卷步骤四:制作卷组步骤五:制作…

【网络知识必知必会】构造HTTP请求的几种方法

文章目录 前言1. 通过 form 表单构造 HTTP 请求1.1 HTML 编程1.2 认识下 HTML1.3 form 发送 GET 请求form 的重要参数:input 的重要参数:使用 Fiddler 查看我们构造的 HTTP 请求体会 form 代码和 HTTP 请求之间的对应关系 1.4 form 发送 POST 请求使用 Fiddler 查看我们构造的 …

【PHP函数封装】分分钟帮你实现数据脱敏处理, 支持手机号码、邮箱、身份证号 中文字符串!

🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞&#x1…

Linux学习之进程三

目录 进程控制 fork函数 什么是写时拷贝 进程终止 mian函数的返回值 退出码 错误码 exit() 进程等待 1.什么是进程等待? 2.为什么要进行进程等待? 3.如何进程进程等待? wait,waitpid: waitpid 进程替换 …

【Git】Gui图形化管理、SSH协议私库集成IDEA使用

一、Gui图形化界面使用 1、根据自己需求打开管理器 2、克隆现有的库 3、图形化界面介绍 1、首先在本地仓库更新一个代码文件,进行使用: 2、进入图形管理界面刷新代码资源: 3、点击Stage changed 跟踪文件,将文件处于暂存区 4、通过…

基于JavaWeb+SpringBoot+Vue摩托车商城微信小程序系统的设计和实现

基于JavaWebSpringBootVue摩托车商城微信小程序系统的设计和实现 源码传送入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码传送入口 前言 近年来,随着移动互联网的快速发展,电子商务越来越受到…

javascript用localStorage存储用户搜索词记录,并在搜索框下展显搜索词记录

//首先是storage的一封装 //storage.js文件 function storage(){//设置storage密钥this.ms"mystorage";}//以下为函数的原型方法//获得localStorage值storage.prototype.getLocalfunction(key){//先检查设置的localStorage的密钥var mydatalocalStorage.getItem(thi…

问题描述:64位计算机的寻址能力是多少TB

问题描述:64位计算机的寻址能力是多少TB 我在看到一个32位电脑的寻址能力计算时,看到是这么计算的。 虚拟内存的大小受到计算机地址位数的限制, 那么32位电脑的寻址能力计算应该是这样 为什么网上百度到的是16TB呢,如下图所示 中…

数据库安全:Hadoop 未授权访问-命令执行漏洞.

数据库安全:Hadoop 未授权访问-命令执行漏洞. Hadoop 未授权访问主要是因为 Hadoop YARN 资源管理系统配置不当,导致可以未经授权进行访问,从而被攻击者恶意利用。攻击者无需认证即可通过 RESTAPI 部署任务来执行任意指令,最终完…