天天看点

java学习阶段小结(中级)

1 html   ==>  iframe   form(action , method(get/post)  , enctype)   frameset  (***)

2 css    ==>  #id  .class   input    (包含选择)  (***)

3 javascript : (*****)

javascript分三部分:ecmascript BOM  DOM

javascript解析顺序 (从上到下顺序解析)

javascript(基本语法:变量\数据类型(String Number Boolean Object Undefined Function)(typeof instanceOf construcor) 语句 for while  [try catch])

函数:3种方式: function语句 函数直接量(new function)  构造函数(Function) (区别 解析顺序、作用域)

      arguments(1接受函数的实际参数 2调用自己的用于递归)

      call apply (绑定作用域)

    this(总是指向当前函数的调用者)

      执行环境、作用域链、闭包

引用类型:Object(Array/Date/...)

      for(var attr in obj)    //枚举对象

      delete user.id  //删除对象的属性

面向对象:学会写一个简单的类(Person)   Map(模拟)  去掉数组的重复项(js对象特性 天然的hashmap)

prototype 原型:1 实例共享   2:扩展对象的属性和方法  

继承:1原型继承Sub.prototype = new SubInstance();

       2模板继承利用call绑定当前父类(函数)

       3混合继承(原型+混合)

bom: window的常用方法和属性(open opener showModalDialog dialogArguments retrunValue)  setTimeout/setInterval

dom: 加载过程: 解析html 然后顺序执行  节点的概念(node:元素节点 属性节点 文本节点)节点都有三个属性(nodeType nodeName nodeValue)

       直接引用:  getElementById getElementsByName getElementsByTagName

       间接引用:  childNodes parentNode firstChild... nextSibling...

       操作节点:  appendChild removeChild insertBefore ....

表单(正则) (*****)

4: XML(**) 了解XML(组织数据、之前[数据交互]/现在[框架的配置文件]) XML解析(jdom/dom4j)   (DTD)

5: http:客户端发送一次请求 服务器作出一次响应(自己要会看请求和响应的信息[firebug])

6: servlet(所有的知识点都非常重要) (******)

   创建一个web project的时候 一定注意的问题: 1 字符集  2 项目的改名字

   servlet就是一个普通的java类 实现了特殊的接口(extends HttpServlet) 重新2个方法(doGet/doPost) 配置xml

   tomcat: bin conf(server.xml(配置tomcat服务器) web.xml(针对于项目的)) lib  temp logs   webapps(咱们的项目都发布到这里)   work

   servlet mapping : 一个servlet 可以对应多个mapping(/aa/bb   /aa/*  *.do)

   servlet生命周期: (服务器启动的时候解析你项目里的web.xml) 第一次访问servlet的url的时候初始化了 init destroy ... 单例两种简单的模式

   如果想启动时加载servlet   loadonstarup   init-param (...)

   request / response / servletConfig / servletContext

   session  cookie (两周之内自动登录)

7: jsp:(*****) 九大内置对象

    request/response/config/page/pageContext/session/application/exception/out

   jstl(if choose forEach) el(*****)

8: ajax...(*****)(new XMLHttpRequest(); ==> open(method,url,async) ==> 回调函数(onreadystatechange[request.readyState==4 status==200]) )  send(null);

9: jquey (****)

自己补充的:

1.el表达式,必须以“$”和“{”开头,以“}”结尾;

2.el存取数据的方法很简单,例如${username}意为取出某一范围内名称为username的变量,查找顺序为pageScope,requestScope,sessionScope,applicationScope

3.js中判断数据类型是用typeof,java中是用instanceof。当然js中也可以使用instanceof,但不常用。

4.js中函数有三种形式,

function test1(){  

    alert('第一种形式:function语句形式');  

};  

var test2 = function(){  

    alert("第二种形式,函数直接量形式,表达式");  

};  

var test3 = new Function("x","y","return x+y");  

    alert(test3(2,3));  

//这是构造函数的形式,创建一个function类的实例对象  

解析顺序是function语句最先,即第一种function方法。而作用域则是构造函数Function为顶级作用域。

5.prototype作用:①实力共享②扩展对象的属性和方法③继承

6.js中数组的定义

var a = [];
var b = new Array();
           

7.js中eval()是用来执行字符串的。如alert(eval("2+2"));

8.json里边不仅可以定义属性,还可以定义方法。如:

var user = {uname:"哈哈",pwd:"123",sleep:function(){
	alert("我要睡了");
}}
           

想调用时可以这么用user.sleep();

9.对于节点中表单的操作,单选按钮和复选框的操作,一般采用遍历,因为单选按钮和复选框都是一个组。

10.对于dom表单验证这块,可以

①在提交按钮这儿添加事件

<input type="submit" value="提交" οnclick="return check(this.form)">
           

当返回true的时候就提交,false就不提交。

②在表单添加事件

<from οnsubmit="return check(this)">
           

11.在servlet中,处理复选框内容可以用getParameterValues()

setContentType("text/html;charset=utf-8");//中间为分号,不是逗号
           

request.setCharacterEncoding设置请求实体的编码,只对post有效,对get无效。要让对get方式提交的数据也有效,可以改动tomcat配置文件server.xml,对connection元素增加一个属性:useBodyEncodingForURL="true",用这些来解决中文乱码问题。

12.将所有servlet放入一个容器统一管理,servletContext

请求转发:

request.getRequestDispatcher("1.jsp").forward(request,response);//两个请求
           

重定向:

response.sendRedirect("2.jsp");//1个请求
           

13.保存以前操作的状态

客户端保存cookie,服务器端保存session

①客户端保存cookie流程

a)服务器端写代码:

Cookie ck = new Cookie("a","hello");//设置cookie的name为a,value为hello,类似于键值对
response.addCookie(ck);//给浏览器添加cookie
           

b)响应头中就会有一个Cookie:a=hello

c)浏览器收到后,先放到内存中。如果cookie设置了有效期,则会写到硬盘的文件中。

d)浏览器以后访问服务器时,就会自动携带(在请求头中携带)有效的cookie信息

②服务器端如何保存信息(session的跟踪机制)

a)服务器会new一个session对象,同时给这个session对象指定一个id

b)通过响应头设置sessionId

c)浏览器收到sessionId这个信息,下次访问一定会携带sessionId

d)服务器收到sessionId后,根据sessionId找到对应的session对象。然后,就可以查看对象里边的内容。从而确定我们之前进行了什么操作,即实现了状态的保存。

14.servlet生命周期

①加载

分两个时机1.第一次请求的时候,以后请求就不再加载;2.如果配置了<load-on-startup>,则在启动时加载

②初始化

调用init

③调用

先调用srvice,再用service调用doGet/doPost

④销毁

调用destroy