关于java:tomcatHTTP

什么是服务器?

服务器:分为服务器硬件(独立IP地址的计算机) 和 服务器软件(就是一个计算机程序,tomcat服务器软件),才能够对外提供服务。
tomcat就是一个web服务器软件,是由apache组织提供的一款服务器软件,特点:玲珑灵便,收费开源,简略易用。

HTTP协定?

HTTP协定是用于规定浏览器和服务器之间的通信形式/规定
次要规定了浏览器给服务器发送的申请信息的格局
服务器给浏览器发送响应信息的格局
根本准则:

一次申请,只对应一次响应
由浏览器发动,服务器只能期待申请,依据申请作出回应。

HTTP申请:

申请行中:

7种提交形式,然而咱们只用GET和POST。
申请资源门路
遵循的协定和版本

申请头:

Key-Value构造
localhost告诉服务器,浏览器要申请的是哪一台虚拟主机。
Accept:text/html, appliaction/xhtml+xml告诉服务     器,浏览器能接管的响应数据类型。

申请实体:

GET 提交,申请实体是没有内容的!
POST 提交,并且申请中携带了数据,申请实体中才会有内容


状态行:

遵循的协定和版本+解决的后果的状态码

若干响应头:

key-value格局
响应的数据类型+服务器响应数据的长度...

响应实体内容:

响应实体就是浏览器所申请文件的内容

GET提交和POST提交有什么区别?
GET提交:

数据通过问号拼接在地址栏URL地址的前面,不平安
数据量是有限度的,通常不能超过1KB或者4KB

POST提交:

POST提交是通过申请实体将数据提交给服务器,不会显示在地     址栏上,平安
数据量实践上是没有限度的

总结:

申请中没有数据,尽量应用GET提交
但数据量不大,并且数据没有隐衷性,也尽量应用GET提交
数据量比拟大或者数据较为隐衷,此时举荐应用POST提交

什么是Servlet?

Servlet实质上是一段Java程序,无奈独立运行,须要将Servlet程序放在服务器中,由服务器调用才能够执行
doGet办法:

 当浏览器发送申请为GET提交时, 将会调用doGet办法来        解决申请
 doPost办法:当浏览器发送申请为POST提交时,调用doPost      办法来解决申请

web.xml配置

当浏览器发申请到服务器时,服务器将会调用Servlet中的service办法来解决申请。在调用service办法之前会创立出request和response对象
每次浏览器拜访服务器,在调用service办法解决申请之前都会创立request和response对象
响应完结时,服务器会销毁request和response对象。

request和response介绍:

request是代表HTTP申请信息的对象, 封装了浏览器发送给服     务器的申请信息(申请行、申请头、申请实体等)

获取值:
request.getParameter(String paramName)
依据申请参数的名字获取对应的参数值返回值是一个字符串;
参数有多个值,只会返回第一个值
不存在的参数,返回值为null
request.getParameterValues(String paramName)
返回值是一个字符串数组,参数名对应的所有参数值
不存在的参数,返回值为null

中文乱码问题:
GET提交的中文参数,会呈现乱码问题!(Tomcat8后)
POST提交,会用iso8859-1编码接管,会呈现中文乱码问题!
解决:request.setCharacterEncoding("utf-8");
(set卡润的硬扣顶)
 

response是代表HTTP响应信息的对象,服务器再将response     中的数据取出,依照HTTP协定的格局发送给浏览器。

转发:

一种跳转形式
发送申请拜访服务器中的某一个资源(A)时,该资源将申请转交给另外一个资源(B)进行解决响应的过程
特点:

一次申请,一次响应
浏览器的地址栏地址不会发生变化。
request对象是同一个
申请转发前后的两个资源必须属于同一个Web利用

转发实现:

request.getRequestDispatcher(url地址/转发到资源的地址).forward(req, res);
Dispatcher(第四八的) forward(佛尔韦的)

//从以后Servlet转发到 index.jsp(http://localhost/day10/index.jsp)
//request.getRequestDispatcher("/index.jsp").forward(request, response);
request.getRequestDispatcher("index.jsp").forward(request, response);

作为域对象应用

request在实现转发时,通过request.setAttribute(啊吐比的)和request.getAttribute办法带数据到目的地时
域对象所具备的三大特色:

生命周期:Servlet程序的service办法之前,会创立代表申请的request对象在申请解决完,响应完结时,会销毁request对象。
作用范畴:在一次申请范畴内
和申请转发配合应用,从Servlet带数据到JSP

request对象的getParameter和getAttribute办法有什么区别?

getParameter()办法是用于获取(从浏览器发送过去的)申请参数的,在服务器端再通过getParameter办法获取申请中的参数

getAttribute()办法是用于从request域中获取域属性时用的,即得先通过setAttribute办法将数据存入request域中,再通过getAttribute()办法从域中获取。

实现重定向:

特点:
重定向是两次申请、两次响应
浏览器的地址栏地址会发生变化
request对象不是同一个
重定向前后的两个资源能够是来自不同的web利用
实现代码:

response.sendRedirect(所重定向到资源的URL地址);
(森特,雨衣的雨哎)
response.sendRedirect( "http://www.baidu.com" );

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理