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服务。

847bc5aa05184de2a88d0f840e001af1.png

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

之后删除mysql服务

8500183df3ce4879b1798becda301044.png

删除后,x掉cmd窗口。

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

cb89fe1ccdf14079ae4f854ce44681ec.png

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

3 安装

1 jdk

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

700b54b6fafd45898a099a2cbe8704b0.png

选择路径

43f38eead5f94065971b0b53f0fa8191.png

在指定jre位置

4ed28b473faa47a8ba190cc6a87d033c.png

安装后配置系统环境变量

4779b8b08c0941538bfd651d358b52b3.png

再配置path

6d0e61872f134e2da8b4676587309a4f.png

用cmd+javac验证即可。

2 eclipse

2019-03

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

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

346M

30bd6425b30147f49b588e0d5996d3c1.png

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

08c6550b7c04441b9ff48be068245c7a.png

指定workspace,进入界面

f74b8ecb036a4c4091ff570ecddaf2c6.png

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

02045a8da6e14f67aa5c5fb699fcd486.png

 再检查jre环境是否正确

57360045253f45d4902def28f764c352.png

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

0e5b959103a84005a2ca10a42f24a6c7.png

2b48e119e32a428a94b13a766c44be5d.png

就设置完了

3612fd76864d4f1a943466ebf114321e.png

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

8f85a22a44ad4a558e9e501b1c270fd6.png

通过了,是可以的。

3 mysql

重新安装mysql

a0dda9dda73b4fb1a12e6f48605cf877.png

之后是配置

43bab776480446198dc7c7f19e9cba73.png

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

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

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

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

再重装,好了。

2514c662824b49edb5f49025ca5f9016.png

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

3 重新构建数据库

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

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

还是用navicat打开

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

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

25086d38be4f4e3bb6630e62f0550d4d.png

之后运行sql文件

73f9f6e75afc4f49a85d6efbbd680bf7.png

 

成功了

6dd5c69e8bcd44119ffa910dfe8ad5f3.png

刷新一下,可以看到表

e8bf4671389447af95e0f6d7222a8e19.png

也可以逆向到模型

af21bf20794a41db8750ce8f296e5075.png数据也都有了

7e4091abe9bf4b5eb40807b6a52fdaef.png

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

4 重新建立Eclipse工程。

接下来就开始新建工程。

460dcfbf8b374af9a6045f539f6359c0.png

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

854044dfab6f460580063fca4b01c32c.png

主要问题是: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查询的,显示如下:

303c6f6305854a3aa6f799deba1a8fa7.png

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

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

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

就是c:foreach之类的吧。

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

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SharePoint 的 Web Parts 是什么

Web Parts 可以说是微软 SharePoint 的基础组件。 根据微软自己的描述,Web Parts 是 SharePoint 对内容进行构建的基础,可以想想成一块一块的砖块。 我们需要使用这些砖块来完成一个页面的构建。 我们可以利用 Web Parts 在 SharePoint 中添加文本&am…

CVE-2023-25194 Kafka JNDI 注入分析

Apache Kafka Clients Jndi Injection 漏洞描述 Apache Kafka 是一个分布式数据流处理平台,可以实时发布、订阅、存储和处理数据流。Kafka Connect 是一种用于在 kafka 和其他系统之间可扩展、可靠的流式传输数据的工具。攻击者可以利用基于 SASL JAAS 配置和 SASL …

CSS 文字溢出省略号显示

1. 单行文本溢出显示省略号 需要满足三个条件,添加对应的代码: (1)先强制一行内显示文本; (2)超出的部分隐藏; (3)文字用省略号来替代省略的部分&#xf…

STM32-EXTI中断

EXTI简介 EXTI(Extern Interrupt)外部中断 EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程…

【Proteus仿真】【STM32单片机】多路温度控制系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用按键、LED、蜂鸣器、LCD1602、DS18B20温度传感器、HC05蓝牙模块等。 主要功能: 系统运行后,默认LCD1602显示前4路采集的…

工业镜头接口类型

现有产品主要有以下接口 1、C:最常见的工业相机接口,受限于接口物理尺寸大小,最大靶面目前是4/3” 2、M42:M421.0,2k和4k线阵相机使用 3、M58S:M580.75,大靶面相机使用,可以转C(限于CH080相机,靶面4/3”),可以转F,可以…

UML/SysML建模工具更新(2023.10)(1)StarUML、Software Ideas Modeler

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 工具最新版本:Software Ideas Modeler 14.02 更新时间:2023年10月9日 工具简介 轻量级建模工具,支持UML、BPMN、SysML。 平台:Windo…

