一、什么是web开发

1.web通信,指的是两台计算机通过网络进行资源文件共享活动2.web开发确保本次通信顺利执行

二、web通信过程中两台计算机之间的角色

1.客户端计算机:用于发送请求2.服务端计算机:提供共享资源文件

 三、资源文件:1.理论上来说,计算机上所有的文件都是资源共享文件2.分类:1)静态资源文件:【定义】:文件内容是固定的,不能随着请求变化而发生变化【例子】:图片 html doc xls【特点】:服务端计算机直接将【静态资源文件】推送给【客户端计算机】所有被共享的【静态资源文件】最终是在客户端计算机运行2)动态资源文件:【定义】:文件内容可以根据用户提供需求变化而产生不同的变化内容【特点】:服务端计算机会调用执行【动态资源文件】,服务端计算机将【动态资源文件的运行结果】交给客户端计算机

四、WEB通信过程中,两台计算机如何进行通信

     1.C/S结构通信方式:【介绍】:C:client,客户端计算机安装特定【客户端程序】,可以帮助客户端计算机向指定服务器计算机发送请求S:server,在服务端计算机安装一种特定【资源调度软件】,接收特定客户端程序发送请求,将请求需要资源文件推送回客户端计算机上【客户端程序】【例子】:微信  QQ  所有大型网络游戏【优缺点】:【优点】:1.可以有效的保护服务端计算机2.可以分摊服务端计算机工作压力【缺点】:1.增加客户获取服务的成本2.增加服务端维护成本【针对客户群体】:个人用户2.B/S结构通信方式:                【介绍】:B:browser,可以帮助客户端计算机向任意服务端发送请求S:server,在服务端计算机安装一种特定【资源调度软件】,可以接受所有浏览器发送请求。将请求的资源文件推送给客户端计算机浏览器上【优缺点】:【优点】:1)不会增加客户获取服务的成本2)不会增加服务端维护的成本【缺点】:1)无法有效保护服务端计算机2)无法通过客户端计算机分摊服务端计算机的压力【针对客户群体】:企业用户

五、网络协议包:
1.【定义】:用于包裹在网络中传输【二进制数据】。
网络协议包存在【固定空间】用于存放怕【特定数据】,便于接收方分析得到数据

 2.【分类】:FTP  http3.【B/S通信方式中】:到目前为止B/S通信结构中,只使用http网络协议包

六、http网络协议包内部结构:

1.Http:请求协议包:1)是浏览器在发送请求时,负责创建的2)时浏览器负责将请求信息,写入到请求协议包3)Http请求协议包内部自上而下有四层结构【请求行】:{url:请求的资源文件地址method:浏览器采用的请求方式 }【请求头】:{浏览器希望获得资源文件类型【html/png】浏览器希望获得资源文件内容依赖字符集如果浏览器采用【GET方式发送请求】,本次所关联的请求参数需要保存在请求头}【空白行】:{       隔离层      }【请求体】:{如果浏览器采用【post方式发送请求】,本次关联请求参数需要保存在请求体}

​ 2.Http响应协议包:

                     1)在服务端计算机的【资源调度软件】准备推送文件时,负责创建的2)【相应协议包内容】可以由【资源调度软件】写入,可以有Java命令(response)写入3)Http请求协议包内部自上而下有四层结构【状态行】:{状态栏}【响应头】:{返回文件内容类型(doc text html text/html)返回文件内容以来字符集,浏览器需要使用这个字符集对接收内容进行解码}【空白行】:{       }【响应体】:{静态资源文件也可能是动态资源文件运行结果(二进制形式)}---------------------------------------------------------------------------   客户端计算机上浏览器管理    一、如何命令浏览器向指定网站发送请求:1.通过FORM表单命令<form action="http://www.baidu.com">2.通过超链接命令<a href="http://www.163.com">163.com</a>3.浏览器的地址栏对象window.location="http://www.sina.com"<html><center><h1>超链接命令浏览器向服务湍发送请求</h1><a href="http://www.163.com">网易</ a><h1>FORM命令浏览器向服务湍发送请求</h1><form action=http://www.baidu . com"><input type=" submit" value="i度"></form><h1>通过地址栏对象命令浏览器向服务端发送请求</h1><input type="button" value="sina" onclick="fun1()"><script type=text/javascript">function fun1(iwindow . location="http://www.sina.com":l}</script></ center></html>


​ 二、请求方式【POST/GET】

