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)

大家都在看

  • 10分钟搞定让你困惑的 Jenkins 环境变量

    前言 Jenkins, DevOps 技术栈的核心之一,CI/CD 离不开编写 Pipeline 脚本,上手 Jenkins ,简单查一下文档,你就应该不会被 agent,stag…

    Java 2023年6月5日
    071
  • 【JAVA】Mac下查看已安装的jdk版本及其安装目录

    1、打开终端,输入:/usr/libexec/java_home -V 注意:输入命令参数区分大小写(-v是不对的,必须是-V) 如图:3个红框内依次为:输入命令; 当前Mac已安…

    Java 2023年5月29日
    079
  • Java Integer、Short、Long数据的==、!=、>、<、>=、<=

    首先建议,Integer、Short、Long的数据 如果是判断==或者!=,请使用equals方法,而大于、小于、大于等于、小于等于不需要借助方法 关于等于、不等于 对于这三者,…

    Java 2023年6月13日
    082
  • Java 可变参数

    Java 可变参数 可变参数即:成员方法支持最少 0个或多个同类型的参数 在我们不确定形参的数量时就可以使用可变参数 可变参数的语法 class VarParameter { pu…

    Java 2023年6月5日
    076
  • 机试相关链接收集

    机试题目: 教学类: Original: https://www.cnblogs.com/ticlab/p/16741717.htmlAuthor: ticlabTitle: 机试…

    Java 2023年6月7日
    077
  • 第24章 Java 数据类型转换

    井底点灯深烛伊,共郎长行莫围棋。 What we call “failure” is not falling down, but the staying d…

    Java 2023年6月9日
    079
  • 数组

    数组 一丶数组的描述 数组的理解: 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并且通过编号的方式对这些数据进行统一管理。 数组的相关概念: 数…

    Java 2023年6月6日
    068
  • vue3基础入门

    vue3基础入门 官方网站:https://v3.vuejs.org/ 中文文档: https://staging-cn.vuejs.org/guide/introduction….

    Java 2023年6月5日
    091
  • [Java SE]反射之Class

    1 获取 指定Class 的类名 package cn.johnnyzen.bd.gatewayservice; import org.junit.Test; @Test publ…

    Java 2023年5月29日
    080
  • 高峰应对记录

    一、背景 最近这个点9月中旬了,快到双十一了,公司开始对一些较为重要的系统开始进行压测。在这个过程中,需要保证系统的稳定性,以及高吞吐量。所以记录这次的压测过程,自己遇到的各种问题…

    Java 2023年6月15日
    076
  • Java 并发编程学习总结

    什么是并发编程,简单来说就是为了充分利用cpu,多个任务同时执行,快速完成任务。 并发编程相关的概念和技术看上非常零散,相关度也很低,想要学习好并发编程,可以从下面两方面入手:一是…

    Java 2023年5月29日
    065
  • Rocket Mq 常用API 及简单运维

    RocketMQ 常用API 消息 消息消费模式 消息消费模式由消费者来决定,可以由消费者设置MessageModel来决定消息模式。 消息模式默认为集群消费模式 consumer…

    Java 2023年6月7日
    084
  • Yapi Docker 部署

    docker run \ –name mongod \ -p 27017:27017 \ -v /data/opt/mongodb/data/configdb:/data/con…

    Java 2023年6月6日
    073
  • 确定稳定的 Spring Cloud 相关环境版本

    开发部署 Spring Cloud 微服务框架,需要先确定 Spring Cloud 的相关环境版本,主要包含:Spring Cloud、Spring Cloud Netflix、…

    Java 2023年5月30日
    068
  • 使用VSCode编辑MarkDown文件(vditor 所见及所得)

    推荐使用以下两款插件: 特性 所见即所得(WYSIWYG) 自动同步变化之间的vsc编辑器和webview 复制 markdown/html 上传/粘贴/拖放图像时将自动保存到 a…

    Java 2023年5月30日
    0101
  • 2>&1到底是什么意思?

    java -jar snapshot.jar > snapshot.log 2>&1 & 写Java的朋友一定对上面的命令很熟悉,相信大部分人都知道 &…

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