基础知识:Web开发相关技术

Web应用需要遵循哪些规范

   

主要包括目录结构,文件存放方式等方面的规范,比如Java Web程序的所有文件需要包含在一个文件夹中,这个文件夹就是我们的应用程序文件夹,在eclipse下就是建立一个工程的那个目录,应用程序文件夹下还需要包括一个WEB-INF文件夹,WEB-INF文件夹还需要包括Classes文件夹和lib文件夹,以及web.xml描述文件

   

第三方的jar文件需要放在WEB-INF文件夹下的lib文件夹下

   

web.xml文件里定义了应用程序可以访问的资源和这些资源的行为,包括Servlet、过滤器、监听器等

   

JSPHTML、图片、声音等这些文件需要放在与WEB-INF同级的目录中,因为WEB-INF文件夹对于客户端是不可见的

   

过滤器的作用

   

web容器收到一个对某个资源的请求时,web容器会判断是否有过滤器与该信息资源关联,如果有的话,会把请求一一的交给这些过滤器处理,然后再交给目标资源,同样,响应的时候就会以相反的顺序交给过滤器处理,然后再返回给浏览器

   

过滤器的工作原理

   

过滤器也像Servlet一样需要编写和配置

   

过滤器编写

   

过滤器需要实现javax.servlet.Filter接口,该接口的doFilter方法就是过滤器的核心代码区,类似于Servlet的service方法,doFilter方法的参数列表中有一个FilterChain接口的实现对象,在doFilter的核心代码区中可以调用FilterChain对象引用chain的doFilter方法,注意这是两个doFilter方法。

   

在调用chaindoFilter方法之前的代码会在资源到达之前执行,在调用chaindoFilter方法之后的代码会在资源到达之后执行

   

过滤器配置

   

同样是<filter>标签和<filter-mapping>标签,<filter>标签中有<filter-name><filter-class><filter-mapping>中有<filter-name><url-pattern>,这样凡是在<url-pattern>中匹配的资源请求都会经过该过滤器

   

web应用程序各类的范围模型

   

Request代表HTTP请求,它的生命周期从请求开始到请求结束为止,中间可以穿插多个信息资源,比如过滤器、ServletJSP

   

Session代表会话,也可以认为代表了一个用户,一次会话过程中可以包含多个请求,而一般一个用户对应一个会话,所以会话中也经常保存用户的数据

   

Application代表一个web应用,它的生命周期从web容器启动开始,以web容器停止结束,一般用于存放应用标题或者其他外部资源连接器等

   

web应用程序中的监听器

   

web应用程序的监听器是针对web生命周期的3种事件进行监听

   

针对request事件的监听器,需要实现java.servlet.ServletRequestListener接口,它有两个方法requestInitialized和requestDestroyed方法,分别是请求初始化的代码以及请求销毁时的代码

   

针对session事件的监听器,需要实现java.servlet.http.HttpSessionListener接口,也是有两个方法,sessionCreate以及SessionDestroyed方法

   

   

针对Application事件的监听器,需要实现java.servlet.ServletContextListener,也包含两个方法,ContextInitializedDestroyed方法

   

posted @ 2015-05-15 16:46  keedor  阅读(466)  评论(0编辑  收藏  举报