Java自学第5课:Java web开发环境概述,更换Eclipse版本
1 Java web开发环境
前面我们讲了java基本开发环境,但最终还是要转到web来的,先看下怎么搭建开发环境。

这个图就是大概讲了下开发和应用环境,其实很简单,对于一台裸机,win7 系统的,首先第1步,先安装jdk,再安装服务器软件,再安装数据库,最后安装IDE就行。
2 安装JDK
我们前几课都是用的书上资源给的链接的Eclipse版本和JDK,下面是截图:

里面有jdk1.8,eclipse neon版和中文包。
我们打算试一试java web一书时,发现这个版本没法新建web项目,所以这个版本不行,得更换其他版本。
更换IDE首先还是得看下JDK,一看,视频里也不是用的1.8,而是10.0.1,所以还是得先安装JDK
视频里给了JDK的官网下载目录,这里什么版本都有。
Java Archive | Oracle

点击10的版本,进入下载页面

点击下载,结果还要登录才行,老费劲啊。

只能注册个账号了。

登录后下载,就是这么个压缩包文件

然后开始安装,安装前,卸载之前的jdk8,再把环境变量删除掉。

还是指定这个位置,安装完后,还要继续安装jre环境,也指定到这个位置即可。
安装完后,cmd下运行java -version是可以通过的,但javac不行,这时候就需要配置环境变量。
打开系统环境变量path一看,jdk安装时会自动增加一个
C:\Program Files (x86)\Common Files\Oracle\Java\javapath;
先不管他,先新建系统变量JAVA_HOME
C:\Programs\Java\jdk-10.0.2

然后在path后面直接加上
;%JAVA_HOME%\bin
我们刚说的C:\Program Files (x86)\Common Files\Oracle\Java\javapath;不用删除。

设置好后,cmd输入javac试试

这就安装成功了。
讲到这里,视频给了个网站
常见问题检索系统
这是明日提供的开发环境下载地址,早知道这个,我就不用下载半天了,还花了积分。
3 安装Eclipse
java web一书中用的是eclipse-jee-2018-09-win32-x86_64.zip,现在是2023年了,去eclipse官网看了一圈,这个版本已经不显示下载链接了。

最早只能是2019-09版本,真是R了G了。经过一段时间的努力搜索,发现其实2018的还是挂载网上的,只是没给出明显链接而已,下面给出网站
2018-09 R | Eclipse Packages
只是这个网速真的是慢啊,回头把文件挂载资源里,让大家下载更方便。
其实已经有人挂载资源了,但字节数不对,官网是338M,他挂的是500多M,也不知道有啥问题。害我花了50积分。
![]()
由于我们已经安装了neon版本,或者说解压缩并使用了neon版本,现在需要清除一下。
直接删除eclipse文件夹后,还需要在用户文件夹下删除两个自动生成的文件夹

把上面的擦屁股操作完成后,解压缩新下载的2018-09版本,解压后不用安装就可以直接使用了。


然后会弹出对话框,选择workspace路径

所有的项目文件都将放在workspace下。指定完之后就进入欢迎页面

直接X掉欢迎页面,然后点工具栏第1个,新建,就弹出新建对话框

如果是Java项目,就新建java项目,但是要是java web,就得选dynamic web project
选完以后next,然后输入项目名称test1

然后finish,就新建好了,在项目浏览器中会显示当前项目

这就说明eclipse安装好了。
如果双击点击eclipse图标报错,说没有找到java环境,那么就是jdk没安装好。或者是jdk安装版本不对,或者是环境变量没设置好。

4 安装tomcat
java web还需要有服务器。
首先打开tomcat apache官网
https://tomcat.apache.org/

下载这个Index of /dist/tomcat/tomcat-9/v9.0.12/bin

大小是10M
下载完毕后,解压缩,免安装即可使用。当然我们这里没有验证是否安装好,后面结合项目一起做。
5 启动项目
新建项目我们前面已经做过了。
下面是项目页面,我们切换到servers下,点击蓝色超链接