​ 1.GET方式:
​ 1)要求浏览器发送请求时,携带的请求参数数量不能超过4k
​ 2)要求浏览器将请求参数写入到【请求头】
​ 3)要求浏览器将请求参数信息在地址栏显示出来
​ 4)要求浏览器对接收的资源文件必须缓存到内存

 2.POST方式:1)不会限制浏览器发送请求时,携带请求参数数量2)要求浏览器将请求参数写入到【请求体】3)要求浏览器将请求参数信息在地址栏隐藏4)要求浏览器对接收的文件不能保存到缓存【阅后即焚】,【动态变化的内容,车票信息,股票价格】三、如何控制浏览器采用的请求方式1.让浏览器发送请求时,采用【GET方式】1)超链接标签命令,一定会要求浏览器采用【GET】2)location对象,一定会要求浏览器采用【GET】3)FORM标签命令中method属性可以控制浏览器采用GET方式发送请求<form action="http://www.baidu.com" method="GET">2.让浏览器发送请求时,采用POST方式】1.设置FORM标签中method属性等于"POST"




​ 四、如何命令浏览器在发送请求时,携带指定请求参数

​ 1.超链接标签命令,可以命令浏览器携带请求参数

     <a href="http://www.baidu.com?uname=nike&age=23">百度</a>2.location对象,可以命令浏览器携带请求参数window.location="http://www.baidu.com?uname=nike&age=23"以上两种凡是存在弊端。请求参数内容时固定,无法根据客户具体要求来改变3.表单域标签可以接收用户输入的内容,作为请求参数内容1)【表单域标签分类】:INPUT   select   textarea2)【表单域标签作为请求参数条件】第一个条件:表单域标签必须声明在当前FORM标签内部第二个条件:表单域标签必须声明【name属性】,这个属性作为【请求参数名】第三个条件:针对checkbook和radio,只有被选中情况下,才可以作为请求参数


​ -----------------------------------------------------------------------

​ HTTP服务器:

一、【介绍】:1.安装在服务器计算机上一种软件2.可以解析来自于浏览器发送的【请求协议包】3.调用服务端上的被请求的【资源共享文件】4.负责生成一个【响应协议包】5.负责将【文件内容】或则【文件运行结果】写入到【响应体】6.负责将【响应协议包】推送给【当前浏览器】二、【HTTP服务器分类】:1.德国SAP:2.IBM:weblogic:3.JBOSS:4.Apache:Tomcat三、【Tomcat介绍】:1.是一个由Java应用程序编写的资源文件调度器2.可以调用服务端静态资源文件和动【态资源文件】3.Tomcat负责生成响应协议包,负责将响应协议包推送到浏览器上4.Tomcat属于Apache

Servlet规范

一、JAVASE与JAVAEE的区别1.JAVASE:Java开发基本规范2.JAVAEE:Java企业级开发规范,指定了JVM管理系统与13类系统之间交流规则,因此JAVAEE规范有13种。JDBC规范就是JAVAEE规范中的一种,用于设置JVM与所有的【关系型数据库管理系统】进行交流规则。二、servlet规范:1.servlet规范是JavaEE规范中的一种2.servlet规范中设置JVM与Http服务器之间的交流规则3.交流规则:1)定义何种Java类可以呗Http服务器来调用的(何种Java类可以作为动态资源文件)2)Http服务器应该如何管理【动态资源文件】三、何种Java类可以呗tomcat调用,可以作为网站的【动态资源文件】


​ 1.servlet规范中,认为只有【servlet接口实现类】有资格作为【动态共享资源文件】

​ 2.【servlet接口实现类】必须由开发人员负责创建

四、如何开发一个servlet实现接口类:1.创建要给实现类,需要继承与【HttpServlet】2.【HttpServlet】存在Tomcat中lib/servlet-api.jar  :  javax.servlet.http.HttpServlet3.根据来访的浏览器采用的请求方式,重修对应doGet或doPost4.在/WEB-INF/lib中web.xml注册Servlet接口实现类,用过Tomcat当前网站存在了动态资源文件 五、Tomcat调用Servlet接口实现类的流程:1.浏览器向服务端发送了一次请求http://localhost:8888/myWeb/first


​ 2.Tomcat接收到这个请求。首先请求资源文件作为动态资源文件。到web.xml进行文件定位。如果有调用,如果没有找到对应的动态资源文件。此时Tomcat认为本次请求的是一个静态资源文件,从web下进行定位。如果有返回,如果还没有返回404状态码

​ 3.Tomcat 到web.xml根据进行定位

     4.<servlet-name>定位<servlet-class>找到本次请求调用Servlet5.Tomcat根据浏览器采用的请求方式,调用Servlet中doGet或者doPost6.在doGet/doPost方法调用完毕后,Tomcat负责将响应包推送给浏览器


​ 六、servlet请求路径写法规则:4种
​ 1.具体请求路径:
​ 如果浏览器请求的【资源文件地址】与当前servlet中的内容【完全一致】,Tomcat才会带调用当前Servlet

​ 例子: OneSevlet /one.do

                     http://localhost"8080/myWeb/one.do  OneSevlet会被调用


