过滤器
其配置文件与servlet类似
一般只对请求拦截,对响应不做拦截:无法确定用户的数据是否合法。
其生命周期也与servle相似:创建之后候初始化,在被jvm删除后被销毁
两种过滤器的配置方式:
url过滤(常用):更加灵活
通过Servlet名称过滤
多个过滤器的执行顺序:
过滤器链优先执行url过滤,在执行servlet名称过滤;同类型过滤先执行配置文件中靠前的过滤器。
注解中同类型过滤器按字母顺序先后执行。
JSP技术:
Java server page Java服务器页面
后缀名为.jsp
本质上是简化的servlet设计
JspServlet:jsp引擎
jsp生命周期:
1、翻译:jsp引擎翻译为java源文件
2、编译:web容器编译为字节码文件
3、servlet生命周期:
创建对象
jspinit()初始化对象
jspservice()业务处理
jspdestroy()销毁对象
卸载对象
jsp页面组成:
1、模板数据:html标签
2、注释: html
浏览器里作为标签输出,能看到;
java//java/java/ 浏览器不可见,java代码可见;
jsp<%–jsp–%> 浏览器不可见,java代码不可见,安全性最高;
3、隐式对象(9种):4个作用域对象:5316,2个输出:27,3个其他:489
1)request
2)response
3)session
4)config
5)application(servletcontext)
6)pageContext(只对当前页面有效)
7)out
8)page
9)exception
4、元素:
脚本元素(声明,scriplet,脚本表达式):
声明(线程不安全):<%! 变量、方法 %>
scriplet(只能书写java代码):<% scriplet %>
脚本表达式(输出):<%= 参数名 %>
指令(3种)<%@ 指令 key=value %>
page指令
include指令
taglib指令
jsp中的include指令主要作用是将页面的某个部分共享给其他页面,将页面的代码直接导入到原界面,只产生一个java文件。
动作
20种标准动作
常用:
<jsp:include />:效果与include指令类似,但是java文件是分开执行的,将执行结果导入,会产生多个java文件。
<jsp:forward />
MVC架构模式加EL表达式实现jsp页面的无java代码化:前后端分离
开发模式一:JSP+JavaBean
业务处理和展示都由jsp完成,页面复杂难以维护。
开发模式二:JSP+Servlet+JavaBean
分工明确
MVC架构模式:jsp负责展示(view),Servlet负责控制(controller),JavaBean负责模型(model)
El表达式未指定作用域的话,优先使用范围更小的作用域存储的值。
El表达式
JSTL:JavaServletPage Standard Tag Librarry jsp标准标签库
<c:ForEach items=“要遍历的数组或集合” var=“每一项的参数名”>