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/620398/

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

(0)

大家都在看

  • Java开源博客系统AngelBlog发布

    一、Java开源博客系统(AngelBlog)系统简介 Angel工作室AngelBlog系统是基于Java Spring boot +前端bootstrap+jquery+lay…

    数据库 2023年6月14日
    060
  • Java学习-第一部分-第三阶段-第四节:JDBC和数据库连接池

    JDBC和数据库连接池 笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html) 下载会使用到的包 JDBC概述 基本介绍…

    数据库 2023年6月11日
    098
  • 凤凰架构: 构建可靠的大型分布式系统

    推荐一本好书: 《凤凰架构: 构建可靠的大型分布式系统》–作者:周志明 这是一本开源书,同时也已经出版。有着纸质书、电子书、开源网站文档和Github文档。文末已附上链…

    数据库 2023年6月6日
    093
  • DB审核查询平台Archery–安装部署可能遇到的问题

    Archery是archer的分支项目,定位于SQL审核查询平台,旨在提升DBA的工作效率,支持多数据库的SQL上线和查询,同时支持丰富的MySQL运维功能,所有功能都兼容手机端操…

    数据库 2023年5月24日
    056
  • 我是个怎样的人

    我是一个怎样的人 我是一个怎样的人, 我是一个虚伪的人. 我麻木的观察着这个世界, 对好坏, 真假, 我都去同样看待, 不去区分. 我是一个怎样的人, 我是一个善良的人. 我温柔的…

    数据库 2023年6月9日
    072
  • 简单!代码原来是这样被CPU跑起来的

    CPU对我们来说既熟悉又陌生,熟悉的是我们知道代码是被CPU执行的,当我们的线上服务出现问题时可能首先会查看CPU负载情况。陌生的是我们并不知道CPU是如何执行代码的,它对我们的代…

    数据库 2023年6月6日
    071
  • vue部署在nginx后刷新404,nginx.conf一行代码解决掉

    直接 vim conf/nginx.conf文件 server {listen 8081;server_name localhost; charset koi8-r; access…

    数据库 2023年6月14日
    094
  • IDEA插件和个性化配置推荐

    插件推荐 我自己现在使用的一些插件和一些自己感觉比较舒服配置分析给大家 idea如何安装插件: 如果打开设置没有看到,直接搜索plugins 然后在这里搜索即可 CodeGlanc…

    数据库 2023年6月16日
    081
  • eclipse调用MySQL数据库的方法

    今天来总结一下使用如何使用eclipse调用MySQL数据库的数据。 一、设置eclipse 我们首先来设置一下eclipse。 在下部的Servers中右键选择new,选择ser…

    数据库 2023年6月11日
    0122
  • 名言小抄(六)

    1.一个人对世界最大的贡献就是让自己快乐起来。 4.人生最好的三个词 久别重逢、失而复得、虚惊一场却没有,和好如初 ,只因和好容易,如初太难。很多东西,一旦打破,就很难圆满。有些故…

    数据库 2023年6月16日
    066
  • 设计模式之享元模式

    一、享元模式模式:享元模式是实现对象重用的一种方式,适用于为了尽可能的减少对象的重复创建而增大资源开销的情况,与单例模式有类似的作用。 二、实现思路 :对象被第一次创建后,如果后续…

    数据库 2023年6月14日
    077
  • Are You OK?主键、聚集索引、辅助索引

    每张表都一定存在主键吗? 关于这个问题,各位小伙伴们不妨先自己想一想,再往下寻找答案。 首先公布结论: 对于 InnoDB 存储引擎来说,每张表都一定有个主键(Primary Ke…

    数据库 2023年6月6日
    071
  • 非华为电脑开启多屏协同

    非华为电脑开启多屏协同 配置 windows 10系统(五代i7的辣鸡配置) WIFI、蓝牙(网上说需要5GHz,但本人的电脑是2.4G的也是有效) 华为、荣耀手机(EMUI 10…

    数据库 2023年6月11日
    0105
  • Mysql的知识梳理

    数据准备: –建表 create table customer_jia(CID int(4), Cname varchar(20), Csex varchar(2), …

    数据库 2023年5月24日
    0105
  • Java并发编程-线程池

    重点内容 线程池的使⽤ 创建线程池 提交任务 关闭线程池 线程池的原理 合理配置线程池 线程池的监控 1.线程池的创建 new ThreadPoolExecutor(corePoo…

    数据库 2023年6月6日
    084
  • Centos8 python pip报错: pip is configured with locations that require TLS/SSL 解决

    在使用pip进行软件包安装的时候出现问题: WARNING: pip is configured with locations that require TLS/SSL, howe…

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