​ http://localhost"8080/myWeb/abc/one.do OneSevlet会被调用

​ [注意]:具体请求路径,必须以"/"为开头

     2.前置条件请求路径:如果浏览器请求的【资源文件地址】以当前servlet中<url-pattern>的内容为开头的。Tomcat才会调用当前Servlet例子:OneSevlet    <url-pattern>/abc/*</url-patttern>"*":是一个通配符,描述是一个任意长度字符串如果当前【资源文件地址】是以"/abc/"为开头,就表示调用的资源Oneservlethttp://localhost"8080/myWeb/abc/two.do   OneSevlet会被调用【注意】:具体请求路径,必须以"/"为开头,必须以"*"为结尾3.后置条件请求路径:如果浏览器请求的【资源文件地址】以当前servlet中<url-pattern>的内容为结尾的。Tomcat才会调用当前Servlet例子:OneSevlet    <url-pattern>*.do</url-patttern>http://localhost:555/myWeb/abc/one.do    OneSevlet会被调用http://localhost:555/myWeb/abc/one.do?uname=mike  OneSevlet会被调用请求行:[url:http://localhost:555/myWeb/abc/one.domethod:get]请求头:[uname:mike]【注意】:不能以"/"为开头,必须以"*"开头4.通配符请求路径:当前Servlet可以接收对当前网站所有的请求例子  OneServlet    <url-pattern>/*</url-patttern>    http://localhost:555/myWeb/mm.jpg    OneServlethttp://localhost:555/myWeb/one.do   OneServlet


​ 5.请求路径优先级:【具体请求路径】 > 【前置条件】 > 【通配符】 > 【后置条件】

​ http://localhost:555/myWeb/abc/one.do

                 OneServle: <url-pattern>/abc/one.do</url-patttern>TwoServlet: <url-pattern>/abc/*</url-patttern>ThreeSevlet: <url-pattern>*.do</url-patttern>FourServlet: <url-pattern>/*</url-patttern>


​ 七.Servlet实例对象【生命周期】
​ 1.项目中,所有Servlet的实例对象都是由Tomcat负责创建;开发人员没有权利创建Servlet的实例对象

​ 2.【创建时机】:
​ 1)【默认情况】:当第一个用户来访问这个Servlet时。Tomcat负责创建他的实例对象

                 2)【人工干预】:要求Tomcat在启动时,创建Sevlet的实例对象<servlet><servlet-name>TwoServlet</servlet-name><servlet-class>com.zeng.oneSevlet.controller.TwoServlet</servlet-class><load-on-startup>10</load-on-startup></servlet>3.在Tomcat运行期间,一个Servlet实现类只能被创建一个实例对象4.在Tomcat关闭时,由Tomcat负责销毁所有的Servlet实例对象


                         Servlet开发时需要使用五种工具对象

一、概述:
1.HttpServletResponse接口:负责将运行结果写入到响应包

 2.HttpservletRequest接口:负责读取请求协议包信息3.ServletContext接口:可以为当前网站中所有的Servlet提供【共享数据】4.Cookie:再一次会话过程中,存储浏览器在服务器端产生的私人数据5.HttpSession接口:再一次会话过程中,存储浏览器在服务器端产生的私人数据

二、HttpServletResponse接口:
1.【介绍】:
1)一个来自于servlet规范中接口:由Tomcat负责提供这个接口实现类

         2)负责在Servlet运行完毕后,将相关数据写入到【响应头】和【响应体】3)开发人员习惯于将HttpServletResponse接口修饰对象,称为【响应对象】


​ 2.response.setCharacterEncoding(“utf-8”);与response.setContentType(“text/html”);

​ 1)相同点:都可以设置响应头中【字符集】

     2)不同点:response.setContentType()还可以设置内容类型

三、HttpServletRequest接口:
1.【介绍】:
1)来自于Servlet规范中一个接口,接口实现类由Tomcat负责提供的
2)由HttpServletRequest接口修饰的对象,可以帮助开发人员读取【请求协议包】信息,相当于【Scanner】

         3)一般习惯于将HttpServletRequest接口修饰对象成为【请求对象】


​ 2.【作用】:
​ 1)读取【请求行】信息

​ String url = request.getRequest();
​ String method = request.getMethod();

         2)读取【请求头】或者【请求体】中所有的【请求参数名】request.getParameterNames(); 3)读取请求头或者请求体中【参数内容】http://localhost:8080/myWeb/one.do?uname=mikeString value = request.getParameter("请求参数名")http://localhost:8080/myWeb/one.do?uname=mike&uname=alleanString array [] = request.getParameterValues("请求参数名")

Servlet-01相关推荐

  1. Servlet 01

    Servlet是运行在Web服务器或应用服务器上的程序,它可以读取客户端发送的请求,也可以处理数据并产生结果这个过程可能需要访问数据库,然后响应请求 . Servlet是JavaEE规范之一,其实就是 ...

  2. 视频专辑:Servlet视频教程

    为什么80%的码农都做不了架构师?>>>    专辑:Servlet视频教程 简介:郭宏志 Servlet视频教程 1   郭宏志 Servlet 01 WEB工程结构 2013-1 ...

  3. 尚硅谷最新版JavaWeb全套教程,java web零基础入门完整版(一)

    HTML和CSS ctrl + shift + / 在同一行代码中的后半截产生注释 HTML标签的介绍 标签拥有自己的属性,分为 基本属性 和 事件属性 标签的基本属性 :bgcolor=" ...

  4. Servlet和HTTP请求协议-学习笔记01【Servlet_快速入门-生命周期方法、Servlet_3.0注解配置、IDEA与tomcat相关配置】

    Java后端 学习路线 笔记汇总表[黑马程序员] Servlet和HTTP请求协议-学习笔记01[Servlet_快速入门-生命周期方法.Servlet_3.0注解配置.IDEA与tomcat相关配置 ...

  5. SpringMVC学习01之回顾Servlet

    前言 ssm : mybatis + Spring + SpringMVC MVC三层架构 前提: JavaSE:认真学习 JavaWeb:认真学习 后期如何学习: SSM框架:研究官方文档,锻炼自学 ...

  6. java servlet https_javaweb项目对https的配置01

    1.准备证书生成 a.进入到jdk下的bin目录(如果配置了Java的环境,可以直接在cmd命令窗口中直接输入如下命令) keytool -v -genkey -alias tomcat -keyal ...

  7. JavaEE基础(01):Servlet实现方式,生命周期执行过程

    本文源码:GitHub·点这里 || GitEE·点这里 一.Servlet简介 Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容.使用S ...

  8. SpringMVC自学日志01(回顾servlet)

    MVC:模型(dao,service) 视图(jsp) 控制器(servlet) dao service servlet:转发,重定向. 导入总环境pom.xml依赖 <dependencies ...

  9. 图书管理系统( JSP + JDBC + Servlet )实现-01: 流程分析和数据库建表阶段

    01: 流程分析和数据库建表阶段 02: 编写和配置过滤器(防止页面乱码) 03:项目搭建 & 工具类的实现 &依赖导入 04: 建立数据库的实体类(pojo) 05: 实现登录功能 ...

  10. jsp与java的关系_jsp教程中:jsp与servlet的区别和关系

    jsp教程上:我们一定学了servlet,也学习了jsp,那么jsp与servlet的区别是什么呢,jsp与servlet又有什么关系呢?下面我们先创建一个demo.jsp的页面,然后tomcat运行 ...

最新文章

  1. python3查找文件中指定字符串_Python3在指定路径下递归定位文件中出现的字符串...
  2. 如何设置运行在Virtualbox内的Ubuntu虚拟机的静态ip地址
  3. 第三次大作业-作业准备
  4. dnf上海2服务器维护,DNF上海2出现大面积盗号并迅速蔓延请注意
  5. 语义分割和实例分割概念
  6. Spark之MLlib
  7. Linux网络基础番外篇(IP、MAC、TCP)
  8. 驱动研究日记-内核同步
  9. 关于“数据加载中。。。”类似功能的实现
  10. 元宇宙势不可挡,facebook已更名Meta,前端人又能做什么?
  11. 51开发板的功能及简单使用
  12. 高通modem命名及对应芯片
  13. phP imageMagic抠图,使用 Lua + ImageMagick 轻松批量抠图
  14. 挑战微软 + GitHub!谷歌联手 Replit,升级 AI 编程“神器”:曾拒绝微软 10 亿美元的收购...
  15. java后端获取时间
  16. using的三种用法
  17. LeetCode Summary of Data Structure Algorithms
  18. 怎么运行python外星人入侵_Python入门项目:外星人入侵
  19. 【Nginx的学习和搭建】
  20. 利用三轴加速度求解位移的算法—来自飞思卡尔方案

热门文章

  1. HTML 导航栏标签切换
  2. 书摘—拆掉思维里的墙
  3. 5、SpringMVC自动配置概览
  4. VB虚拟机中ubuntu Linux系统安装使用MCNP5
  5. MySQL启动报错:发生系统错误5。拒绝访问。
  6. 使用appendChild和insertBefore
  7. innerHtml() 与html( )的区别
  8. 电磁兼容工程(Electromagnetic compatibility engineering Herry Ott )读书笔记-- 章14 抗射频和瞬态信号干扰能力
  9. lumaQQ移植到Android之消息篇
  10. 世界上最难的5种编程语言