栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

第八章 Servlet高级

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第八章 Servlet高级

第八章 Servlet高级

Servlet生命周期就是servlet从创建到销毁的过程,包括加载和实例化,初始化,服务,和销毁4步。
   当客户第一次请求时,首先判断是否存在servlet对象,第一次请求时不存在,则由tomcat创建对象,调用init()方法对其初始化,用service()方法判断是post请求还是get请求,调用对应的方法返回给客户。
   当客户第二次请求时,还是判断是否存在servlet对象,由于之前已经创建过对象,所以直接到service()方法判断提交方式,调用对应的方法返回给客户端,
   当tomcat关闭时,调用destory()方法销毁对象。
   1.加载web.xml文件


	
	
		first
		com.etime.servlet.FirstServlet
	
	
	
	
	
	
		first
		/hello
	

2.创建构造函数

	public FirstServlet() {
		System.out.println("正在创建servlet对象");
	}

3.调用init方法——通过init方法初始化servlet

	@Override
	public void init(ServletConfig config) throws ServletException {
		System.out.println("正在初始化servlet对象");
	}

4.访问URL需要servlet提供服务,执行servlet方法

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//请求发来的参数
		String name = request.getParameter("name");
		//从前台发来的参数放在这个字符串里
		String html = "

hello!"+name+"!
"; System.out.println("返回浏览器的响应数据为:"+html);//这一步是为了更明了的显示运行步骤 //服务器向浏览器返回的输出流 PrintWriter out = response.getWriter(); //通过out对象将html发送回浏览器 out.println(html);

5.销毁方法

	@Override
	public void destroy() { 
		System.out.println("正在销毁servlet对象");
	}

Filter 过滤器

1.filter的简介
filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目 标资源访问前后进行逻辑处理

2.Filter的API详解
(1)filter生命周期及其与生命周期相关的方法
Filter接口有三个方法,并且这个三个都是与Filter的生命相关的方法

        init(Filterconfig):代表filter对象初始化方法 filter对象创建时执行

        doFilter(ServletRequest,ServletResponse,FilterChain):代表filter执行过滤的核心方法,如果某资源在已经被配置到这个filter进行过滤的话,那么每次访问这个资源都会执行doFilter方法

        destory():代表是filter销毁方法 当filter对象销毁时执行该方法

   Filter对象的生命周期:

        Filter何时创建:服务器启动时就创建该filter对象

        Filter何时销毁:服务器关闭时filter销毁

Listener(监听器)的作用和内部机制
作用:监听某个事件的发生,状态的改变
内部机制:接口回调

监听ServletContext域对象的创建与销毁:实现ServletContextListener接口。
ServletContext域对象的生命周期

		@WebListener
		public class MyServletContextListener implements ServletContextListener{
		
			@Override
			public void contextInitialized(ServletContextEvent arg0) {
				System.out.println("初始化");
			}
			@Override
			public void contextDestroyed(ServletContextEvent arg0) {
				System.out.println("销毁了");
			}
		
		}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/696821.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号