您的位置:首页 > 其它

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

2015-05-15 16:46 537 查看
Web应用需要遵循哪些规范

 
 

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

 
 

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

 
 

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

 
 

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

 
 

过滤器的作用

 
 

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

 
 

过滤器的工作原理

 
 

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

 
 

过滤器编写

 
 

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

 
 

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

 
 

过滤器配置

 
 

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

 
 

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

 
 

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

 
 

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,也包含两个方法,ContextInitialized和Destroyed方法

 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: