JavaWeb详解

一、基本概念

1.前言

web开发:

  • web,网页的意思
  • 静态web
  • html,css
  • 提供给所有人看的数据始终不会发生变化
  • 动态web
  • 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同
  • 技术栈:Servlet/JSP,ASP,PHP

Java中,动态web资源开发技术统称为JavaWeb

2.Web应用程序

web应用程序:可以提供浏览器访问的程序

  • a.html、b.html…..多个web资源,这些web资源可以被外界访问,对外界提供服务
  • 我们能访问到的任何一个页面或者资源,都存在这个世界上的某一个角落的计算机上
  • URL
  • 这个统一的web资源会被放在同一个文件夹下,web应用程序–>Tomcat:服务器
  • 一个web应用由多部分组成
  • HTML,CSS,JS
  • jsp,servlet
  • java程序
  • jar包
  • 配置文件(properties)
    web应用程序编写完毕后,若想提供给外界访问:需要一个服务器来统一管理

3.静态web

  • htm, * .html是网页的的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取

JavaWeb详解
  • 静态web存在的缺点
  • web页面无法动态更新,所有用户看到都是同一个界面
    • 轮播图,点击特效:伪动态
    • JavaScript(实际开发中,他用的最多)
    • VBScript
  • 它无法和数据库交互(数据无法持久化,用户无法交互)

4.动态Web

页面会动态展示:Web的页面展示的效果因人而异;

JavaWeb详解
缺点:
  • 假如服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布
  • 停机围护

JavaWeb详解

二、Web服务器

1.技术讲解

ASP:

  • 微软:国内最早流行的就是ASP;
  • 在HTML中嵌入了VB的脚本,ASP+COM;
  • 在ASP开发中,一个页面中需要嵌入Java代码

php

  • php开发速度很快,功能很强大,跨平台,代码很简单()
  • 无法承载大访问量的情况(局限性)
    JSP/Servlet
    B/S:浏览器和服务器
    C/S:客户端和服务器
  • sun公司主推的B/S架构
  • 基于Java语言的(所有大公司,或者一些开源的组件,都使用Java写的)
  • 可以承载三高(高并发,高可用,高性能)问题带来的影响

*语法像ASP

2.web服务器

服务器是一种被动的操作,用来处理用户的一些请求和给用户一些响应信息 IIS:微软的服务器,用来运行ASP本土的一些东西,Windows中自带的

三、Tomcat

1.启动Tomcat

进入bin目录下

cd /Users/twq/Downloads/apache-tomcat-8.5.71/bin/

运行
对于Windows用户仅需双击startup.bat即可

./startup.sh

然后再浏览器上输入localhost:8080出现如下界面表示启动成功

JavaWeb详解

2.配置

JavaWeb详解

这里可以将端口号进行修改


这里可以修改主机的名称,在修改前必须得在hosts文件中加入如下配置
Windows:hosts文件的位置:c:\Windows\System32\drivers\etc目录下
Mac:hosts文件的位置:/etc/hosts


JavaWeb详解
高难度面试题
请你谈谈网站是如何进行访问的?
  • 首先输入一个域名,然后回车
  • 检查本机的hosts配置文件下有没有这个域名映射;
  • 有:直接返回对应的IP地址,这个地址中,有我们需要访问的web程序,可以直接访问
127.0.0.1   www.Twq.com
  • 没有:去DNS服务器找,找到的话就返回,找不到就返回找不到;

JavaWeb详解

3.发布一个web网站

  • 将自己写的网站,放到服务器(Tomcat)中指定的web应用文件夹(webapp)下,就可以访问了
    网站应有的结构
-- webapps:Tomcat服务器的web目录
      -ROOT
      -Twqstudy:网站的目录名
            -WEB-INF
                -classes:Java程序
                -lib :web应用所依赖的jar包
                -web.xml:网站配置文件
            -index.html  默认的首页

JavaWeb详解

这个网站里有JSP,Servlets例子源码及使用方法的
http://localhost:8080/examples/