弹出对话框,找到tomcat 9.0 点击next

然后指定路径,next

之后把当前工程添加到tomcat下,选择project后点击add

就变成这个样子

然后就可以点击finish了,之后在servers下就会这样显示

这时候服务器是stop的,需要重置。
先新建一个jsp文件

然后就是这样

之后启动tomcat

之后看console下,如果最后有server startup in xxx ms 就说明启动了。

之后用浏览器打开

这说明页面已经发布成功了。
常见错误:如果在eclipse点击tomcat启动栏 的小绿箭头时候提示

如果有这个提示,说明当前电脑中某个软件和tomcat的端口号冲突了,可以在tomcat文件夹下找到
tomcat-conf-sever.xml文件修改即可。

在这里修改就行,比如8080改为8181

修改端口号后,需要重新在eclipse里配置tomcat,然后在打开页面把8080换为8181即可访问。
相关文章:
Java自学第5课:Java web开发环境概述,更换Eclipse版本
1 Java web开发环境 前面我们讲了java基本开发环境,但最终还是要转到web来的,先看下怎么搭建开发环境。 这个图就是大概讲了下开发和应用环境,其实很简单,对于一台裸机,win7 系统的,首先第1步,…...
[网鼎杯 2020 青龙组]AreUSerialz
[网鼎杯 2020 青龙组]AreUSerialz <?phpinclude("flag.php");highlight_file(__FILE__);class FileHandler {protected $op;protected $filename;protected $content;function __construct() {$op "1";$filename "/tmp/tmpfile";$content…...
使用Kotlin与Unirest库抓取音频文件的技术实践
目录 摘要 一、Kotlin与Unirest库概述 二、使用Kotlin和Unirest抓取音频文件 1、添加Unirest依赖 2、发送HTTP请求获取音频文件 3、保存音频文件 三、完整代码示例 四、注意事项 结论 摘要 本文详细阐述了如何使用Kotlin编程语言与Unirest库抓取网络上的音频文件。首…...
gdb调试常用命令
基本命令 1)进入GDB #gdb test test是要调试的程序,由gcc test.c -g -o test生成。进入后提示符变为(gdb) 。 2)查看源码 (gdb) l 源码会进行行号提示。 如果需要查看在其他文件中定义的函数,在l后加上函数名即可定位到这…...
CH11_重构API
将查询函数和修改函数分离(Separate Query from Modifier) function getTotalOutstandingAndSendBill() {const result customer.invoices.reduce((total, each) > each.amount total, 0);sendBill();return result; }function totalOutstanding() …...
UPLOAD-LABS1
less1 (js验证) 我们上传PHP的发现不可以,只能是jpg,png,gif(白名单限制了) 我们可以直接去修改限制 在查看器中看到使用了onsubmit这个函数,触发了鼠标的单击事件,在表单提交后马上调用了re…...
WordPress相关文章推荐
首先 WordPress 本身并没有相关文章的推荐功能,网站之所以需要这样的功能出于两个原因,一方面是推荐相关的内容越优质,访客的留存和继续阅读将会增强,同样从优化角度来说会更加有利于搜索引擎抓取时对页面质量的提升,毕…...
【QML】Qt和QML获取操作系统类型
1. Qt获取系统类型 //方法 QSysInfo::productType()//举例: if(QSysInfo::productType() "windows") {qDebug() << "windows system"; }官方说明: [static] QString QSysInfo::productType() Returns the product name of …...
CSS 显示、定位、布局、浮动
一、CSS 显示: CSS display属性设置元素应如何显示;CSS visibility属性指定元素应可见还是隐藏。隐藏元素可以通过display属性设置为“none”,也可以通过visibility属性设置为“hidden”。两者的区别:visibility:hidden可以隐藏某…...
Java 学习笔记
文章目录 一、集合1.1 List1.1.1 ArrayList1.1.2 Vector1.1.3 LinkedList 1.2 Deque1.3 Set1.4 Map1.4.1 HashMap1.4.2 LinkedHashMap 1.5 注意事项 二、函数式接口和 Lambda 表达式三、方法引用3.1 静态方法引用3.2 实例方法引用3.2 特定类型的方法引用3.4 构造器引用 四、Str…...
项目实战:优化Servlet,把所有围绕Fruit操作的Servlet封装成一个Servlet
1、FruitServlet 这些Servlet都是围绕着Fruit进行的把所有对水果增删改查的Servlet放到一个Servlet里面,让tomcat实例化一个Servlet对象 package com.csdn.fruit.servlet; import com.csdn.fruit.dto.PageInfo; import com.csdn.fruit.dto.PageQueryParam; import c…...
Go语言函数参数
文章目录 Go语言函数参数1. **函数参数的定义**:2. **参数的数量**:3. **参数的数据类型**:4. **参数的命名**:5. **参数的传递**:6. **参数的传递方式**:7. **空白标识符**: Go语言函数参数 在…...
【遍历二叉树的非递归算法,二叉树的层次遍历】
文章目录 遍历二叉树的非递归算法二叉树的层次遍历 遍历二叉树的非递归算法 先序遍历序列建立二叉树的二叉链表 中序遍历非递归算法 二叉树中序遍历的非递归算法的关键:在中序遍历过某个结点的整个左子树后,如何找到该结点的根以及右子树。 基本思想&a…...
数模之线性规划
线性规划 优化类问题:有限的资源,最大的收益 例子: 华强去水果摊找茬,水果摊上共3个瓜,华强总共有40点体力值,每劈一个瓜能带来40点挑衅值,每挑一个瓜问“你这瓜保熟吗”能带来30点挑衅值,劈瓜消耗20点体力值,问话消耗…...
【C++】AVL树的4中旋转调整
文章目录 前提一、AVL树的结构定义二、AVL的插入(重点)1. 插入的结点在较高左子树的左侧(右单旋)2. 新节点插入较高右子树的右侧(左单旋)3.新结点插入较高右子树的左侧(先右单旋再左单旋&#x…...
【MATLAB源码-第69期】基于matlab的LDPC码,turbo码,卷积码误码率对比,码率均为1/3,BPSK调制。
操作环境: MATLAB 2022a 1、算法描述 本文章介绍了卷积码、Turbo码和LDPC码。以相同的码率仿真这三种编码,并对比其误码率性能 信源输出的数据符号(二进制)是相互独立和等概率的; 信道是加性白高斯噪声信道&#…...
Java获取时间戳、字符串和Date对象的相互转换、日期时间格式化、获取年月日
获取时间戳(自1970年1月1日经历的毫秒数值) package org.example;import java.util.Date;public class Main {public static void main(String[] args) {Date date1 new Date(1699540662210L);System.out.println(date1.getTime());Date date2 new Dat…...
用c语言实现矩阵转置
下面是在 C 语言中实现矩阵转置的示例代码: #include <stdio.h> #define ROWS 3 #define COLS 3 void transpose(int matrix[ROWS][COLS]) { int temp; for(int i0; i<ROWS; i) { for(int j0; j<i; j) { temp matrix[i][j]; matrix[i][j] matrix[j]…...
蓝桥杯官网练习题(移动距离)
题目描述 X 星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为 1,2,3, 当排满一行时,从下一行相邻的楼往反方向排号。 比如:当小区排号宽度为 6 时,开始情形如下: 1 2 3 4 5 6 12 …...
不止于“初见成效”,阿斯利康要让数据流转,以 AI 带动决策智能
“阿斯利康数字化成果在进博会上引人注目,令我感到非常高兴。”这是阿斯利康代表的感慨。 数字化建设目标是利用先进技术来提高企业运营效率,降低成本。在第六届进博会的7.2 B2-01展区,阿斯利康不仅展示了全球领先的生物医药和医疗器械成果&a…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
