目录

1、基本概念

1.1、 前言

1.2 、web应用程序

1.3、静态web

1.4、动态web

2、web服务器

2.1、技术讲解

2.1、web服务器

3、Tomcat

3.1、tomcat介绍

3.2、tomcat启动和配置

3.3、配置

3.4、发布一个web网站

4、Http

4.1、什么是HTTP

4.2、两个时代

4.3、Http请求

1.请求体

2.消息头

4.4、Http响应

1.响应体

2.响应状态码

5、Maven

5.1、Maven项目架构管理工具

5.2、配置环境变量

5.3、阿里云镜像

5.5、本地仓库

5.6、标记文件夹功能

5.7、在IDEA中配置Tomcat

5.8、pom文件

5.9、Maven默认web.xml


1、基本概念

1.1、 前言

Web开发:

  • web 意为网页,www.baidu.com

    静态web:提供给所有人看的数据始终不会发生变化

    动态web:提供给所有人看的数据始终会发生变化

    动态web技术栈:Servlet\jsp,asp,php

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

1.2 、web应用程序

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

  • a.htmi、b.html.....多干web资源,这些web资源可以被外界访问到,对外界提供服务

  • 这些统一的web资源都会被放在同一个文件夹下,web应用程序---> Tomcat:服务器

  • Javaweb由多部分组成(静态web,动态web)

    • html,css,js

    • jsp,servlet

    • jar包

    • 配置文件(Propertise)

web应用程序编写完毕后,若想提供给外界访问,需要一个服务器来统一管理

