1.serlvert:是基于java服务器端的编程技术,servlet和客户的通信以及调用servlet的方法,采用“请求和响应”的模式
2.①服务器加载Servlet
②创建Servlet实例
--只有第一次请求Servlet时,创建Servlet实例,调用构造器
③初始化init()
--只被调用一次,在创建好实例后立即被调用,用于初始化当前Servlet
④service()处理用户请求
--可以被多次调用,每次请求都会调用service方法,实际用于响应请求的,根据用户请求的类型(get或者post),调用doGet或者doPost方法。
⑤destory()销毁
--只被调用一次,在当前Servlet所在的WEB应用被卸载前调用,用于释放当前Servlet所占用的资源
3.WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。
4.request里能获取什么
应用程序上下文 request.getContextPath()
客户端ip request.getRemoteAddr()
客户端端口 request.getRemotePort()
本地地址 request.getLocalAddr()
相对路径 request.getRequestURI()
请求方式 request.getMethod()
头信息(了解,是枚举类型)
request.getHeaderNames()
5.jsp是什么
jsp:Java Server Pages
6.四种作用域
page:只有当前页可以访问
request:一次请求和响应有效(一问一答)
session:(一段时间内有效 过了效期失效 计算有效期 从第一次打开浏览器访问网站开始 每点击一次重新计时,从你停止操作开始计算超时)
session可以设置有效期
JSP中9个隐式对象
隐式对象(或隐含变量):在JSP当中我们没有手动声明创建,但实际存在,可以直接使用的对象。
①request:客户端的请求信息被封装在request对象中,通过它才能了解用户的需求,然后做出响应
②response:包含了响应客户请求的有关信息,但在JSP中使用很少
③pageContext:页面的上下文,是PageContext的一个对象,可以从该对象中获取到其他8个隐含对象,也可以获取到当前页面的其他信息
④session:指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,知道客户端与服务器断开连接为止
⑤application:代表当前web应用,是ServletContext对象,能实现用户间数据的共享,可存放全局变量,它开始于服务器的启动,直到服务器的关闭,在此期间,此对象一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命周期
⑥config:当前JSP对应的Servlet的ServletConfig对象,可获取该Servlet的初始化参数(开发时基本不用),需要通过映射的地址才可以。
⑦out:JspWriter对象,调用out.println()可以直接把字符串打印到浏览器上
⑧page:page对象就是指向当前JSP页面本身,类型为Object,有点类似于类中的this,几乎不使用
⑨exception:该对象是一个例外对象,只有页面是一个错误页面,即isErrorPage设置为true的时候(默认为false)才能使用,否则无法编译。
7.转发和重定向
重点:
1.请求转发只发出了一个请求
请求重定向发出了2个请求
2.请求转发地址栏没变
请求重定向地址栏变化了
3.请求转发和请求重定向的目标可以是一个servlet也可以是一个jsp
request.getRequestDispatcher("/XXXServlet").forward(request,response)
和
response.sendRedirect("/XXXServlet")只能在doGet或doPost方法中调用一次
也即,在doGet或doPost方法中,只能转发或重定向到一个页面,不能到多个页面