文章目录
JavaWeb
B/S架构:
浏览器: 一种客户端软件。
Http协议:定义了浏览器和服务器通讯的基本规则之一。
浏览器和服务器之间的交互:
-
交互模式:
请求——响应
-
客户端发出请求,服务器根据请求内容发送响应内容。
客户端发出请求的格式:
-
请求行 :服务器的地址、端口、资源地址。
-
请求头。
-
请求实体。
注:客户端向服务器传参,如果将参数放在请求行中,即为get方式,如果放在请求实体中,即为post方式。
服务器收到响应的格式:
-
响应内容的定义:
a) 状态行(200,404,500)
b) 响应头
c) 响应实体
客户端收到响应后如何显示内容?
- html(超文本标记语言)诞生了,它可以解析客户端收到的响应内容。
- 希望html元素可以动起来—JavaScript(脚本语言)诞生了。
- 希望可以更加精准、漂亮的控制页面元素的显示—css(层叠样式表)诞生了。
服务器根据请求内容发送响应信息:
-
如何收到请求内容:
a) 建立监听。ServerSocket s.accept();
b) 启动一个线程(轻量级的进程)。为请求的客户提供服务。
c) 为了封装客户端提供的请求信息。于是我们定义了一个对象:HttpServletRequest对象。
d) 为了封装回送给客户端的响应内容,我们定义了一个对象:HttpServletResponse对象。
-
根据请求内容调用相应的程序(Servlet)
a) 我们通过Web.xml中定义的url和servlet的关系,找到相应的servlet程序。
b) 于是我们定义了 HttpServlet ,并且增加 :service(HttpServletRequest req , HttpServletResponse resp)方法。
c) 将response 对象中的信息,转译成基于http协议的相应内容。再将这些相应内容通过socket传送给客户端。
Tomcat服务器:
为了统一上述流程,于是Tomcat被开发了出来,叫做Tomact 服务器, 我们也罢服务器叫做web容器,Servlet容器。
Servlet程序的使用:
- 浏览器发送服务器的请求内容: HttpServletRequest对象。
- 服务器发回浏览器的响应内容:HttpServletResponse对象。
- servler类读取web.xml中自己的配置信息。 ServletConfig。
- 需要读取web.xml中公共信息 ServletContext
- 将所有servlet放入一个容器中统一管理。 ServletContext
- 保存以前的操作状态。 客户端保存——Cookie 服务器保存——Session
Jsp:
servle 擅于做业务逻辑处理,但是不善于做页面展示的代码处理。于是,我们对servlet进行了改进处理,jsp诞生了,jsp 也是servlet 也是java类,你访问一个jsp实际上是执行了相应的java类。 我们需要一个统一的转译程序,可以将jsp文件内容转译成java类代码。于是产生了jsp引擎(一般服务器软件自带了这样的功能)
ajax:
一种异步技术,有局部刷新的效果。
通过增加XMLHttpRequest对象,使用XHR对象发送请求, 获取数据后,首先传给XHR对象,再通过javascript代码操作dom模型,实现局部刷新的效果。