JSP面试问题记录.doc_第1页
JSP面试问题记录.doc_第2页
JSP面试问题记录.doc_第3页
JSP面试问题记录.doc_第4页
JSP面试问题记录.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Filter:/* * SignonFilter类,对于请求进行登录验证,如果登录成功,则允许访问资源,否则进行拦截 * 登录过的用户session中的isLogin应设置为字符串true; */package com.jsp.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class SignonFilter implements FilterString LOGIN_PAGE=index.jsp;protected FilterConfig filterConfig;public void doFilter(final ServletRequest req,ServletResponse res,FilterChain chain)throws IOException,ServletException/ TODO Auto-generated method stubHttpServletRequest hreq=(HttpServletRequest)req;HttpServletResponse hres=(HttpServletResponse)res;HttpSession session=hreq.getSession();String isLogin=;tryisLogin=(String)session.getAttribute(isLogin);/if(isLogin.equals(true)if(true.equals(isLogin)System.out.println(在SignonFilter中验证通过);chain.doFilter(req, res);elsehres.sendRedirect(LOGIN_PAGE);System.out.println(被Signon拦截一个请求);catch(Exception e)e.printStackTrace();public void setFilterConfig(final FilterConfig filterConfig)this.filterConfig=filterConfig;public void init(FilterConfig arg0) throws ServletException / TODO Auto-generated method stubthis.filterConfig=arg0;public void destroy() / TODO Auto-generated method stubthis.filterConfig=null;/* * EncodingFilter类,对于请求进行编码过滤 */package com.jsp.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;public class EncodingFilter implements Filterprotected FilterConfig filterConfig;protected String targetEncoding=gb2312;public void doFilter(final ServletRequest req,final ServletResponse res,FilterChain chain)throws IOException,ServletExceptionSystem.out.println(使用以下方法对请求进行编码:encoding=+targetEncoding);HttpServletRequest request=(HttpServletRequest)req;request.setCharacterEncoding(targetEncoding);/把处理权发送到下一个chain.doFilter(req,res);/* * 和一般Servlet一样,可以获得初始参数 */public void init(FilterConfig config)this.filterConfig=config;this.targetEncoding=config.getInitParameter(encoding);public void setFilterConfig(final FilterConfig filterConfig)this.filterConfig=filterConfig;public void destroy()this.filterConfig=null;对应web.xml 配置 index.jsp encoding com.jsp.filter.EncodingFilter encoding gb2312 auth com.jsp.filter.SignonFilter encoding /* auth /display.jsp auth /display1.jsp 刷新:window.location.Reload()应该是刷新.(如果有数据提交的话,会提示是否提交的(是和否选项)window.location.href=window.location.href;是定向url提交数据是大的区别还是是否提交数据了重定向:只有字符键触发keypress事件。event.keyCode a-z 分别为97-122 A-Z分别为65-90 空格为32 回车为13回格、delete件和光标键等操作键不触发keypressKeyup事件基本所有键都触发,并且大小写字母event.keyCode相同,为65-90.回车为13,del为46,回格(backspace)为8,空格为32HTTP 返回状态: 常见Http Header返回状态详解 收藏 常见Http Header返回状态详解:当用户点击或搜索引擎向网站服务器发出浏览请求时,服务器将返回Http Header Http头信息状态码,常见几种如下:1、Http/1.1 200 OK 访问正常 表示成功访问,为网站可正常访问时的状态。2、Http/1.1 301 Moved Permanently 永久重定向 对搜索引擎相对友好的跳转方式,当网站更换域名时可将原域名作301永久重定向到新域名,原域名权重可传递到新域名,也常有将不含www的域名301跳转到含www的,如通过301跳转到 3、Http/1.1 302 Found 为临时重定向 易被搜索引擎判为作弊,比如asp程序的response.Redirect()跳转、js跳转或静态http跳转。4、Http/1.1 400 Bad Request 域名绑定错误 一般是服务器上域名未绑定成功,未备案等情况。5、Http/1.1 403 Forbidden 没有权限访问此站 你的IP被列入黑名单,连接的用户过多,可以过后再试,网站域名解析到了空间,但空间未绑定此域名等情况。6、Http/1.1 404 Not Found 文件或目录不存在 表示请求文件、目录不存在或删除,设置404错误页时需确保返回值为404。常有因为404错误页设置不当导致不存在的网页返回的不是404而导致搜索引擎降权。7、Http/1.1 500 Internal Server Error 程序或服务器错误 表示服务器内部程序错误,出现这样的提示一般是程序页面中出现错误,如小的语法错误,数据连接故障等。Http状态码一览表所谓的404页就是服务器404重定向状态返回页面。数字404指的是404号状态码。一般常用到的有200号状态码和404号状态码。200号表示网页被下载成功,而404号表示不能成功下载并产生错误。下面是HTTP状态码一览表。1xx:请求收到,继续处理2xx:操作成功收到,分析、接受3xx:完成此请求必须进一步处理4xx:请求包含一个错误语法或不能完成5xx:服务器执行一个完全有效请求失败100客户必须继续发出请求101客户要求服务器根据请求转换HTTP协议版本200交易成功201提示知道新文件的URL202接受和处理、但处理未完成203返回信息不确定或不完整204请求收到,但返回信息为空205服务器完成了请求,用户代理必须复位当前已经浏览过的文件206服务器已经完成了部分用户的GET请求300请求的资源可在多处得到301删除请求数据302在其他地址发现了请求数据303建议客户访问其他URL或访问方式304客户端已经执行了GET,但文件未变化305请求的资源必须从服务器指定的地址得到306前一版本HTTP中使用的代码,现行版本中不再使用307申明请求的资源临时性删除400错误请求,如语法错误401请求授权失败402保留有效ChargeTo头响应403请求不允许404没有发现文件、查询或URl405用户在Request-Line字段定义的方法不允许406根据用户发送的Accept拖,请求资源不可访问407类似401,用户必须首先在代理服务器上得到授权408客户端没有在用户指定的饿时间内完成请求409对当前资源状态,请求不能完成410服务器上不再有此资源且无进一步的参考地址411服务器拒绝用户定义的Content-Length属性请求412一个或多个请求头字段在当前请求中错误413请求的资源大于服务器允许的大小414请求的资源URL长于服务器允许的长度415请求资源不支持请求项目格式416请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段417服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求500服务器产生内部错误501服务器不支持请求的函数502服务器暂时不可用,有时是为了防止发生系统过载503服务器过载或暂停维修504关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长505服务器不支持或拒绝支请求头中指定的HTTP版本本文来自CSDN博客,转载请标明出处:/broze/archive/2010/10/29/5973419.aspx2、以下代码执行test()和new test()的结果各是什么var a = 0; function test() a = 5; alert(a); alert(this.a); var a; alert(a); 5 0 5, 5 undifined 5A. 的意义主要考的是js面向对象的知识在本文中讲开始正式讨论Javascript的Prototype。对于Javascript的初学者来说,Prototype是个蛮高深的话题,其实并不尽然。我说不尽然,意思是说理解Prototype的一般用法很简单。但是真正能做到融会贯通理解Prototype确实是件很难的事情。今天我就从Prototype的基本开始讲。上文中我讲了原型模式。其实在Javascript中原型也是这个意思。Javascript中对象的原型属性的解释是:返回对象类型原型的引用。这是一个晕人的解释。其实就是指定了一个需要复制的对象。文字再多也不如代码,上代码,说最简单的,任何类都继承自Object类:function A()A.prototype=new Object();其实这样就相当于Object对象是A的一个原型,这样就相当于了把Object对象的属性和方法复制到了A上,和原型模式的精髓一样吧!好,大概了解了prototype的基本用法,我们来看看原型究竟有什么用处。最简单的用法,动态扩展类的方法和属性。function People()this.Jump=function()alert(I can jump);现在要扩充方法:Ptotype.Run=function()alert(I can run,too);好,测试下:var p=new People();p.Jump();p.Run();接下来,顺带讲一下Javascript的方法种类。我个人将Javascript的方法分为三种:类方法对象方法原型方法先看代码,后讲区别:function People(name)=name;/对象方法this.Introduce=function()alert(My name is +);/类方法People.Run=function()alert(I can run);/原型方法Ptotype.IntroduceChinese=function()alert(我的名字是+);测试下:var p1=new People(Windking);p1.Introduce();People.Run();p1.IntroduceChinese();总结下:名称位置格式类方法类外类名.方法名对象方法类内this.方法名原型方法类外类名.prototype.方法名我们用C#来做类别来讲解这三个方法:类方法其实就是我们讲的静态方法:如public static void Run()而对象方法其实就是实例方法。public void Introduce()而原型方法有所不同,由于C#中不允许动态为对象增加方法,因此在C#中并不存在原型方法。原型方法处于C#的静态方法与实例方法之间,通过对象调用,但是存储的内存形式却类似于静态方法,也就是所有实例对象共享同一副本。(ps:尽量将方法定义为原型方法,原型方法避免了每次调用构造函数时对属性或方法的构造,因此比较节省空间和时间)p1.IntroduceChinese();创建对象。还记得我在上一篇文章里讲的浅复制么?为什么大家都喜欢批量生产?效率是最主要因素。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论