Java面试题之JavaWeb高级
一、Filter和Listener
Filter:从J2EE1.3开始,Servlet2.3规范中加入对Filter的支持。Filter就称之为过滤器,它是Servlet技术中最激动人心的技术WEB开发人员通过Filter技术可以对web服务器管理的所有web资源,Jsp,Servlet,静态图片文件或静态HTML文件等进行拦 截,从而实现一些特殊的功能,例如实现URL级别的权限访问控制,过滤敏感词汇,压缩响应信息等一些高级功能, SerlvetAPI提供了一个Filter接口,实现这个接口的Servlet就是一个过滤器
过滤器案例:
第一步:编写过滤器类(实现Filter接口,并重写方法)
第二步:修改web.xml(指定过滤的资源)
第三步:编译和部署过滤器
Filter的方法介绍1.Filter的init(FilterConfig filterConfig)方法:与Servle的Init方法一样,在创建时被调用,之后被保存在内存中直至服务器重启或关闭时Filter实例会被销毁,与Servlet不同之处处于,服务器启动时就会实例化所有Filter,而Servlet中有用户第一次访问它时才会被实例化,我们通过web.xml使用对Filter
配置的初始化参数,可以通过FilterConfig来取得
FilterConfig的方法有
String getFilterName();得到filter的名称
String getInitParameter(String name);返回在部署描述中指定名称的初始化参数的值,
public ServletContext getServletContext();返回Servlet上下文对象的引用
结论
用户的访问需要根据web.xml过滤器的顺序经过过滤器1过滤器然后再经过过滤器2过滤
doFilter中有一个FilterChain参数,这个参数是服务器根据web.xml中配置的过滤器。按照先后
顺序生成过滤器链,当我们在doFilter方法中调用chain.doFilter(request,response);方法
时,服务器会查询过滤链中是否有过滤器,如果有继续调用下一个Filter,如果没将调用相应的
Servlet处理用户请求
什么是监听器
Listener是servlet的监听器,他可以监听客户端的请求。服务端的操作。通过监听器,可以
制定激发一些操作,比如:监听在线用户数量(这个我有个用户登录在线人数的案例,需要可以发邮件,867833821@qq.com)
Servlet 监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前,发生后可以做一些
必要的处理,
1.ServletContextListener:用于监听WEB应用启动和销毁事件,监听器类需要实现
javax.servlet.ServletContextListener接口
2。ServletContextAttributeListener:用于监听WEB应用属性改变的事件,包括:增加属性。删除属性
修改属性,监听器类需要实现javax.servlet.ServletContextAttributeListener接口
3.HttpSessionListener:用于监听Session 对象的创建和销毁,监听器类需要实现
javax.servlet.http.HttpSessionListener 接口或者javax.servlet.http.HttpSessionActivationListener接口
或者两个都实现
4.HttpSessionActivationListener:用于监听Session对象的钝化/活化事件,监听器类需要实现
javax.servlet.http.HttpSessionListener接口或者javax.servlet.http.http.HttpSessionActivationListener接口
或者两个都实现
5.HttpSessionAttributeListener:用于监听Session对象属性的改变事件,监听器类需要实现
javax.servlet.http.HttpSessionAttributeListener接口
二、AJAX,
1、谈谈你对ajax的认识?
Ajax是一种创建交互式网页应用额网页开发技术,
Ajax的优势
通过异步模式,提升用户体验
优化了浏览器和服务器之间的传输,减少不必要数据往返,减少了带宽的占用
Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少大用户下的服务器负载
Ajax的最大特点:
可也实现局部刷新,在不更新整个页面的前提下维护数据,提升用户体验度,
注意:
ajax在实际项目开发中使用率非常高(牢固掌握),
三、Linux
1、说一下常用的Linux的命令
列出文件列表 ls
创建目录和移除目录 mkdir rmdir
用于显示文件后机房内容 tail
打包 tar -xvf
打包并压缩 tar -zcvf
查找字符串:grep
显示当前所在目录 :pwd
创建空文件: touch
编辑器:vim vi
还有一下linux的知识本人没有涉猎,
四、常见的前端框架
1、EasyUI
2.MinuUI
3.jQuery UI
4.Vue.js