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
    • 它无法和数据库交互(数据无法持久化,用户无法交互)

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

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个Java初学问的人来说,它是最佳选择
Tomcat 实际上运行JSP 页面和Servlet。

3.Tomcat

3.1 安装Tomcat

官网下载:https://tomcat.apache.org/

3.2 Tomcat 启动、关闭

启动

在tomcat的bin目录下,双击startup.bat文件

访问:在浏览器输入 http://localhost:8080/

看到一个可爱的小猫表示成功

关闭

在tomcat的bin目录下,双击startup.sh文件

可能遇到的问题

  1. java环境变量没有配置
  2. 闪退问题:需要配置兼容性
  3. 乱码问题:配置文件中设置

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,此时就能在网页上搜索出你自己定义的网址

建议:尽量不要修改系统中的东西,知道原理即可

高难度面试题

请探探网站是如何进行访问的!

  1. 输入一个域名:回车
  2. 检查本机的C:\Windows\System32\drivers\etc\hosts 配置文件下有没有这个域名映射
    • 有:直接返回对应的IP地址,这个地址中,有我们需要访问的web程序,可以直接访问

         127.0.0.1 www.suwei.com
    • 没有:去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配置的更多相关文章

  1. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  2. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  3. react-router 组件式配置与对象式配置小区别

    1. react-router 对象式配置 和 组件式配置    组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...

  4. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  5. Android Studio 多个编译环境配置 多渠道打包 APK输出配置

    看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...

  6. Virtual Box配置CentOS7网络(图文教程)

    之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...

  7. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  8. nginx配置反向代理或跳转出现400问题处理记录

    午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...

  9. Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)

    本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...

随机推荐

  1. 企业应用架构研究系列二十七:Vue3.0 之环境的搭建与Vue Antd Admin探索

    开发前端需要准备一些开发工具,这些工具怎么安装就不详细描写了,度娘一些很多很多.主要把核心的开发工具列表一些,这些资源也是非常容易找到和安装的. Node 安装:https://nodejs.org/ ...

  2. mysql组提交

    当mysql开启binlog日志时,会存在一个内部XA的问题:事务在存储引擎层redo log的写入和binlog的写入一致性问题. mysql通过两阶段提交很好的解决了redo log和binlog ...

  3. React + TypeScript + Taro前端开发小结

    前言 项目到一段落,先来记录一下,本文以前端新手的角度记录React.TypeScript.Taro相关技术的开发体验以及遇到的问题和解决方法. 之前总说要学React(这篇博客:代码使我头疼之Rea ...

  4. 【GPLT】 集合相似度(c++)

    题目如下: 这题主要用来练习stl的使用,是一道比较简单的题目 AC代码如下 #include<iostream> #include<cmath> #include<ma ...

  5. 『忘了再学』Shell基础 — 12、用户自定义变量

    目录 1.变量定义 2.变量调用 3.变量的修改 4.查看变量 (1)-u选项说明: (2)-x选项说明: (3)set命令说明: 5.变量删除 1.变量定义 变量正确定义. 格式:变量名=" ...

  6. CA周记 - 带你进⼊ OpenAI 的世界

    2021年11月的 Microsoft Ignite , 微软带来了全新的 Azure OpenAI Service,通过新的 Azure 认知服务能够访问 OpenAI 强大的 GPT-3 模型 . ...

  7. [题解][YZOJ50074] 小 C 的岛屿

    仅仅是对 \(O(n^4)\) 做法的一个记录. 简要题意 有 \(N\) 座岛屿,初始时没有边.每座岛屿都有一个概率值 \(p_i\) 和一个大小为 \(s_i\) 友好列表 \(A_i\) . 小 ...

  8. Java-GUI编程之Swing组件

    目录 为组件设置边框 使用JToolBar创建工具条 JColorChooser和JFileChooser JColorChooser JFileChooser JOptionPane 基本概述 四种 ...

  9. C语言函数调用栈

    C语言函数调用栈 栈溢出(stack overflow)是最常见的二进制漏洞,在介绍栈溢出之前,我们首先需要了解函数调用栈. 函数调用栈是一块连续的用来保存函数运行状态的内存区域,调用函数(calle ...

  10. Java中的线程到底有哪些安全策略

    摘要:Java中的线程到底有哪些安全策略呢?本文就为你彻底分析下! 本文分享自华为云社区<[高并发]线程安全策略>,作者:冰 河 . 一.不可变对象 不可变对象需要满足的条件 (1)对象创 ...