1.el
叫做表达式语言 语法:${ EL表达式 }
作用:简化jsp中有些代码
1.获取四个域对象中的数据${ 属性名|变量名 }
2.执行普通的运算(逻辑运算,关系运算,三元运算...)
3.操作el中的对象(十一个内置对象)
1.四个域 pageScope requestScope sessionScope applicationScope
2.一对专门用来接受参数 param, paramValues
3.获取请求头的一对: header headerValues
3.获取全局参数: initParam
4.获取cookie: cookie.库克的名称
5.pageContext: 可以获取jsp中其他八个内置对象
获取工程名: pageContext.request.contextPath
4调用java的代码,需要自定义标签库(目前先放一放)
2.jstl
jsp standard tag lib
标签库需要引入
<%@ taglib uri ="地址" prefix="缩写"%>
核心标签库:
1.0和1.1,1.2
1.1,1.2是支持el表达式
c:if 可以条件的筛选
属性:test
c:set(了解)
c:out(了解一下)
c:forEach
var --->遍历出的元素的变量名
items--->要遍历的对象
begin
end
step
varStatus
函数库
就是处理字符串相关的东西
${ fn:split }
${ fn:subString }
Servlet的生命周期
生命周期:就是一个对象从创建到销毁的过程.
Servlet生命周期:Servlet从创建到销毁的过程.
* 何时创建:用户第一次访问Servlet创建Servlet的实例
* 何时销毁:当项目从服务器中移除的时候,或者关闭服务器的时候.
Servlet默认是在第一次访问的时候创建的.现在让Servlet在服务器启动的时候创建好.进行对Servlet的配置:
在web.xml中在<servlet></servlet>标签中配置:
* <load-on-startup>2</load-on-startup> --- 传入正整数,整数越小,被创建的优先级就越高.
ServletContext:(重要)
有四个作用
1.用来获得全局初始化参数.
2.用来获得文件的MIME的类型.
3.作为域对象存取数据.
作用范围:整个web工程.
* 创建:服务器启动的时候,tomcat服务器为每个web项目创建一个单独ServletContext对象.
* 销毁:服务器关闭的时候,或者项目从服务器中移除的时候.
4.用来读取web项目下的文件.
response
处理中文乱码:
字节流:
设置浏览器默认打开编码
response.setHeader("Content-Type", "text/html;charset=UTF-8");
中文转成字节数组编码
response.getOutputStream().write("王守义".getBytes("UTF-8"));
字符流:
设置response的缓冲区的编码
response.setCharacterEncoding("UTF-8");
设置浏览器默认打开的编码.
response.setHeader("Content-Type", "text/html;charset=UTF-8");
response.setContentType("text/html;charset=UTF-8");相当于上面两句
文件下载两种方式:
一种:超链接方式.(不推荐)
* <a href=”aa.zip”>下载</a>
* <a href=”1.jpg”>下载</a>
二种:手动编码方式完成文件下载.
* 设置两个头和一个流:
* Content-Type:文件MIME的类型.
* Content-Dispostion:
* 文件的输入流:
request:也是域对(set,get,removeAttribute)
1.获得客户机信息:
getMethod(); ---获得请求方式.
* getQueryString(); ---获得请求路径后的参数.
* getRemoteAddr(); ---获得客户机的IP地址.
* getRequestURI(); ---获得请求的路径
* getRequestURL(); ---获得请求的路径
* getContextPath(); ---获得工程名
2. 获得请求头:
getHeader()
或得参数:
getParameter(String name);
getParameterMap();
request.getParameterValues(String name);
会话技术:
什么是会话 :用户打开一个浏览器访问页面,访问网站的很多页面,访问完成后将浏览器关闭的过程称为是一次会话.
常见的会话技术:
* Cookie :将数据保存到客户端浏览器.
* Session :将数据保存到服务器端.
Ø Cookie的常用的API:
* getName();
* getValue();
* setDomain(String domain); -- 设置Cookie的有效域名. // www.baidu.com music.baidu.com
* setPath(String path); -- 设置Cookie的有效路径.
* setMaxAge(int maxAge); -- 设置Cookie的有效时间.
【Session的概述】(域对象)
Ø 使用Session:
* 获得Session:
* request.getSession();
session何时创建和销毁?作用范围:
* 创建:服务器端第一次调用getSession()创建session.
* 销毁:三种情况销毁session:
* 1.session过期. 默认过期时间为30分钟.
* 2.非正常关闭服务器.如果正常关闭session序列化到硬盘.
* 3.手动调用session.invalidate();
* 作用范围:多次请求.(一次会话)