3_javaweb

1.jsp

1.九大内置对象
① jsp 四大域对象
优先顺序分别是,他们从小到大的范围的顺序:pageContext ====>>> request ====>>> session ====>>> application
② jsp 中的 out 输出和 response.getWriter 输出的区别
我们在 jsp 页面中统一使用 out 来进行输出,避免打乱页面输出内容的顺序。
out.write() 输出字符串没有问题
out.print() 输出任意数据都没有问题(都转换成为字符串后调用的 write 输出)
深入源码,浅出结论:在 jsp 页面中,可以统一使用 out.print()来进行输出
2.ServletContextListener 监听器
ServletContextListener 它可以监听 ServletContext 对象的创建和销毁。
ServletContext 对象在 web 工程启动的时候创建,在 web 工程停止的时候销毁。
监听到创建和销毁之后都会分别调用 ServletContextListener 监听器的方法反馈。
3.jsp的常用标签
静态包含:格式: <%@ include file="">
动态包含:格式是:<jsp:include page="" >
请求转发:格式是:<jsp:forward page="" >

2.EL 表达式

EL 表达式的格式是:${表达式}

3.JSTL 标签库

EL 表达式主要是为了替换 jsp 中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个 jsp 页面 变得更佳简洁。
1.JSTL 标签库的使用步骤
先导入 jstl 标签库的 jar 包 - 使用 taglib 指令引入标签库
2.)core 核心库使用
<c:if/> 作用:if 标签用来做 if 判断。
<c:choose><c:when><c:otherwise> 作用:多路判断。跟 switch…case…default 非常接近
<c:forEach/> 作用:遍历输出使用。

4.文件的上传和下载

1.文件的上传
(1)
① 要有一个 form 标签,method=post 请求
② form 标签的 encType 属性值必须为 multipart/form-data 值
③ 在 form 标签中使用 input type=file 添加上传的文件
④ 编写服务器代码(Servlet 程序)接收,处理上传的数据。
encType=multipart/form-data 表示提交的数据,以多段(每一个表单项一个数据段)的形式进行拼 接,然后以二进制流的形式发送给服务器。
(2) 常用 API 介绍说明
① 两个 jar 包: commons-fileupload-1.2.1.jar commons-io-1.4.jar
② 常用的类:ServletFileUpload 类,用于解析上传的数据;FileItem 类,表示每一个表单项。

boolean ServletFileUpload.isMultipartContent(HttpServletRequest request); 判断当前上传的数据格式是否是多段的格式。
public List parseRequest(HttpServletRequestrequest) 解析上传的数据

boolean FileItem.isFormField() 判断当前这个表单项,是否是普通的表单项。还是上传的文件类型。
true 表示普通类型的表单项 false 表示上传的文件类型

String FileItem.getFieldName() 获取表单项的 name 属性值
String FileItem.getString() 获取当前表单项的值。
String FileItem.getName(); 获取上传的文件名
void FileItem.write( file ); 将上传的文件写到 参数 file 所指向抽硬盘位置 。
2.文件的下载
response.setHeader(“Content-Disposition”, “attachment; fileName=1.jpg”);
这个响应头告诉浏览器。这是需要下载的。而 attachment 表示附件,也就是下载的一个文件。fileName=后面, 表示下载的文件名。
// Content-Disposition响应头,表示收到的数据怎么处理
// attachment表示附件,表示下载使用
// filename= 表示指定下载的文件名

5.Cookie 和 Session

1.Cookie 是服务器通知客户端保存键值对的一种技术。

//1 创建Cookie对象
  Cookie cookie = new Cookie("key4", "value4");
 //2 通知客户端保存Cookie
resp.addCookie(cookie);

2.Cookie 值的修改:调用 setValue()方法赋于新的 Cookie 值。
3.Cookie 生命控制
setMaxAge() 正数,表示在指定的秒数后过期 负数,表示浏览器一关,Cookie 就会被删除(默认值是-1) 零,表示马上删除 Cookie
4.Session :
一个接口(HttpSession)Session 就是会话。它是用来维护一个客户端和服务器之间关联的一种技术;每个客户端都有自己的一个 Session 会话;Session 会话中,我们经常用来保存用户登录之后的信息。
5.Session 域数据的存取
Object attribute = req.getSession().getAttribute(“key1”);
resp.getWriter().write(“从Session中获取出key1的数据是:” + attribute);
6.Filter过滤器
doFilter方法 ,专门用于拦截请求,可以做权限检查
Filter 过滤器的使用步骤:① 编写一个类去实现 Filter 接口 ;② 实现过滤方法 doFilter() ;③ 到 web.xml 中去配置 Filter 的拦截路径

©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页