【Web】初识Web和Tomcat服务器

目录

前言

一、认识web

[1. 软件架构模式](#1. 软件架构模式)

[2. web资源](#2. web资源)

[3. URL请求路径(统一资源定位符)](#3. URL请求路径(统一资源定位符))

二、Tomcat服务器

[1. 简介](#1. 简介)

[2. tomcat服务器的目录结构](#2. tomcat服务器的目录结构)

3.使用tomcat服务器启动失败的常见原因

[3.1 端口冲突](#3.1 端口冲突)

[3.2 jdk环境变量配置出错](#3.2 jdk环境变量配置出错)

三、使用Tomcat发布Web项目

[1. 使用tomcat的webapps发布web项目](#1. 使用tomcat的webapps发布web项目)

[2. 使用IDEA创建web项目并发布](#2. 使用IDEA创建web项目并发布)

写在最后


前言

转眼就大三了,之前学习软件工程和java这两门课的时候都有接触到javaweb,但是都是浅尝辄止,只是了解了皮毛,完成了几个现成的项目,并没有深入学习javaWeb的相关知识。从今天开始,重新从零开始学习一下web的基础知识,为接下来的实习就业做好准备。

一、认识web

1. 软件架构模式

比较常见的软件架构模式有B/S和C/S架构模式,其典型代表分别为浏览器模式和客户端模式。

web就属于B/S架构。

2. web资源

分为静态资源和动态资源。

静态资源就是用html、css、js写的静态的页面

动态资源就是就有交互功能的页面,通常需要和服务器进行通信

3. URL请求路径(统一资源定位符)

本质就是通过该路径访问web资源,其具有唯一性。(可以理解就是网址)

格式:协议名称://服务器ip:端口号/项目名/资源路径

https://127.0.0.1:80/exem/proj

域名式 https://www.baidu.com

(1)这种域名的本质上也是url请求路径,不同的地方是 带域名的需要解析成 服务器IP:端口号的形式。

(2)对于解析的过程,首先访问本地域名解析文件,检索是否存在,如果不存在,则去DNS域名解析服务器上找。

(3)如果ip地址后面不加端口号,那么默认是80端口

(4)为什么要采用域名呢?因为好记呀,不然我们想要访问百度还得记住百度的ip和端口,还有其他那么多网站,根本记不住的。

二、Tomcat服务器

1. 简介

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器

2. tomcat服务器的目录结构

bin目录用于存放可执行文件,有两个可执行文件比较常用,一个是startup.bat启动服务器,另一个是shutdown.bat关闭服务器

conf目录用于存放配置文件,其中sever.xml是服务器的配置文件,配置例如端口号等信息,web.xml是tomcat服务器管理的web项目的核心配置文件,比如欢迎标签等信息。

lib目录用于存放依赖的jar包

logs目录用于存放日志

webapps用于存放发布的web资源,使用时直接新建文件夹作为项目名称,存放web资源,启动服务器之后通过资源路径即可访问。

3.使用tomcat服务器启动失败的常见原因

3.1 端口冲突

win+r输入cmd打开命令行窗口,输入netstat -nao查看冲突端口运行服务的pid,然后去任务管理器中将其关闭即可

3.2 jdk环境变量配置出错

重新检查配置一下

三、使用Tomcat发布Web项目

1. 使用tomcat的webapps发布web项目

使用时直接新建文件夹作为项目名称,存放web资源,启动服务器之后通过资源路径即可访问。

2. 使用IDEA创建web项目并发布

(1)创建项目

(2)创建完成之后目录结构为这个样子。接下来我们来我们介绍一下web项目特有的webapp目录。

webapp

WEB-INF 存放配置和资源文件

web.xml web项目核心配置文件

lib 依赖的jar包

classes java文件编译后的calss文件

index.jsp 欢迎页

web资源 web资源

(3)配置IDEA中tomcat服务器启动web选项

(4)启动web项目

能够在浏览器中访问说明启动成功了!

写在最后

今天的学习就到此结束啦,希望大家读完有所帮助,明天我们将会学习servlet技术,一起加油!!!

相关推荐
wabs6662 小时前
关于单调栈【力扣739.每日温度的思考】
java·开发语言
雪碧聊技术2 小时前
为什么要学函数式编程?
java·函数式编程
m0_564876842 小时前
没有公网IP的情况下,怎么进行远程连接两个电脑
服务器·tcp/ip·负载均衡
aaPIXa6223 小时前
C++ 用 13 条规则让模型写出安全现代 C++
java·c++·安全
兔C3 小时前
Linux 命令行入门学习资料 day_2
linux·运维·服务器
多巴胺梦想家4 小时前
事务与并发控制:当多人同时操作数据库
服务器·数据库·oracle
2601_949817724 小时前
C++指针与引用深度精讲:底层原理、差异对比与高阶实战陷阱
java·jvm·c++
va学弟4 小时前
Java 网络通信编程(10):Channel 和 Selector
java·开发语言
小张小张爱学习4 小时前
Apache Dubbo 3 + Spring Boot 3 多模块 Maven 项目,演示基于 Zookeeper 注册中心的 RPC 调用
java·dubbo
阿pin5 小时前
Java随笔-ConcurrentHashMap
java·开发语言·哈希算法