文章目录
1、jsp
JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板。
jsp实现了html中java扩张(以<% %>形式)。
注意:
使用eclipse新建jsp文件,默认编码不是utf-8,可以改一下
- 嵌入java语句<% java语句 %>
- 注释<%-- --%>
- 输出展示数据<%= %>
- 方法或变量声明<%! %>
- 声明页面属性<%@ %>
2、servlet跳转方式
一、重定向response.sendRedirect(url)二、请求转发request.getRequestDispatcher(“URL”).forward(request, response);
请求转发和重定向区别
请求转发:1、客户端只发了一次请求,2、只能是相对路径(只能本地资源),3、url不会改变
重定向:1、客户端发2次请求,2、可以相对、绝对路径,3、url改变
3、servlet三大作用域
操作
存数据void setAttribute(String key,object value);
取数据Object getAttribute(String key);
移除数据void removeAttribute(String key);
一、request作用域
作用域仅在一个请求结束前
类名:HttpServletRequest
级别:请求级别
获取方式:直接走service()、doGet()、doPost()中使用形参名方式获取
创建:当服务器接收到客户端请求时,会为每个请求创建一个request对象
死亡:请求完成时
request.setAttribute("account","admin");
System.out.println(request.getAttribute("account"));
request.getRequestDispatcher("jsp/scope.jsp").forward(request,response);
二、session作用域
作用域仅在一次对话关闭前(30分钟)
服务器什么时候会为客户端创建session对象
创建session实例
session死亡条件
第一种情况:超时,默认30分钟
可以在web.xml里设置超时时间
也可以在在java代码里设置超时时间
第二种情况:调用代码使其死亡
三、application作用域(context)
作用域在服务器关闭前都有效
获取方式:
实例:
创建时间:项目启动时。
死亡:服务器关闭时。
在jsp里面获取三个作用域传递的值,观察他们的作用域、作用时间:
都在doGet方法里
jsp
在不同作用域下访问
(这个是在直接访问jsp时的截图)
4、javaweb Filter
javaweb过滤器,用于过滤请求和响应。
新建一个filter类
1、实现filter接口;2、实现对于方法;
3、在web.xml对filter进行配置
路径映射:
默认是拦截状态
放行
扩展映射:拦截所有.do、.jsp(拦截所有jsp)
对于过滤器,放行前可以处理请求,放行后处理响应
如果有多个过滤器,决定过滤顺序的是filter-mapping
5、listener监听器
有8种监听器
3、配置声明
将session序列化到本地
maxIdleSwap=1表示session在1分钟内没被访问,就序列化到本地
6、javaweb EL(jsp)
el的功能:替代jsp页面中复杂的代码
语法规则:
实例:
取值也可以用中括号的方式
中括号也可以用来取索引
括号里面也可以用算术运算符、逻辑运算符
7、JSTL(jsp)
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。
jstl安装包地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
在jsp文件中使用jstl,首先导标签库
使用标签
set
out
remove
另外还有if、forEach