javaWeb知识总结

JavaWeb

一、环境搭建

1、http协议

超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息 系统的应用层协议。HTTP是万维网的数据通信的基础。
在这里插入图片描述

2、HTTP请求/响应的步骤

1、 客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。 
2、发送HTTP请求
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求 数据4部分组成。
3、服务器接受请求并返回HTTP响应
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响 应头部、空行和响应数据4部分组成。 
4、释放TCP连接 
在HTTP/1.0中默认使用短连接。也就是说,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就 中断连接。当客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源(如JavaScript文件、 图像文件、CSS文件等),每遇到这样一个Web资源,浏览器就会重新建立一个HTTP会话。
而从HTTP/1.1起,默认使用长连接,用以保持连接特性。使用长连接的HTTP协议,会在响应头加入这行代码:Connection:keep-alive
在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客 户端再次访问这个服务器时,会继续使用这一条已经建立的连接。Keep-Alive不会永久保持连接,它有一个保持时 间,可以在不同的服务器软件(如Apache)中设定这个时间。实现长连接需要客户端和服务端都支持长连接。
HTTP协议的长连接和短连接,实质上是TCP协议的长连接和短连接。 
5、客户端浏览器解析HTML内容
客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若 干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在 浏览器窗口中显示。

3、HTTP请求方法

HTTP/1.1协议中共定义了八种方法(也叫“动作”)来以不同方式操作指定的资源: 
GET(重点)
向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中,例如在 Web Application中。其中一个原因是GET可能会被网络蜘蛛等随意访问。
HEAD 
与GET方法一样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本文部分。它的好处在于,使 用这个方法可以在不必传输全部内容的情况下,就可以获取其中“关于该资源的信息”(元信息或称元数据)。
POST(重点)
向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求 可能会创建新的资源或修改现有资源,或二者皆有。
PUT
向指定资源位置上传其新内容。
DELETE
请求服务器删除Request-URI所标识的资源。
 TRACE
回显服务器收到的请求,主要用于测试或诊断。
OPTIONS 
这个方法可使服务器传回该资源所支持的所有HTTP请求方法。用'*'来代替资源名称,向Web服务器发送OPTIONS 请求,可以测试服务器功能是否正常运作。
CONNECT
用于连接

4、俩种开发模型

C/S
又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,客户端需要安装专 用的客户端软件。如QQ,微信等软件
B/S
是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser)。Browser/Server是建立在广域网的基 础上的. 

5、Tomcat

1、下载与安装
开源小型web服务器 ,完全免费,主要用于中小型web项目,只支持Servlet和JSP 等少量javaee规范(就是 JavaWeb编程接口)
https://tomcat.apache.org/
在这里插入图片描述
下载好之后,安装到任意目录
安装步骤:

  1. 下载Tomcat
  2. 解压到一个没有特殊符号的目录中(一般纯英文即可)
  3. 进入到解压的目录下找到bin\startup.bat双击启动即可
    注意:不建议将服务器软件放在磁盘层次很多的文件夹中!
    不建议放在中文路径下!
    tomcat安装需要配置JAVA_HOME环境变量

2、Tomcat目录

1、bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件: tomcat9.exe、tomcat9w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启动Tomcat;如果是解压 版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要JDK的配置,shutdown.bat 用来停止Tomcat; 
2、conf:这是一个非常非常重要的目录,这个目录下有四个为重要的文件:
server.xml:配置整个服务器信息。例如修改端口号,添加虚拟主机等; tomcat-users.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以 按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了; web.xml:部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之 间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型 的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个 html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。 MIME就是用来说明文档的内容是什么类型的!
context.xml:对所有应用的统一配置,通常我们不会去配置它。 
3、lib:Tomcat的类库,里面是一大堆jar文件。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中, 当然也可以把应用依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之,但这样你的应用放到 其他Tomcat下时就不能再共享这个目录下的Jar包了,所以建议只把Tomcat需要的Jar包放到这个目录下;
4、logs:这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会 记录在日志文件中。
5、temp:存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除! 
6、webapps:存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是 tomcat自带的项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。
http://localhost:8080/examples,进入示例项目。其中examples就是项目名,即文件夹的名字。 
7、work:运行时生成的文件,终运行的文件都在这里。通过webapps中的项目生成的!可以把这个目录下的内 容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文 件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下。 
8、LICENSE:许可证。
9、NOTICE:说明文件。

3、IntelliJ IDEA配置Tomcat
1,点击Run—EDit Configurations…
在这里插入图片描述
2.点击左侧“+”号,找到Tomcat Server—Local(若是没有找到Tomcat Server 可以点击后一行 34 items more)
在这里插入图片描述3.在Tomcat Server -> local-> Server -> Application server项目下,点击 Configuration ,找到本地 Tomcat 服务 器,再点击 OK按钮。
在这里插入图片描述

6、修改端口号

修改配置文件:/conf/server.xml

<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000"  
redirectPort="8443" />

7、Tomcat如何管理项目

给tomcat增加管理员信息:
配置conf/tomcat-users.xml

 <tomcat-users>    <role rolename="manager-gui"/>    
 <user username="tomcat" password="tomcat" roles="manager-gui"/> 
 </tomcat-users>

注意:
tomcat启动的时候会加载webapps下的所有项目

二、servlet

1、简介
(1) Servlet(Server Applet),全称Java Servlet。是用Java编写的服务器端程序,其主要功能在于交互式地浏览和 修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个 Servlet接口的类,一般情况下,人们将Servlet理解为后者。 
(2) Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下 Servlet只用来扩展基于HTTP协议的Web服务器。
(3) Servlet工作模式:
  ① 客户端发送请求至服务器
  ② 服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器
  ③ 服务器将响应返回客户端
2、servlet API

在这里插入图片描述

3、Servlet的生命周期
 当客户端首次发送第一次请求后,由容器(web服务器(tomcat))去解析请求, 根据请求找到对应的servlet,判断该类 的对象是否存在,不存在则创建servlet实例,调取init()方法 进行初始化操作,初始化完成后调取service()方法,由 service()判断客户端的请求方式,如果是get,则执行doGet(),如果是post则执行doPost().处理方法完成后,作出相 应结果给客户端.单次请求处理完毕。

 当用户发送第二次以后的请求时,会判断对象是否存在,但是不再执行init(),而直接执行service方法,调取 doGet()/doPost()方法。
 当服务器关闭时调取destroy()方法进行销毁。

四个过程:
(1)实例化 --先创建servlet实例
(2)初始化 --init()
(3)处理请求 —service()
(4)服务终止 --destory()

4、请求
HttpServletRequest表示Http环境中的Servlet请求。它扩展于javax.servlet.ServletRequest接口)
常用方法: 
1)String getParameter(String name) 根据表单组件名称获取提交数据,返回值是String
 注:服务器在接收数据时使用字符串统一接收 
 2)String[ ] getParameterValues(String name) 获取表单组件对应多个值时的请求数据 
 3)void setCharacterEncoding(String charset) 指定每个请求的编码(针对post请求才起作用)
4)RequestDispatcher getRequestDispatcher(String path) --跳转页面
  返回一个RequestDispatcher对象,该对象的forward( )方法用于转发请求
  如: request.getReques
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值