springboot全局拦截sql异常

起因:非法用户可通过特定的输入(如输入内容超长)等操作,使后台逻辑发生错误,从而使后台sql语句暴露至前台,进而为sql攻击提供条件 处理流程:经查找com.mysql.cj.jdbc.exceptions的父类为SQLException,在全局异常处理类中增加如下配置,经测试不起作用 ExceptionHandler(SQLExce…

Go RabbitMQ简介 使用

RabbitMQ简介 RabbitMQ 是一个广泛使用的开源消息队列系统,它实现了高级消息队列协议(AMQP)标准,为分布式应用程序提供了强大的消息传递功能。RabbitMQ 是 Erlang 语言编写的,具有高度的可扩展性和可靠性,…

Redis(12)| 过期删除策略和内存淘汰策略

Redis 是可以对 key 设置过期时间的,因此需要有相应的机制将已过期的键值对删除,而做这个工作的就是过期键值删除策略。 如何设置过期时间 先说一下对 key 设置过期时间的命令。 设置 key 过期时间的命令一共有 4 个: expire key n&#x…

HTTP和HTTPS详解

一)什么是HTTP协议 1)HTTP协议是倾向于相遇业务层次上面的一种协议,传输层协议主要考虑的是端对端之间的一个传输过程,TCP重点进行关注的是可靠传输;咱们的HTTP/1,HTTP/2是基于TCP的,但是咱们的HTTP/3是基于UDP的&…

全域旅游“一机游”智慧旅游平台解决方案:PPT全文48页,附下载

关键词:智慧文旅解决方案,智慧旅游解决方案,智慧旅游平台建设方案,智慧文旅综合运营平台,智慧文旅建设方案 一、智慧文旅一机游定义 智慧文旅一机游是一种新型的旅游方式,它通过智能化的设备和系统&#…

web前端开发第一次Dreamweave课堂练习/html练习代码《社会主义核心价值观》

目标图片: 文字素材: 社会主义核心价值观 Socialist Core Values 富强、民主、文明、和谐是国家层面的价值目标。 自由、平等、公正、法治是社会层面的价值取向。 爱国、敬业、诚信、友善是公民个人层面的价值准则。 Core socialist values are the…

网页判断版本更新

一、需求解析 为什么我会想到这个技术呢,是因为我有一次发现,我司的用户在使用网页的时候,经常会出现一个页面放很久,下班也不关这个页面,这样就会导致页面的代码长时间处于不更新的状态。 在使用到一个功能出了bug&a…

文本处理大师:Linux中grep、sed和awk的绝佳教程

1 grep 搜索关键字 全局搜索正则表达式 1.1 基本格式 grep root passwd #过滤含有root关键字-e 多个过滤词 grep -e root -e bash pa grep -E "root|bin" pa # 等同于上面的命令-i 忽略大小写 -E 过滤 grep -E "\<root" passwd ##root字符之前不能有…

Rt-Thread 移植6--多线程(KF32)

6.1 就绪列表 6.1.1 线程就绪优先级组 线程优先级表的索引对应的线程的优先级。 为了快速的找到线程在线程优先级表的插入和移出的位置&#xff0c;RT-Thread专门设计了一个线程就绪优先级组。线程就绪优先组是一个32位的整型数&#xff0c;每一个位对应一个优先级&#xff…

Nussbaumer Transform 以及 Amortized FHEW bootstrapping

参考文献&#xff1a; [Nuss80] Nussbaumer H. Fast polynomial transform methods for multidimensional DFTs[C]//ICASSP’80. IEEE International Conference on Acoustics, Speech, and Signal Processing. IEEE, 1980, 5: 235-237.[SV11] Smart N P, Vercauteren F. Full…

出口美国操作要点汇总│走美国海运拼箱的注意事项│箱讯科技

01服务标准 美国的货物需要细致的服务&#xff0c;货物到港后的服务也是非常重要的。如果在货物到港15天内&#xff0c;如果没有报关行进行(PROCEED)&#xff0c;货物就会进入了G.O.仓库&#xff0c;G.O.仓库的收费标准是非常高的。 02代理资格审核 美国航线除了各家船公司&a…

基于SSM的停车场管理系统设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。你想解决的问题&#xff0c;今天给大家介绍…

低代码平台,业务开发的“银弹”

目录 一、为什么需要低代码平台 二、低代码平台的搭建能力 三、低代码其他能力 四、写在最后 随着互联网和信息技术的快速发展&#xff0c;各行各业都在积极拥抱数字化转型。在这个过程中&#xff0c;软件开发成为企业实现数字化转型的关键环节。然而&#xff0c;传统的软件开发…