小伙伴们,今天将继续javabean的步伐,继续前行!!
javabean作用域范围
使用scope属性来指定javabean的作用范围。
- page,仅在当前页面有效(范围最小)
- request (也可以通过HttpRequest.getattribute获取javabean对象)
- session(也可以通过HttpSession.getattribute获取javabean对象)
- application(也可以通过application.getattribute获取javabean对象)
jsp状态管理
http无状态性
当浏览器发送请求给服务器,服务器响应客户端。但是你同一个浏览器在次发送请求给服务器,服务器不知道它就是刚才的浏览器。简单的说,就是服务器不会记住你,这就是http无状态性。
cookie
保存用户状态的两大技术
- session
- cookie
cookie:是web服务器保存客户端的一系列文本信息。
<%
Cookie cookie = new Cookie("username","liujin");//创建cookie对象
response.addCookie(cookie);//写入cookie
Cookie[] cookie1 = request.getCookies();//读取cookie
cookie.setMaxAge();//设置cookie有效最大时间
cookie.getMaxAge();//获取cookie有效时间
cookie.setValue();//给cookie设置值
cookie.getName();//获取cookie名字
cookie.getValue();//获取cookie的值
%>
session与cookie区别
session:保存在服务器端的内存中,随着会话的结束,存储数据被销毁。保存数据类型是object。保存重要数据。
cookie:保存在客户端,可以长期保存,保存数据类型是string,保存不重要数据。
指令与动作
include指令
<%@include file="" %>//file后面写包含的jsp页面。
include动作
<jsp:include page="" flush="false"/>//page属性值设置包含的页面,flush是否从缓存区读。
include指令包含的内容,是包含页面的源代码,所以编译慢,而include动作包含的内容是包含页面的输出结果,所以编译快。
forward动作
<jsp:forward page=""/>//page设置跳转页面。
等同于
<%
request.getRequestDispatcher(path).forward(arg0, arg1);
%>
para动作
<jsp:param name="" value="">//键值对的参数
进入servlet学习
servlet
servlet就是在服务器端运行的小程序,一个servlet就是一个java类,可以通过"请求-响应"来访问服务器中servlet程序。
tomcat容器等级
一个context就是一个web工程。
手动编写servlet
-
继承httpservlet
-
重写 doget和dopost
-
配置web.xml的servlet信息
利用集成开发环境,直接new-servlet,myeclipse会自动配置。
servlet生命周期
tomcat装载servlet三种方法
-
在web.xml配置<loadon-startup>1</loadon-startup>实现自动加载,数字越小,优先级越高。
-
客户端首次向servlet请求,servlet会装载。
-
servlet被修改,servlet会重新加载。
在不同时候加载servlet,首先会执行servlet构造方法,然后init(),在根据请求方式,选择doget或者dopost。当服务器关闭时,执行destory方法,其中init()方法只执行一次。
servlet与jsp九大内置对象的对应关系