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…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...

基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...