1.3、静态web

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

  • 静态web存在的缺点

    • Web页面无法动态更新,所有用户看到的都是同一个页面

      • 轮播图,点击特效:伪动态1`

      • JavaScript[实际开发中,它用的最多]

    • 无法和数据库交互(数据无法持久化,用户无法交互)

1.4、动态web

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

缺点:

  • 加入服务器的动态web资源出现错误,需要重新编写后台程序,重新发布

    • 停机维护

优点:

  • Web页面动态更新,所有用户看到的不是同一个页面

  • 它可以与数据库交互(数据持久化,用户交互)

2、web服务器

2.1、技术讲解

ASP:

  • 微软:国内最早流行的就是ASP

  • 在HTML中嵌入VB脚本,ASP+COM

  • 在ASP开发中,基本一个页面都有几千行的业务代码,页面极其混乱

  • 维护成本高

  • C#

  • IIS服务器

PHP:

  • 开发速度快,功能很强大,跨平台,代码很简单

  • 无法承载大访问量的情况

JSP/Servlet:

B/S:浏览器和服务器

C/S:客户端和服务器

  • sun公司主推的B/S架构

  • 基于Java语言

  • 可以承载三高问题带来的影响(高并发、高可用、高性能)

2.1、web服务器

服务器是一种被动操作,用来处理用户的一些请求和给用户一些响应信息

IIS:微软的web服务器,Windows中自带

3、Tomcat

3.1、tomcat介绍

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个javaweb初学者来说,它是最好的选择。

Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。Tomcat最新版本为10.0.23

3.2、tomcat启动和配置

tomcat文件夹组成

bin:启动、关闭的脚本文件

conf:配置文件

lib:依赖的jar包

logs:日志文件

wabapps:存放网站

启动tomcat:startup.bat 关闭tomcat:shutdown.bat

3.3、配置

服务器核心配置文件:conf\server.xml

配置启动的端口号

  • tomcat默认端口号:8080

  • mysql默认端口号:3306

  • http默认端口号:80

  • https默认端口号:443

<Connector executor="tomcatThreadPool"port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />

配置主机名名称

  • 默认的主机名:local host-->127.0.0.1

  • 默认网站应用存放的位置:webapps

  <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

高难度面试题:

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

  1. 输入一个域名:回车

  2. 检查本机的:C:\Windows\System32\drivers\etc\hosts配置文件下有没有这个域名映射

    1. 有:直接返回对应的IP地址,在这个地址中,有我们需要访问的web程序,可以直接访问

       ```java127.0.0.1       localhost```

2.没有:去DNS服务器找,找到的话就返回,找不到就返回未找到资源

3.4、发布一个web网站

  • 将自己写的网站放到服务器(Tomcat)中指定的web应用的文件见(webapps)下,即可访问

网站的结构

--webapps:Tomcat服务器的web目录

  • ROOT

    -majun:网站的目录名

    • WEB-INF :

      classes:Java程序

      lib : web应用所依赖的jar包

      web.xml:网站的配置文件

  • index.html:默认的首页

  • static:

    • css

    • js

    • img

4、Http

4.1、什么是HTTP

超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。

  - 文本:html,字符串...- 超文本:图片、音乐、视频、定位、地图....

4.2、两个时代

  • http1.0

    • HTTP/1.0:客户端可以与web服务器连接后,只能获得一个web资源

  • http2.0

    • HTTP/1.1:客户端可以与web服务器连接后,只能获得多个web资源

4.3、Http请求

  • 客户端---发送请求(Request)---服务器

Request URL: https://www.baidu.com/     请求地址
Request Method: GET       // 请求方法
Status Code: 200 OK       //状态码
Remote Address: 220.181.38.149:443     //远程地址
Referrer Policy: strict-origin-when-cross-origin  

Http请求包括:

1.请求体

  • 请求方式:Get,Post,Head,Delete,Put,Tract...

    • Get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效

    • Post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效

2.消息头

Accept: text/html     //告诉浏览器,它所支持的数据类型
Accept-Encoding: gzip, deflate, br    //支持哪种编码格式
Accept-Language: zh-CN,zh;q=0.9   //告诉浏览器,它的语言环境
Cache-Control: no-cache      //缓存控制
Connection: keep-alive       //告诉浏览器,请求完成是断开还是保持连接

4.4、Http响应

  • 服务器----响应----客户端

Cache-Control: private   缓存控制
Connection: keep-alive   连接
Content-Encoding: gzip   编码
Content-Type: text/html;charset=utf-8   类型

1.响应体

Accept: text/html     //告诉浏览器,它所支持的数据类型
Accept-Encoding: gzip, deflate, br    //支持哪种编码格式
Accept-Language: zh-CN,zh;q=0.9   //告诉浏览器,它的语言环境
Cache-Control: no-cache      //缓存控制
Connection: keep-alive       //告诉浏览器,请求完成是断开还是保持连接
Refrush: 想告诉客户端多久刷新一次
Location:让网页重新定位

2.响应状态码

1xx:100-101 信息提示 2xx:200-206请求响应 成功 3xx:300-307 重定向 4xx:400-415 错误类信息,客户端错误 5xx:500-505 错误类信息,服务器端错误

5、Maven

我为什么要学习这个技术?

1.在Java开发中,需要使用大量的jar包,我们手动去导入

2.如何能够让一个东西自动帮我导入和配置这个jar包

由此,Maven诞生了!

5.1、Maven项目架构管理工具

我们目前用来就是方便导入jar包

Maven 的核心思想:约定大于配置

  • 有约束,不要去违反

Maven会规定好你该如何去编写Java代码,必须要按照这个规定

5.2、配置环境变量

在系统环境变量中:

  • M2_HOME maven目录下的bin目录

  • MAVEN_HOME maven的目录

  • 在系统的path中配置 %Maven_HOME%\bin

5.3、阿里云镜像

  • 镜像:mirrors

    • 作用:加速我们的下载

  <mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>        </mirror>

5.5、本地仓库

建立一个本地仓库:localRepository

<localRepository>D:\Maven\apache-maven-3.6.0\maven-repo</localRepository>

5.6、标记文件夹功能

方法一:file-->Mark Directoty as

方法二:file-->Project Ptructure-->Modules

5.7、在IDEA中配置Tomcat

第1步:添加tomcat服务器

第2步:选择本地tomcat服务器

第3步:设置服务器基本信息

第4步:创建Artifact,并设置访问路径(默认路径为:localhost:8080)

第5步:启动服务区,访问程序主页

5.8、pom文件

pom.xml是maven的核心配置文件

 <groupId>com.Jun</groupId>     <artifactId>javaweb-01-maven</artifactId> <version>1.0-SNAPSHOT</version>     Maven版本<packaging>war</packaging>       项目打包方式配置
<properties>  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  项目默认构建编码<maven.compiler.source>1.7</maven.compiler.source>     编码版本<maven.compiler.target>1.7</maven.compiler.target></properties>
项目依赖
<dependencies>    <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies>
项目构建所用内容<build></build>

5.9、Maven默认web.xml

默认web.xml:

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app><display-name>Archetype Created Web Application</display-name>
</web-app>

JavaWeb开发技术笔记(配置篇)相关推荐

  1. javaweb开发的准备工作——配置篇

    1.配置 a. jdk配置(用于web开发编程,此处不需要配置path,只需配置环境变量即可) b. tomcat配置 打开Tomcat(打开bin目录下的startup.bat文件) 检验是否打开成 ...

  2. 【Web】JavaWeb开发技术笔记整理

    动态网站和静态网站对比: 静态网站:内容是固定的,不能实现交互操作 动态网站:内容不是固定的,能够实现交互操作 B/S与C/S结构程序的对比: B/S:Brower浏览器/Server服务器 程序完全 ...

  3. Mysql数据库优化技术之配置篇、索引篇 ( 必看 必看 转)

    转自:Mysql数据库优化技术之配置篇.索引篇 ( 必看 必看 ) (一)减少数据库访问 对于可以静态化的页面,尽可能静态化 对一个动态页面中可以静态的局部,采用静态化 部分数据可以生成XML,或者文 ...

  4. Web应用开发技术笔记

    Web应用开发技术笔记 第一章 1.1 WEB技术概述 Web的三要素 静态网页 动态网页(Applet) 动态网页 动态Web的发展 静态网页动态网页的比较 1.2 Web应用程序的工作原理 C/S ...

  5. java web国外 研究现状_国外javaWeb开发技术.doc

    国外javaWeb开发技术.doc 外java Web开发技术 MVC结构模式是XeroxPARC在20世纪80年代为编程语言Smalltalk-80 发明的一种软件设计模式. 缑艳阳认为MVC将应用 ...

  6. 三面美团Java岗,javaweb开发实例大全基础篇代码

    前言 难道程序员的职业生命线是青春饭?答案是的. 35岁考虑转行,然后35岁又成了一个新人,而外国可以做到60岁,啥也不说了,可能是觉得中年大叔油腻,不及小鲜肉便宜,唉,可叹市场更新换代太快,快到我们 ...

  7. 阿里巴巴开发手册笔记-----数据库篇

    阿里巴巴开发手册笔记 阿里开发团队发表的java开发规范,下面我在学习了之后做一个简单的总结.此篇为数据库篇. 数据库 (一)建表约定 1.表达是与否的概念的字段,必须使用is_xxx的方式来命名.数 ...

  8. JavaWeb开发技术学习笔记(十四)——集群

    集群: apache. nginx tomcat:理论上 单节点tomcat能够稳定的 处理请求并发量200-300: 负载均衡 失败迁移 服务端集群: a.水平集群 :将服务器安装在 各个不同的计算 ...

  9. Javaweb微专业笔记开山篇---开发环境的搭建

    一.windows下的安装 a.JAVA的安装以及环境变量的配置 jdk的下载与安装(我的安装路径为D:\java) http://www.oracle.com/technetwork/java/ja ...

最新文章

  1. 显著性检验python
  2. python加密库用哪个好_Python的加密库入门!
  3. weblogic在linux服务器上部署应用
  4. java io 读取多个对象_Java IO系列(五):读写对象ObjectOutputStream和ObjectInputStream详解...
  5. 模拟UIWebView
  6. 计算机aero背景黑,Win7中Aero下面的主题变为黑色
  7. python main传参args,详解用Python处理Args的3种方法
  8. C++中#和##的特殊使用
  9. 运动控制+机器视觉Demo软件框架系统概述
  10. 2021华为软挑赛题_思路分析——实时更新,做多少更多少(四)
  11. python turtle库下载_python3中安装turtle库
  12. SAP的数据科学实践
  13. 纲要-Java网络爬虫系统性学习与实战(1)
  14. Spring从入门到精通(二)—Spring核心思想之IOC
  15. java源代码审计报告_审计档案管理系统 - WEB源码|JSP源码/Java|源代码 - 源码中国...
  16. 怎样删除计算机硬盘记录,有什么方法能删除电脑里使用过的移动硬盘的记录
  17. CREE第二代SiC MOSFET驱动电路原理图及PCB板设计)
  18. 光伏MPPT电路效率对比实测
  19. 面向对象三大特性-多态
  20. c语言中fcntl.h函数库,fcntl函数的使用详解

热门文章

  1. 哔哩哔哩2021校招末班车来了!
  2. iOS-使用第三方实现短信验证码功能
  3. Node.js中的异步编程,个人理解及分化讲解
  4. 国产银河麒麟系统V10忘记密码重置操作
  5. markdown 合并单元格、表格内换行
  6. Pytest 如何组织冒烟测试及执行冒烟用例
  7. linux 服务器内存清理内存缓存 详细说明 java jvm
  8. 谷歌支付:In-app billing error: Null data in IAB activity result (-1002 )
  9. adb shell 查看和修改电池信息
  10. Go语言中间件框架 Negroni 的静态文件处理源码分析