什么是服务器?
服务器:分为服务器硬件(独立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" );
发表回复