web html介绍笔记,JavaWeb16-HTML篇笔记(一)

JavaWeb16-HTML篇笔记(一)

原创

我是小谷粒2018-06-04 15:46:27著作权

©著作权归作者所有:来自51CTO博客作者我是小谷粒的原创作品,如需转载,请注明出处,否则将追究法律责任

https://blog.51cto.com/u_13517854/2124612

```

1.1 上次课内容回顾:

AJAX:

* AJAX:异步的JavaScript And XML.

* XMLHttpRequest:

* 属性:

* onreadystatechange :当对象的状态改变的时候会触发.

* readyState :记录的是对象的状态.

* status :状态码.

* responseText :响应文本.

* responseXML :响应的XML.

* 方法:

* open(“请求方式”,”请求路径”,true);

* send(“请求参数”);

* setRequestHeader(“头名称”,”头的值”);

JQuery中的AJAX:

* load();

* get();

* post();

* ajax();

* $.ajax({

url:,

data:,

success:function(){

}

});

* AJAX中的数据的格式:

* 文本,HTML代码,XML,JSON.

```

1.2 监听器:Listener1.2.1 监听器的概述:1.2.1.1 什么是监听器:

* 监听器:就是一个Java类,用来监听其他的Java的状态的变化.

1.2.1.2 监听器的用途:

* 用来监听其他的对象的变化的.

* 主要应用在图形化界面中比较多:

* GUI,Android.

1.2.1.3 监听器的术语:

* 事件源:指的是被监听的对象.(汽车)

* 监听器:值的是监听的对象.(报警器)

* 事件源与监听器的绑定:就是在汽车上安装报警器.

* 事件:指的是事件源的改变.(踹汽车一脚)---主要的功能获得事件源对象.

1.2.2 WEB中的监听器的概述:1.2.2.1 WEB中的监听器:

WEB中的Listener和Filter是属于Servlet规范中的高级的技术.

WEB中的监听器共有三类八种(监听三个域对象)

* 事件源:Servlet中的三个域对象.ServletContext,HttpSession,ServletRequest.

* 监听器:自定义类实现8个接口.

* 事件源和监听器的绑定:配置.

1.2.2.2 WEB中的监听器的分类:

三类八种:

* 一类:监听三个域对象的创建和销毁的监听器:

* ServletContextListener

* HttpSessionListener

* ServletRequestListener

* 二类:监听三个域对象的属性变更的监听器(属性添加,移除,替换):

* ServletContextAttributeListener

* HttpSessionAttributeListener

* ServletRequestAttributeListener

* 三类:监听HttpSession中的JavaBean的状态改变(绑定,解除绑定,钝化,活化)

* HttpSessionBindingListener

* HttpSessionActivationListener

1.2.2.3 WEB中的监听器的使用:

编写一个类实现监听器的接口:

通过配置文件配置监听器:

1.2.3 一类:监听三个域对象的创建和销毁的监听器:1.2.3.1 ServletContextListener:监听ServletContext对象的创建和销毁:

【方法】:

![](https://s4.51cto.com/images/blog/201806/04/9e8e62990ba1d866c4aec30d6a64e604.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

【ServletContext对象的创建和销毁】:

* 创建:服务器启动的时候,服务器为每个WEB应用创建一个属于该web项目的对象ServletContext.

* 销毁:服务器关闭或者项目从服务器中移除的时候.

【应用代码】

public class MyServletContextListener implements ServletContextListener{

@Override

public void contextInitialized(ServletContextEvent sce) {

System.out.println("ServletContext对象被创建了...");

}

@Override

public void contextDestroyed(ServletContextEvent sce) {

System.out.println("ServletContext对象被销毁了...");

}

}

配置:

com.itheima.weblistener.MyServletContextListener

【企业中的应用:】

* 1.加载框架的配置文件 :Spring框架 ContextLoaderListener

* 2.定时任务调度:

* Timer,TimerTask

1.2.3.2 HttpSessionListener:监听HttpSession的创建和销毁的监听器:

【方法】

![](https://s4.51cto.com/images/blog/201806/04/d23112f6fa53caa37a80384eba40e007.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

【HttpSession何时创建和销毁的】

* 创建:服务器端第一次调用getSession();

* 销毁:

* 非正常关闭服务器(正常关闭session会序列化):

* session过期了默认30分钟.

* 手动调用session.invalidate();

【HttpSession的问题】

* 访问Servlet会不会创建Session : 不会

* 访问JSP会不会创建Session :会.

* 访问html会不会创建Session :不会

【应用的代码】

```

public class MyHttpSessionListener implements HttpSessionListener{

@Override

public void sessionCreated(HttpSessionEvent se) {

System.out.println("HttpSession被创建了...");

}

@Override

public void sessionDestroyed(HttpSessionEvent se) {

System.out.println("HttpSession被销毁了...");

}

}

配置:

com.itheima.weblistener.MyHttpSessionListener

```

1.2.3.3 ServletRequestListener:监听ServletRequest对象的创建和销毁的监听器:

【方法】:

![](https://s4.51cto.com/images/blog/201806/04/6128466a893ab1b25f51f228f211bece.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

【request对象何时创建和销毁】:

* 创建:客户端向服务器发送一次请求,服务器就会创建request对象.

* 销毁:服务器对这次请求作出响应后就会销毁request对象.

【问题】:

访问一个Servlet会不会创建request对象:会

访问一个JSP会不会创建request对象:会

访问一个HTML会不会创建request对象:会

【应用的代码】

```

public class MyServletRequestListener implements ServletRequestListener{

@Override

public void requestDestroyed(ServletRequestEvent sre) {

System.out.println("ServletRequest被销毁了...");

}

@Override

public void requestInitialized(ServletRequestEvent sre) {

System.out.println("ServletRequest被创建了...");

}

}

配置:

```

com.itheima.weblistener.MyServletRequestListener

1.2.4 二类:监听三个域对象的属性变更的监听器:(属性添加,移除,替换)1.2.4.1 ServletContextAttributeListener:监听ServletContext对象的属性变更:

![](https://s4.51cto.com/images/blog/201806/04/54e1525cdbe8e20d8d2a086c7ff7a4b3.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

1.2.4.2 HttpSessionAttributeListener:监听HttpSession中的属性变更:

![](https://s4.51cto.com/images/blog/201806/04/f047f07979dbe8462d9f1f1b41351fb1.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

1.2.4.3 ServletRequestAttributeListener:监听ServletRequest对象的属性变更的:

![](https://s4.51cto.com/images/blog/201806/04/db03791e413ff6b4ecb13863bdb7c93b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

1.2.5 三类:监听HttpSession中的JavaBean的对象的状态改变的监听器

第三类监听器很特殊,不需要进行配置的.作用在JavaBean上的监听器.JavaBean可以自己感知到在Session中的状态.

1.2.5.1 HttpSessionBindingListener:监听HttpSession中的JavaBean的绑定和解除绑定的

![](https://s4.51cto.com/images/blog/201806/04/26f2dd989b49a99784337f151989e980.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

1.2.5.2 HttpSessionActivationListener:监听HttpSession中的JavaBean的钝化和活化的.

![](https://s4.51cto.com/images/blog/201806/04/c273e0107047c980638c5ee67173f4f6.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

```

* sessionDidActivate(); :--活化(反序列化)

* sessionWillPassivate(); :--钝化(序列化到硬盘)

***** 优化Session:

* 通过配置标签配置定时session序列化.

* 在tomcat/conf/context.xml中配置:在tomcat中所有的虚拟主机和虚拟路径都会按照这个配置执行.

* 在tomcat/conf/Catalina/localhost/context.xml配置:在tomcat中的localhost虚拟主机中的所有虚拟路径按照这个配置执行.

* 在当前的工程下的META-INF/context.xml配置:当前这个工程按照配置执行.

```

0收藏

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值