1.EL表达语言
把存储在域中的对象中的数据利用el表达式隐式对象显示在页面,作用是让页面维护变得简单;
2.EL的11个隐式对象
pageScope: page作用域;
requestScope:request作用域;
sessionScope: session作用域;
applicationScope: application作用域;
param: request对象的参数字符串;
paramValues: request对象的参数,字符串集合;
header: Http信息头,字符串;
headerValues:http信息头,字符创集合;
initParam: 上下文初始化参数;
cookie: cookie值;
pageContext: 当前页面的pagecontext;
注意:如果有相同的key值放在不同的域对象的时候,在页面上获取值,会按照如下规则进行;
a.page-request-session-application
b.尽量在取值的时候写上隐式对象,这样页面执行效率比较高,
c.这些对象空位存放的数据放在哪个域对象中;
3.JSTL
jsp standard library :jsp的标准标签库;java中有条件的判断语句,还有循环语句,那么在jsp的页面中是否对应的标签来代替我们说的控制结构;
4.在jsp页面上使用JSTL的步骤;
(1)添加jar包;
(2)使用指令<%@taglib %>;
(3)使用相关标签的语法;
5.servletConfig与ServletContext的关系;
A_Servlet–servletconfig–getservletconfig–servletcontext
丨
init(servletconfig)
丨
A_Servlet–servletconfig–getservletconfig–servletcontext
(1)在servlet获得servletconfig的方式
a.通过init(参数);
b.getservletconfig();
(2)在servlet中获得servletContext的方式;
a.可以通过servletcontext的方式;
b.可以通过父类继承的getservletcontext();
注意:每个servlet会关联一个servletConfig对象,该对象放的是servlet自己的信息,然后通过它获得servletcontext对象,放的是站点信息;
6.访问servlet的关键代码
第一种方式:
function visitServlet(){
var username = doucument.getElementById(“username”).value;
location.href = "url"+username;
}
第二种方式:
function visitServlet(){
var form = doucument.getElementById(“form”);
form.submit();
}
7.servlet相关作用域对象
(1)servletContext:服务器启动就存在,如果把对象存到该对象,整个站点都有效;
(2)HttpSession:有一个会话有效,多次请求和响应构建成一个会话;
(3)HttpServletRequest:用户的一次请求和响应;
8.如何在对象中存取数据
存数据:作用域对象.setAttribute(String,object);k-v;
取对象:作用域对象.getAttribute(String);通过k值;
9.重定向
浏览器向服务器发送请求,服务器设置状态码为302,同时设置响应头location的值,让浏览器再次向location的值所指向的url进行请求;
特点:
(1)两次请求,url发生变化;
(2)两次请求都是浏览器向服务器发起的;
(3)在第二次请求后,在服务器端无法获得request作用域中存储的数据,也无法获得第一请求的时候,浏览器提交的请求的参数,只能获得第二次请求的参数;
10转发
浏览器向服务器发生请求,服务器进行处理后将请求转到另一个控制器进行处理,然后处理完毕后进行响应;
特点:
(1)url不发生变化;
(2)不是浏览器自己转的,而是服务器内部进行处理的;
(3)存储在request session servletContext作用域中的数据,可以在另外一个控制器中获取;