Original: https://www.cnblogs.com/twq46/p/16503480.html
Author: 剑断青丝ii
Title: JavaWeb详解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/609460/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java程序初始化的顺序是怎样的?

    在Java语言中,当实例化一个对象时,首先需要对对象中的所有成员变量进行初始化,这些成员变量可能包括静态变量和非静态变量,只有当类中所有的成员变量都初始化完后,才会调用类的构造函数…

    Java 2023年6月8日
    076
  • springbbot 启动流程

    3.9 refreshContext(context); 刷新context 开始执行spring的那一套refresh 但是它稍微重写了context的一些方法 3.9.1 重写…

    Java 2023年6月5日
    077
  • 自动备份一个TXT文件里面的SVN库

    之前的项目都是使用SVN进行代码管理,万一SVN挂了,,,项目全部爆炸,,,所以定时备份还是有必要的,,,虽然现在都不用SVN了,,,记录一下自己的备份方法 Original: h…

    Java 2023年6月15日
    052
  • Mysql的基础知识

    基础知识 多版本并发控制MVCC MVCC是怎么提高并发能力 MVCC的实现 快照读和当前读 快照读 当前读 Update的执行过程 聚簇索引和辅助索引 事务隔离级别 基础知识 多…

    Java 2023年6月9日
    0263
  • 回溯法:数组总和III

    题目 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:只使用数字1到9每个数字 最多使用一次返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任…

    Java 2023年6月8日
    085
  • 谈谈我对Reactive Programming的理解

    Microsoft于2012年的时候在.NET生态中实现了反应式扩展库,简称ReactiveX或Rx。跟着RxJava又开发了JVM上的实现。之后Pivotal、Netflix、L…

    Java 2023年6月5日
    074
  • Day3

    package base;public class Demo02 { public static void main(String[] args){ String a="…

    Java 2023年6月5日
    066
  • Spring(三)——AOP

    (1)面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。(2)通俗描述:不通过…

    Java 2023年6月16日
    057
  • 什么是计算机?

    计算机 组成:硬件+软件能按程序运行,自动、告诉处理海量数据的现代化智能电子设备。应用:科学计算、数据处理、自动控制、计算机辅助设计、人工智能、网络(互联网、自己的计算机就是网络的…

    Java 2023年6月6日
    051
  • Java浮点数float,bigdecimal和double精确计算的精度误差问题总结

    1、float整数计算误差 案例:会员积分字段采用float类型,导致计算会员积分时,7位整数的数据计算结果出现误差。 原因:超出float精度范围,无法精确计算。 float和d…

    Java 2023年5月29日
    076
  • 朱晔的互联网架构实践心得S2E5:浅谈四种API设计风格(RPC、REST、GraphQL、服务端驱动)

    Web API设计其实是一个挺重要的设计话题,许多公司都会有公司层面的Web API设计规范,几乎所有的项目在详细设计阶段都会进行API设计,项目开发后都会有一份API文档供测试和…

    Java 2023年5月30日
    072
  • 分布式电商营销系统的实践之路:抽象规则

    前言 去年供职于一家电商公司,被分配到做商城营销体系的开发设计。本文章记录了我这个小菜鸟在营销设计中遇到的坑坑洼洼,以及在重构中的思路。 线性思维,线性设计 首先我们列一列营销组件…

    Java 2023年6月5日
    085
  • 不止面试02-JVM内存模型面试题详解

    第一部分:面试题 本篇文章我们将尝试回答以下问题: 描述一下jvm的内存结构 描述一下jvm的内存模型 谈一下你对常量池的理解 什么情况下会发生栈内存溢出?和内存溢出有什么不同? …

    Java 2023年6月15日
    090
  • 【UML分析、建模与设计】我在工作时遇到UML

    一、前言 UML分析、建模与设计 来自现实世界中的概念的抽象描述方法(摘取自《UML面向对象分析、建模与设计(第2版)》) 就我对UML分析与建模技术的认知,最早可追溯至2019年…

    Java 2023年6月13日
    063
  • mongodb 数据块的迁移流程介绍

    基本概念 1.1 Chunk(数据块) 表示特定服务器上面, 连续范围的分片键值所包含的一组数据,是一个逻辑概念。 例如,某数据块记录如下: { "_id" :…

    Java 2023年6月6日
    080
  • rocketmq延时消息

    rocketmq提供一种延时消息的解决方案,就是在特定的时间到了,消息才会被投递出去供 consumer消费。 总体来是简单的场景是满足了,但是需要注意的是延时的时间是需要按照默认…

    Java 2023年6月16日
    086
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球