HTTP
-
HTTP:
是规定浏览器与服务器之间通信的方式(主要规定了浏览器向服务器发送请求上的格式以及规定了服务器向流览器作出响应时的格式) -
HTTP工作时遵循的基本原则:
一次请求对应一次响应,请求只能有浏览器发出,服务器只能被动作出响应.
请求行 | 请求头 | 请求实体内容 |
---|---|---|
请求方式,路径,版本 | k value(host ,cookie…) | 如果请求时post请求要在请求中携带数据 |
状态行 | 响应头 | 响应实体内容 |
版本,状态码 | (content-Type响应类型Content-lenght setcookie) | Response响应数据时 |
-
Get请求与Post请求
只有当from表单通过method属性指定提交方式为post请求时 才是post请求其他的都是get请求.(Ajax除外) -
Get与post的区别
1.Get提交会将参数拼接在地址栏 显示相对不安全 post不会显示 是通过了请求实体传递参数
2.Get提交参数会拼接在地址栏,所以数据量不能太大,而post提交数据理论上来说没有限制 -
HTTP与HTTPS的区别
1.https更安全: http是明文传输的,也就意味着 介于发送端,接收端中间的任意节点都可以知道你们传输的内容.而https是以安全为目标的HTTP通道,简单的讲是HTTP的安全版,即https在HTTP下加了SSL层TLS层,HTTPS并不是一个新的协议,而是在http的基础上添加了 SSL安全套接字层,和TLS安全传输层.
2.https需要申请证书:https协议需要证书,而且需要交费.而常见了http协议不需要
3.端口号不同:http的端口大家常见的是80端口,而HTTPS使用的端口是443端口
4.状态不同: http连接很简单,是无状态的,而HTTPS是由http+SSL协议构建的可进行加密传输,身份认证的网络协议,要比http安全;
Servlet
-
Servlet:
一门动态的Web资源开发技术,本质就是一段Java代码,和普通的Java程序不同的是servlet无法独立运行,必须将servlet程序运行在服务器中,由服务器调用执行(服务器端的Java程序).
使用Servlet:
1.实现servlet并实现其中的方法(或者实现它的子类 例如 HTTPServlet)
2.在web.xml配置访问路径 -
Servlet的调用过程
-
Request和Response
Request:是代表Http请求信息中的对象,其中封装了浏览器向服务器发送的请求信息,将request传递给service方法,在处理请求时 从request中获取封装的相关信息
Response:是代表了Http响应信息对象,其中封装了服务器向浏览器的响应信息,将response 传递给service方法,在处理请求时 通过response获取流进行发送.
Request获取请求中的数据 request.getparameter(String)返回一个值 request.getparameterValues(String)返回一个数组
Response获取流 response.getwriter response.getOutPutStream -
转发request.getRequestDispatcher(“XXX.jsp”).forward(req,resp)与重定向response.sendRedirect()的区别
转发一次请求一次响应,地址栏不会变化,只有一个request域,只能使用在同一个web应用下
重定向两次请求两次响应,地址值变化,有两个request域可以在不同的web应用下
JSP
-
JSP
一种动态的web资源开发技术,可以看起来象HTML可以写JAVA代码 可以开发动态的页面 本质上就是一个Servlet -
JSP的访问过程:
-
JSP表达式:(可以存放常量,表达式,变量)
<% %>
<% String name =”这条路上谁没有犯过错”%>定义一个变量
<%=name%>输出一个变量 -
EL表达式:${常量,表达式,变量:变量要先放入域中}
${“hello EL”} ${100+125}
<% String name=”你玩的那些套路,哥们都会” request.setAttribute(“n”,name)%>
${n} -
JSTL和EL配合使用:
<c:set var=”name” value=”顶着天踩着地”> $ {name}
<c:if test=”${score<=100>}”>
<c:foreach var=”i” begin=”1” end=”10” step=”2” > -
JSP内置九大对象:
Request,Response,Session,PageContext,Application,Config,Page,Exception,Out
九种对象的简介:
Request:封装了浏览器客户端的各种信息
Response:封装服务器响应信息
Out:是用于向浏览器客户端输出信息
Exception:封装了Jsp程序执行过程中的异常和错误信息
Config:封装了应用程序的配置信息
Page:指jsp程序本身
Session:用来保存会话信息,也就是说同一个用户可以在不同的请求之间共享数据
Application:代表了当前应用程序的上下文,可以在不同的用户之间共享信息
PageContext:提供了对jsp页面所有对象以及命名空间的访问 -
Jsp四大作用域:
范围从小到大为:
Page域, 在当前页面有效,即在当前的一个jsp页面上是有效的
Request域 在当前请求中有效,在整个请求阶段都是有效的
Session域在当前会话中有效,从浏览器访问开始 这个指的是用户一个访问,到访问结束
Application域 作用于从服务器启动到关闭整段时间 在所有的应用程序中有效 -
Jsp与servlet的区别:
Jsp是servlet技术的扩展,本质上就是一个servlet的简易方式.
两者都是实现了与HTML的呈现数据的功能
只不过是jsp更擅长于前端页面的呈现 servlet则是后端的逻辑的处理Servlet 是在java代码中通过httpservletResponse对象动态的输出HTML内容 servlet在Java中通过的是字符串的拼接 这样做 就是在后期维护会很困难 可读性差
Jsp 呈现数据 是将java代码嵌入在HTML中 当被动态执行后生成Html的内容 虽然避开了 servlet的劣势 但是将太多的java代码和一些逻辑混入HTML中也是不可取的
所以我们扬长避短 通过mvc的思想 将servlet放在controller中 将jsp放在view中