笔记随写002

1、JavaScript SetInterval与setTimeout

      setTimeout(function() {getVerifyCode(term);}, 1000);

      setTimeout和setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。不过这两个函数还是有区别的,setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码。 当使用函数名作为调用句柄时,不能带有任何参数。

       区别:window.setTimeout("function",time);//设置一个超时对象,只执行一次,无周期 

                  window.setInterval("function",time);//设置一个超时对象,周期='交互时间'

       停止:window.clearTimeout(对象) 清除已设置的setTimeout对象

                  window.clearInterval(对象) 清除已设置的setInterval对象

       例如:function hello(){   alert("hello"); }

                  var id=window.setTimeout(hello,5000);

                  document.onclick=function(){ window.clearTimeout(id);}     

2、forward 和redirect的区别

      1.从地址栏显示来说

      forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.

      redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.

       2.从数据共享来说

       forward:转发页面和转发到的页面可以共享request里面的数据.

       redirect:不能共享数据.

       3.从运用地方来说

       forward:一般用于用户登陆的时候,根据角色转发到相应的模块.

       redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.

       4.从效率来说

       forward:高.

       redirect:低.

       在Servlet中两种实现: 

       forward方式:request.getRequestDispatcher("/somePage.jsp").forward(request, response);

       redirect方式:response.sendRedirect("/somePage.jsp");

       forward是服务器内部重定向,程序收到请求后重新定向到另一个程序,客户机并不知道;redirect则是服务器收到请求后发送一个状态头给客 户,客户将再请求一次,这里多了两次网络通信的来往。当然forward也有缺点,就是forward的页面的路径如果是相对路径就会有些问题了。

       forward 会将 request state , bean 等等信息带往下一个 jsp redirect 是送到 client 端后再一次 request , 所以资料不被保留.使用 forward 你就可以用 getAttribute() 来取的前一个 jsp 所放入的 bean 等等资料

       在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用 HttpServletResponse.sendRequest()方法。

       forward与include基本上都是转发到context内部的资源,而redirect可以重定向到外部的资源,如: req.sendRedriect("http://www.mocuai.com");

        总结:

        A.Redirect等于客户端向服务器发出两次request,同时也接受到两次response,Forward却只是一次request一次response,相比之下,Forward性能更高。

        B.Forward能够存储request Scope的Attribute而Redirect却不行。

        C.Forward的同时URL并不会变。

        D.Forward需要在Servlet中需要通过一个Dispatcher来实现。

        E.Redirect能够防止某些情况下客户端Refresh造成的一些未知后果(例如连续删除)

3、计算 calculate   cmd里输入calc打开计算器

4、cookie 和session 的区别:

      1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

      2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。

      3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE。

      4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

      5、所以个人建议:将登陆信息等重要信息存放为SESSION,其他信息如果需要保留,可以放在COOKIE中。

       cookie 和session 的联系:session是通过cookie来工作的.

       但cookie可以被人为的禁止,则必须有其他机制以便在cookie被禁止时,仍然能够把session id传递回服务器。,经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL路径的后面。还有一种技术叫做表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器。

猜你喜欢

转载自526245263.iteye.com/blog/2287416