1.servlet的基本概念
servlet是运行在服务端上的一个java类,使用serlvet技术可以和网页的前端和后台进行数据交互。
2.HTTP协议介绍
什么是HTTP协议
HTTP协议,超文本传输协议,是互联网上应用广泛的一种网络传输协议。所有的www文件都必须遵守这个协议。他是TCP/IP协议的一个应用层协议。
原理:
在我们点击某个链接的时候,浏览器会帮我们向服务器发送一段文本,这段文本包含了请求的链接。服务器收到请求后,就返回给一段文本给浏览器,浏览器将其解析后显示出来。文本的格式遵循HTTP的规范。
HTTP请求
浏览器向服务器请求web资源的时候,浏览器向服务器发送了一个http请求,其包含的内容有:
请求行
请求行,包含的内容有:客户端的请求方式,请求的资源,以及使用的http协议版本号;
请求行:GET/java.html HTTP/1.1
请求的方式有:POST(常用),GET(常用),HEAD,OPTIONS,DELETE,TRACE,PUT。
get,post的区别:
ServletRequest接口 获取客户端请求的数据
Object getAttribute ( String name ) 获取名称为name的属性值
Servlet常用方法(重点)
重定向 response.sendRedirect响应浏览器一个URL,浏览器发起请求,服务器响应用户一个html(
特点 URL改变,但是不传值,配合session使用)
转发
RequestDispatcher getRequestDispatcher( String path )URL不变,传值(缺点:暴露给用户controller)
Session
通过用户发起对话,通过request获取session对象,通过setattribute方法进行赋值,getattribute方法取值
Servlet容器
通过创建容器context对象的getservletcontxet方法进行传值(缺点 每个servlet容器都可以进行获取值和赋值操作,导致数据会被覆盖,只有最后一次赋值取值操作的值)