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…...
ps蒙版介绍
一、蒙版的类型 Photoshop中有多种蒙版类型,每种适用于不同的场景: 图层蒙版(Layer Mask) 作用:控制图层的可见性,黑色隐藏、白色显示、灰色半透明。特点:可随时编辑,适合精细调整。…...
Java 中 ArrayList、Vector、LinkedList 的核心区别与应用场景
Java 中 ArrayList、Vector、LinkedList 的核心区别与应用场景 引言 在 Java 集合框架体系中,ArrayList、Vector和LinkedList作为List接口的三大经典实现类,共同承载着列表数据的存储与操作功能。然而,由于底层数据结构设计、线程安全机制以…...
总结HTML中的文本标签
总结HTML中的文本标签 文章目录 总结HTML中的文本标签引言一、标题标签(h1 - h6)语法示例使用建议 二、段落标签(p)语法示例使用建议 三、文本节点标签(span)语法示例使用建议 四、粗体标签(b&a…...
【后端】RPC
不定期更新。 定义 RPC 是 Remote Procedure Call 的缩写,中文通常翻译为远程过程调用。作用 简化分布式系统开发。实现微服务架构,便于模块化、复用。提高系统性能和可伸缩性。提供高性能通信、负载均衡、容错重试机制。 在现代分布式系统、微服务架构…...

Amazing晶焱科技:电子系统产品在多次静电放电测试后的退化案例
在我们的电子设计世界里,ESD(静电放电)问题总是让人头疼。尤其是当客户面临系统失效的困境时,寻找一个能够彻底解决问题的方案就变得格外重要。这一次,我们要谈的是一个经典案例:电子系统产品在多次静电放电…...

agent 开发
什么是 agent? Agent智能体(又称AI Agent)是一种具备自主感知、决策与行动能力的智能系统,其核心在于模仿人类的认知过程来处理复杂任务。以下是其关键特性和发展现状的综合分析: 一、核心定义与特征 ### 自主决策…...

面试题小结(真实面试)
面试题 1.call与apply的区别2.vue3的响应式原理3.js的垃圾回收机制4.说说原型链5.什么是防抖和节流6.说一下作用域链7.在一个页面加载数据时(还没加载完成),切换到另一个页面,怎么暂停之前页面的数据加载。 浏览器自动中止机制 这…...
C++.OpenGL (5/64)变换(Transformation)
变换(Transformation) 变换矩阵核心概念 #mermaid-svg-OvPP9vqkY9MRAHyd {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-OvPP9vqkY9MRAHyd .error-icon{fill:#552222;}#mermaid-svg-OvPP9vqkY9MRAHyd .error-tex…...
c++算法学习5——贪心算法
一、贪心算法的原理 贪心算法(Greedy Algorithm)是一种在每一步选择中都采取当前最优决策的策略,通过局部最优解的累积逼近全局最优解。其核心思想是“着眼当前,忽略整体”,适用于满足最优子结构和贪心选…...
[论文阅读] 人工智能 | 大语言模型计划生成的新范式:基于过程挖掘的技能学习
#论文阅读# 大语言模型计划生成的新范式:基于过程挖掘的技能学习 论文信息 Skill Learning Using Process Mining for Large Language Model Plan Generation Andrei Cosmin Redis, Mohammadreza Fani Sani, Bahram Zarrin, Andrea Burattin Cite as: arXiv:2410.…...