Javaweb_Tomcat配置
1.基本概念
1.1 前言
web开发:
- web,网页的意思
- 静态web
- html,css
- 提供给所有人看的数据始终不会发生改变
- 动态web
- 淘宝,几乎所有的网站
- 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同
- 技术栈:Servlet/JSP,ASP,PHP
在Java中,动态web资源开发的技术统称为JavaWeb
1.2 web应用程序
web应用程序:可以提供浏览器访问的程序
- a.html、b.html......多个web资源,这些web资源可以被外界访问,对外界提供服务
- 能访问到的人发一个页面或者资源,都存在于这个世界的摸一个角落的计算机上
- URL
- 这个统一的web资源会被放在同一个文件夹下,web应用程序——>Tomcat:服务器
- 一个web应用由多个部分组成(静态web、动态web)
- html,css,js
- jsp,servlet
- java程序
- jar包
- 配置文件(poroperties)
web应用程序编写完毕后,若想提供给外界访问:需要一个服务器来同一管理
1.3 静态web
- *.htm, *.html,这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取
- 静态web存在的缺点
- web页面无法动态更新,所有用户看到都是同一个页面
- 轮播图,点击特效:伪动态
- javaScript[实际开发中,它用的最多]
- VBScript
- 它无法和数据库交互(数据无法持久化,用户无法交互)
- web页面无法动态更新,所有用户看到都是同一个页面
1.4 动态web
页面会动态展示:“web的页面展示的效果因人而异”;
缺点:
- 假如服务器的动态web资源穿线错误,我们需要重新编写我们的后台程序,重新发布;
- 停机维护
优点:
- web页面可以动态更新,所有用户看到都不是同一个页面
- 它可以与数据库交互(数据持久化:注册,商品信息,用户信息)
2. web服务器
2.1 技术讲解
ASP:
- 微软:国内最早流行的就是ASP;
- 在HTML中嵌入了VB的脚本,ASP + COM;
- 在ASP开发中,基本一个页面都有几千行的业务代码,页面及其换乱
- 维护成本高
- C#
- IIS
PHP:
- PHP开发速度快,功能很强大,跨平台,代码很简单(70%,wp)
- 无法承载打访问量的情况(局限性)
JSP/Servlet:
B/S:浏览和服务器
C/S:客户端和服务器
- sum公司主推的B/S架构
- 基于Java语言的(所有的大公司,或者一些开源的主键,都是用java写的)
- 可以承载三高问题带来的影响
- 语法像ASP
2.2 web服务器
服务器是一种被动的操作,用来处理用户的一些请求和给用户一些响应信息;
IIS
微软的;ASP...,Windows中自带的
Tomcat
3.Tomcat
3.1 安装Tomcat
官网下载:https://tomcat.apache.org/
3.2 Tomcat 启动、关闭
启动
在tomcat的bin目录下,双击startup.bat文件
访问:在浏览器输入 http://localhost:8080/
看到一个可爱的小猫表示成功
关闭
在tomcat的bin目录下,双击startup.sh文件
可能遇到的问题
- java环境变量没有配置
- 闪退问题:需要配置兼容性
- 乱码问题:配置文件中设置
3.3 Tomcat配置
3.3.1 若要修改页面标签
3.3.2 配置服务器核心配置
3.3.3 可以配置启动的端口号
tomcat的默认端口号为:8080
mysql的默认端口号为:3306
http的默认端口号为:80
https的默认端口号为:443
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
3.3.4 可以配置启动的名称
默认的主机名为:localhost
默认网站应用存放的位置为:webapps
<Host name="www.suwei.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
注意:
除此之外还需要进行的操作:
在C:\Windows\System32\drivers\etc下的hosts文件中配置
添加完后保存并重启Tomcat,此时就能在网页上搜索出你自己定义的网址
建议:尽量不要修改系统中的东西,知道原理即可
高难度面试题
请探探网站是如何进行访问的!
- 输入一个域名:回车
- 检查本机的C:\Windows\System32\drivers\etc\hosts 配置文件下有没有这个域名映射
- 有:直接返回对应的IP地址,这个地址中,有我们需要访问的web程序,可以直接访问
127.0.0.1 www.suwei.com
- 有:直接返回对应的IP地址,这个地址中,有我们需要访问的web程序,可以直接访问
- 没有:去DNS服务器上找,找到的话就返回,找不到就返回不到
3. 可以配置一下环境变量(可选性)
3.4 发布一个web网站
可以先模仿
- 将自己写的网站,放到服务器(Tomcat)中指定的web应用的文件夹(webapps)下,就可以访问了网站应该有的结构
1. 在apache-tomcat-8.5.73\webapps文件夹下
2. 进入这个文件夹中,删除除WEB-INF文件夹以外的其他文件
3. 进入WEB-INF文件夹中,删除web.xml文件中的多余内容(可选择)
4. 在suweistudy文件夹下新建一个HTML文件,并写入静态页面源码
5. 最后在网页运行 http://localhost:8080/suweistudy/ 即可显示创建的静态页面
总结:
--webapps:Tomcat服务器的web目录
-ROOT
-kuangstudy:网站的目录名
-WEB-INF
-classes:Java程序
-lib:web应用所依赖的jar包
-web.xml:网站配置文件
-index。HTML 默认的首页
-static
-css
-style.css
-js
-img
-.....
Javaweb_Tomcat配置的更多相关文章
- 配置android sdk 环境
1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- react-router 组件式配置与对象式配置小区别
1. react-router 对象式配置 和 组件式配置 组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...
- 总结:Mac前端开发环境的搭建(配置)
新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...
- Android Studio 多个编译环境配置 多渠道打包 APK输出配置
看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...
- Virtual Box配置CentOS7网络(图文教程)
之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...
- [linux]阿里云主机的免登陆安全SSH配置与思考
公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...
- nginx配置反向代理或跳转出现400问题处理记录
午休完上班后,同事说测试站点访问接口出现400 Bad Request Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...
- Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)
本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...
随机推荐
- Linux内核链表之共享双链表
说明 共享双链表意义在于,可以用一套函数维护不同数据类型的双链表 准备 定义双链表 #include <iostream> #include <string> using na ...
- Zabbix6 网络发现
Zabbix6 网络发现 功能 快速发现并添加主机 简单的管理 随着环境的改变而快速搭建系统 发现配置依据 IP地址段 基于服务(FTP.SSH.Web.POP3.IMAP.TCP-)的 从Zabbi ...
- 基于 Redis 分布式锁
1.主流分布式锁实现方案 基于数据库实现分布式锁 基于缓存(redis 等) 基于 Zookeeper 2.根据实现方式分类 : 类 CAS 自旋式分布式锁:询问的方式,类似 java 并发编程中的线 ...
- jsp第二周作业
1.p39 实验2 显示当前时间,并输出上午(0-12)好,下午好(13-17),晚上好(18-23) <%@ page language="java" import=&qu ...
- Restful API和传统的API的区别
一.功能区别 Restful API是当作资源的唯一标识符,而传统是实现某某功能 如:/api/getList/1 and /api/getList?page=1 二.methods多样性 Restf ...
- 数据结构篇(2) ts实现单链表
interface NodeItem { prev: NodeItem | null next: NodeItem | null data: any } class NodeItem { prev: ...
- 通俗易懂的ArcGis开发快速入门
前言 本文主要介绍ArcGis的ArcEngine开发,学习时,我们需要放下心里障碍,那就是Gis开发只是普通的软件开发,并不需要专业的GIS知识,就是非常普通的,调用相关的C++开发的COM组件. ...
- [AcWing 26] 二进制中1的个数
点击查看代码 class Solution { public: int NumberOf1(int n) { unsigned un = n; int res = 0; while (un) { re ...
- Win10系统链接蓝牙设备
1. 进入控制面板,选择 设备 2. 进入设备界面,删除已有蓝牙,如果蓝牙耳机已经链接其他设备,先断开链接 3. 点击添加蓝牙或其他设备 4. 选择蓝牙,选择你的蓝牙耳机名称
- 团队Arpha5
队名:观光队 组长博客 作业博客 组员实践情况 王耀鑫 **过去两天完成了哪些任务 ** 文字/口头描述 完成服务器连接数据库部分代码 展示GitHub当日代码/文档签入记录 接下来的计划 服务器网络 ...