jsp标签的使用以及过滤器和监听器

 1 <jsp:JavaBean>的使用

<!--[if !supportLists]-->1. <!--[endif]-->可以直接使用,<%@ page import=”xxx.xx.xx”%导入相应的包。然后再页面上写上<%%>包围java代码进行使用。

<!--[if !supportLists]-->2. <!--[endif]-->直接使用<jsp:javaBean>标签即可。

2 <jsp:JavaBean>的4种保存范围
jsp标签的使用以及过滤器和监听器_第1张图片
 
jsp标签的使用以及过滤器和监听器_第2张图片
 3 <jsp:javaBean>的删除


jsp标签的使用以及过滤器和监听器_第3张图片
 例子


jsp标签的使用以及过滤器和监听器_第4张图片
 

4 <jsp:setPorperty>标签


jsp标签的使用以及过滤器和监听器_第5张图片
 比较完之后,还是第一种比较好,自动进行相应的设置。

 

5 <jsp:getPorperty>标签


jsp标签的使用以及过滤器和监听器_第6张图片
 反射机制是jsp标签的操作基础。切记!


jsp标签的使用以及过滤器和监听器_第7张图片
 

6 MVC设计模式

模式1,jsp+javabean

模式2,jsp+servlet+javabean


jsp标签的使用以及过滤器和监听器_第8张图片
 

7 过滤器

Servlet分为三种:简单servlet(最常用的)、过滤器(过滤servlet)、监听servlet(监听器)。Jsp可以完成的功能,servlet可以完成。反之则不行。


jsp标签的使用以及过滤器和监听器_第9张图片
 过滤器的详细过程,可以形成过滤链


jsp标签的使用以及过滤器和监听器_第10张图片
 
一般过滤器都会执行两次,开始前一次,执行完dofileter之后在执行一次。

如果有N个过滤器,一般会这样执行的顺序。

过滤器1执行开始

过滤器2执行开始

过滤器2执行结束

过滤器1执行结束

跟栈有点类似,先执行的最后才结束,形成过滤连很好用!

看个例子:

 

FileterDemo1 :

 

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import sun.awt.windows.ThemeReader;


public class FileterDemo1 implements Filter{

	public void destroy() {
		// TODO Auto-generated method stub
		System.out.println("过滤器1开始销毁...");
		try {
			Thread.sleep(3000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		System.out.println("过滤器1执行开始");
		request.setAttribute("a", "1");
		chain.doFilter(request, response);
		if("1".equals(request.getAttribute("a")))
		System.out.println("过滤器1执行结束");
	}

	public void init(FilterConfig filterConfig) throws ServletException {
		// TODO Auto-generated method stub
		System.out.println("过滤器1初始化...");
	}
	
}
 FileterDemo2: 
import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import sun.awt.windows.ThemeReader;


public class FileterDemo2 implements Filter{

	public void destroy() {
		// TODO Auto-generated method stub
		System.out.println("过滤器2开始销毁...");
		try {
			Thread.sleep(3000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		System.out.println("过滤器2执行开始");
		if("1".equals(request.getAttribute("a"))){
			chain.doFilter(request, response);
		}
		System.out.println("过滤器2执行结束");
		request.setAttribute("a", "2");
	}

	public void init(FilterConfig filterConfig) throws ServletException {
		// TODO Auto-generated method stub
		System.out.println("过滤器2初始化...");
	}
	
}
 
<filter>
		<filter-name>f1</filter-name>
		<filter-class>FileterDemo1</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>f1</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<filter>
		<filter-name>f2</filter-name>
		<filter-class>FileterDemo2</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>f2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
 

 

8 监听器

 

 

在web.xml里面先配置  过滤器,其次是监听器,再次是简单servlet的配置

 

 

 
jsp标签的使用以及过滤器和监听器_第11张图片

<!--[if !supportLists]-->8.1 <!--[endif]-->对于application的监听:


jsp标签的使用以及过滤器和监听器_第12张图片
 8.1.1 对application上下文的监听


jsp标签的使用以及过滤器和监听器_第13张图片
 配置web.xml文件:


jsp标签的使用以及过滤器和监听器_第14张图片
 
8.1.2 application属性的监听


jsp标签的使用以及过滤器和监听器_第15张图片
 

<!--[if !supportLists]-->8.2 <!--[endif]-->对于session的监听


jsp标签的使用以及过滤器和监听器_第16张图片

前两个接口都和application监听类似的。但是第三个HttpsessionBindingListener这个有点特殊。看截图: 


jsp标签的使用以及过滤器和监听器_第17张图片
 
Jsp页面直接触发监听:

 

增加属性监听:


jsp标签的使用以及过滤器和监听器_第18张图片
 
移除属性监听:


jsp标签的使用以及过滤器和监听器_第19张图片
 

<!--[if !supportLists]-->8.3 <!--[endif]-->对于request的监听


jsp标签的使用以及过滤器和监听器_第20张图片
 

 

 

 

你可能感兴趣的:(jsp标签的使用以及过滤器和监听器)