=============================================================================
启动Tomcat后一闪而过?
因为Tomcat进程是要绑定主机的8080端口,一个端口只能绑定一个进程,要不就是已经打开了Tomcat,重新再打开就会闪退,要不就是其他软件绑定了端口,导致Tomct不能使用该端口,
1.任务管理器
通过任务管理器查看是否存在Tomcat这个进程
2.通过cmd命令查看8080端口是否被占用
这就是端口号被占用的情况
3.Tomcat网站
通过浏览器直接访问Tomcat欢迎页面 http://127.0.0.1:8080/
127.0.0.1是环回ip,环回ip就是代表本机,即Tomcat就是部署在本机上的
Tomcat 上可以部署静态或者动态资源
1.先创建一个文件,
2将文件放到Tomcat 里webapps中ROOT目录下
3.通过输入http://127.0.0.1:8080/(文件名及后缀)去访问
1.使用Tomcat部署静态页面
先写一个简单的HTML页面,将HTML文件放入webapps 中的ROOT目录下
通过输入路径 http://127.0.0.1:8080/(文件路径以及后缀)即通过Tomcat访问到HTML了。
但是你会产生疑惑,直接从本地打开HTML文件和Tomcat打开文件是一样的啊,有什么区别吗?这样就引出了我们使用Tomcat的目的,就是跨网络传输,我们从本地打开HTML文件只是自己能看见,部署在Tomcat最大的优势就是通过网络访问部署在Tomcat上的静态资源了,但是要保证两台主机连接同一局域网上,想要跨网连接,主机必须有公网ip,或者部署在云服务器上
2.使用Tomcat部署动态页面
依赖了Tomcat提供的一组API,称为Servlet
============================================================================
1.Maven是Java中“工程管理工具”
Maven具体的任务是让我们去创建一个“项目”,这里的项目是一个web项目、
wen项目是和其他项目是不同的,有一定的区别,
web项目的目录结构是有特定的要求
web项目中有特定的配置文件,配置文件中也有一些特定的内
2.Maven能够帮我们进行代码的“编译”“验证”“打包”“部署”等工作
3.Maven还能进行依赖管理,使用Maven就能自动引入第三方库
IDEA中内置Maven
============================================================================
1.cmd命令行通过Maven命令来使用,但是如果是内置的Maven就不能这样使用
2.在idea内使用
(1)在idea中新建一个项目 选择Maven选项(在idea中使用Maven)
(2)之后选择存放路径和文件名点next
创建好项目之后,Maven自动生成了这样的目录结构
src 源代码 main 里面放业务代码 test 里面放测试代码 resources存放源代码执行依赖的资源。蓝色图标是我们源代码的目录,绿色图标是我们测试代码的目录
我们需要补充目录结构来使用
1.main目录下添加webapp目录
2.webapp目录下添加 WEB-INF目录
3.在WEB-INF目录下添加web.xml文件
最终效果
这里结构创建正确Tomcat才能正确使用
1.先找到Maven的窗口,右侧横条出找到Maven 点击
2.找到lifecycle生命周期,描述的是一个Maven项目的生命周期,从创建到最终发布的每一个过程
3.这里我们使用package进行打包,
出现这样的情况就是这次打包就成功了
最终在左侧目录多了一个target目录
最终显示了这个压缩包就是打包过程生成了
1.在中央仓库中找到我们需要的第三方库包找到Maven选项,
2.找到.xml标签文件进行拷贝到pom.xml中,
3.把拷贝的内容存放在dependencies标签中
如果显示红色的字段,就说明还没有下载好,等待一会就好了,
Maven会自动帮我们下载依赖
Maven默认有一个专门的目录来保存.jar包,一般是存在于这样的目录下的
我们一般把Maven在本地目录下存放.jar包的地方称位本地仓库
即Maven给我们提供的功能就是
1.创建项目
2.打包构建
3.下载依赖
==============================================================================
Servlet是Tomcat给我们程序猿提供一组编程接口(API)。
Servlet是实现一种动态页面的机制,根据用户请求的参数不同,返回的结果就不同,每次响应都是根据请求实时计算出来的
Maven就是帮助我们使用Servlet,我们使用Servlet时,就是用Maven创建出一个web项目,也需要使用Maven帮我们下载Servlet依赖的.jar包,还需要借助Maven把代码打包。
1.创建项目,先使用idea创建Maven项目
2.修改目录结构,创建好了之后需要创建一些补充的结构,修改为以下结构
3.引入Servlet依赖~ ,将依赖放入pom.xml中的dependencies 标签中
这个标签标识当前这个.jar包只是在开发阶段参与的,在后序的部署阶段不参与使用。
部署把写好的代码放到服务器或者其他的电脑上去使用。
4.编写代码,可以编写代码了 在java目录下创建一个类 并让这个类继承于 ,如果没有报错就说明你.jar导入正确,注意:在Servlet中不需要写main方法
5.加上注解,在当前类前加上一个webServlet注解,参数是一个字符串 参数的含义是 当前类在URL路径为(/字符串名)的时候被调用 即 如果Tomcat收到的请求中带有/字符串名这样的路径,就会触发这个类里面的方法,具体为哪个方法,就是看收到的请求是GET还是POST请求,
6.打包运行,使用Maven的中的打包选项 ,注意Maven 打包的是.jar包,而Tomcat识别的是.war包 我们只需要加上一个标签即可修改,在pos.xml中加上packaging标签 如图
还能修改当前打包的名字 ,使用下图的标签
7.部署就是把war包拷贝到Tomcat的webapps目录中就可以了
8.验证 ,在浏览器中进行验证 输入 http://127.0.0.1:8080/helloServlet-1.0-SNAPSHOT/hello
将war包导入webapps中自动进行解压缩,填写url是要将路径写对
最终实现了一个最简单的Servlet代码
书写一个简单的代码的流程:
1.创建一个类,并继承于HttpServlet
2.重写父类的doGet方法
3.在doGet方法里面在执行一些我们想要的代码
解释当前Servlet中一些类功能: HttpServlet表示当前webapp的一个功能模块 主要是重写这个类的方法
HttpServletRequest 表示这一次HTTP请求的内容
HttpServletResponse 表示这一次HTTP响应的内容
在Servlet中,是如何调用到具体的代码
Tomcat收到HTTP请求,分析HTTP请求的关键信息:
1.URL中的path,path 是否为webapps目录下某个路径,
2.URL的第二级path是否为webapp下的某个类里面的注解所对应的路径,确定了该webapp下的某个Servlet类
3.再根据当前是GET请求还是POST请求,确定调用Servlet类里面的doGet还是doPost
前面介绍的流程没有构造HTTP响应浏览器还是空白页,我们要把HTML页面代码返回给浏览器
基础格式
pos.xml 中存放
Archetype Created Web Application
引入自己想要的依赖 在Maven Repository中
修改格式
war
修改名称
addServlet
修改为java1.8的格式
UTF-8
<maven.compiler.source>1.8</maven.compiler.source>
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://i-blog.csdnimg.cn/blog_migrate/13ddde564ef0cd29e46b1a4f59952ace.jpeg)
最后
现在正是金三银四的春招高潮,前阵子小编一直在搭建自己的网站,并整理了全套的**【一线互联网大厂Java核心面试题库+解析】:包括Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
e5c14a7895254671a72faed303032d36.jpg" alt=“img” style=“zoom: 33%;” />
最后
现在正是金三银四的春招高潮,前阵子小编一直在搭建自己的网站,并整理了全套的**【一线互联网大厂Java核心面试题库+解析】:包括Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**
[外链图片转存中…(img-bcifCC7B-1713540610456)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!