4.14
EL表达式、JSTL标签
EL:express language——${}
作用:
- 获取数据
- 执行运算
- 获取Web开发的常用对象
JSTL:作用是弥补html标签的不足,功能和java代码块一样
只不过为了在jsp里更好看
JavaBean
就是数据库所对应的java实体类
写法:
- 无参构造方法
- 属性private私有
- 实现get/set方法
MVC三层架构
Model——View——Controller
Model:进行业务操作
View:展示数据,为用户提供操作
Controller:接收请求,交给Model层,将请求重定向或者转发
Filter过滤器
用于过滤网站的数据
可以给请求或者响应进行一些统一的操作
开发步骤:
- implements javax.Filter接口
- 重写方法
- doFilter方法中调用chain.doFilter方法
chain.doFilter方法是将请求或者响应转交给下一个过滤器,如果有,下一个过滤器进行过滤,如果没有,返回数据
过滤的顺序按照web.xml中的顺序进行过滤
过滤器在服务器启动的时候就初始化,执行init方法
在服务器关闭的时候销毁,执行destory方法
在chain.doFilter后的代码块
chain.doFilter相当于这个请求或者响应已经给别人了 所以下面代码a.getAttribute得到的是null
package com.kuang.servlet;
import javax.servlet.*;
import java.io.IOException;
public class FilterTest implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("正在执行过滤器");
chain.doFilter(request,response);
System.out.println("执行完了过滤器");
request.setAttribute("a","b");
}
public void destroy() {
}
}
1.所要访问的资源不是转发的目标资源:
chain.doFilter(request,response)–>下一个过滤器(如果有)–>执行完整个 过滤器链–>执行重定向或转发语句–>最后再访问你所要访问的资源
2…所要访问的资源是转发的目标资源:
chain.doFilter(request,response)–>下一个过滤器(如果有)–>执行完整个 过滤器链–>最后再访问你所要访问的资源