java中级理论资料整理复习

来源:互联网 发布:linux系统网络配置文件 编辑:程序博客网 时间:2024/05/18 02:53

C/S框架(客户机和服务器

Socketservletawtswing。做一个客户端软件。

建好servlet连接后。通过IO流来交换数据,数据格式有各个开发者确定。Nameddd   unnameaaaa

B/S框架(浏览器和服务器)

浏览器也是客户端软件。

http 定义了浏览器和服务器通讯的基本规则之一。

浏览器和服务器之间的交互

1.交互模式是:请求。响应

2.客户端先发出请求,服务器根据请求内容再发送响应内容。

客户端发出请求的格式应该是怎么样的?

1.首先是服务器的端口、地址,资源地址。请求行

2.请求头。

3.请求实体。

注意:客户端向服务器传递参数,如果将参数放到请求行,是以get方式!如果将参数放到请求实体中,是以post方式!

服务器根据请求内容发送响应内容

1.响应内容怎么定义

a)状态行{(200请求成功)、(404未找到资源)、(500内部服务器 错误)}

b)响应头

c)响应实体

客户端收到响应内容之后,该如何显示这些内容?

1.首先是HTML诞生了 <b>显示的内容</b>  <font>你好!</font>

2.希望HTML元素可以动起来,这样就出现了javascript

3.我们希望有个技术可以精准的、更加漂亮的控制页面元素的显示, 于是就诞生了css

服务器根据请求内容发送响应内容

1.如何收到请求内容

a)建立监听,ServletSockets.accept()

b)启动一个线程(轻量级的进程),为请求的客户提供服务。

c)为了封装一个客户端的请求信息,于是定义一个对象: HttpServletRequest对象。

d)为了封装回送客户端的内容信息,于是定义了一个对象: HttpServletResponse对象。

2.根据请求内容调用相应的程序(servlet

a)我们通过web.xml中的uri servlet的关系,找到相应的servlet 程序。

b)于是我们定义了HttpServlet,并且增加了servletHttpServletRequest requestHttpServletResponse response方法。

c)将response对象中的信息转译成http协议的响应内容,再将这 些响应内容通过Socket返回到客户端。

为了统一处理上述的流程,就有了Tomcat服务器,我们也把服务器  叫做web容器,servlet容器。

怎么使我们的servlet程序更加规范,更加强大?

1.浏览器发送给服务器的请求内容。HttpServletRequest对象。

2.服务器回送给浏览器的响应内容。HttpServletResponse对象。

3.Servlet类读取web.xml中自己的信息配置。servletConfig

4.读取web.xml中公共信息<context-param>servletContext

5.将所有servlet放入一个容器中统一管理。servletConttext

6.保存以前操作的状态 :客户端保存Cooke,服务器保存Session

 

这时候我们发现servlet善于做好业务逻辑的处理,但是不善于做页面展示的代码处理,与是我们对servlet进行了处理,jsp诞生了。Jsp也是servlet,也是java。访问一个jsp也就执行了对应的java类。我们需要一个统一的转译程序,可以将jsp文件内容转译成java类代码,于是产生了jsp引擎(一般服务器都自带了这中功能)。

 

Ajax(异步模式,局部刷新效果)

通过增加XMLHttpRequest对象,使用 XHR 对象发送请求,获得数据后,首先传给XHR对象,再通过javascript代码操作dom模型,实现局部刷新效果。

 

 

HTML

超文本语言

非表单标签

1. B粗体 ,下划线,i斜体,del删除效果

2. A 超链接 hreftarge=_blank

3. Img 图片

4. Frameset(fram)框架集

5. table表格 th tr td  colspanrowspan

6. 列表标签 ullior

7. Embed 用来播放视频、MP3

8. Div虚拟矩形区域 ,span 

 

表单标签

1.<from></from>表单标签 ,action 表单提交的地址,mothod表单提 交的方式(getpost),name(命名的方式:regFrm)。

2.表单域(表单域中一定要有name属性,否则该表单域的值不会被 提交)

a).文本域(text单行文本域,password密码框,testarea多行文本 域)

b) radio单选按钮(组,name属性一致即为一组,每一组只能提    交一个值)

c).checkbox复选框(组,name属性一致即为一组,每一组可以提 交多个值)

d).selectoption下拉框(可以实现多选一,多选多)

e).file 文件域,实现文件的上传(method=postenctype=multipart/from-data”)

f). hidden 隐藏域(不需要用户输入,但是服务器又需要的值)

g).reset 重置

h).sumbit 提交按钮

i).butten 普通按钮(通常用来激活一个js函数)

 

 

CSS

1.如何引用css信息

a) 通过htnl元素的 style属性,class 属性

b) 通过<style>

c) 通过引用外部的css文件<link>

2.Css选择器

a) ID选择器 #myRed(color:red) <b id= myRed>红色</b>

b) CLASS 选择器 .myRed(color:red) <b class=myRed>红色</b>

c) 元素选择器 b{color:red; font-size:”2”} <b>zhang</b>

3. css属性

a).文本属性

b)定位属性(静态定位、绝对定位、相对定位、固定定位、z-index

c)列表属性

d)布局属性

e)边框属性

 

JAVASCRIPT

JS的基本属性

1.基本数据类型:undefinednullnumber,字符串、boolean object

2.变量的定义:var

3.控制语句

4.内置语句:eval(), escape(),unescape()区别?

5.常用的对象:DateStringMathRegExpArry

6.数组: var a= []; var b = new Arry();

7.对象的定义

8. json

var User = ( name : ‘zhangsan’ ,pwd:’123456’,sleep:function(){

   alter(“xxxxx”);

});

user sleep();

9.函数也是对象

10.继承是通过prototype属性来模拟。

String.prototype.trim = function(){

return this.replace(“(^\s+)||(\s+$)”,” ”)

}

 

 

DOM操作

1.如何获得节点

a)直接获得

. document.getElementById()

II. document.getElementByName()返回的是数组

      III. document.getElementByTagName()根据标签名字获取,返回 的是数组

b)间接获得

I . 通过父节点获取子节点

1)childNodes

2)firstChild,lastChild

II. 通过子节点获取父节点

parentNode

III. 兄弟节点

nextSiblingpreSibling

2.如何操作节点

a)判断节点类型:nodeType

b)节点的属性

c)节点的文本内容:innerHTML

3.改变DOM结构

a) 增加节点:appendChildinsertBefore

b) 删除节点:removeChild

c) 替换节点:replaceChild

4.表单的操作

a) 通用属性:valuedisabled,表单对象elements

b) 单选按钮和复选框操作的时候,一般采用遍历

c) 表单验证:

I.<submit value= 提交 onclick=return check(this.from);/>

II.<from onsumbit = “return check(this)”>

 

 

Servlet

 

1.浏览器发送给服务器的请求内容。HttpServletRequest对象。

getParameter(), getParameterValue()处理复选框

作为作用域:setAttribute, getAttribute, removeAttribute.

GetRequestURL,getRequestURI,getQueryString,getContextPath

获得客户端的IP和端口:getRemoteAddr,getRemotePort

request.setCharacerEncoding设置请求实体的编码,它对get无效,对post有效。如果要让对get方式有效的话,可以改变tomcat配置文件servlet.xmlcounection元素增加一个属性:useBodyEncondingForURL=”true”;

2.服务器回送给浏览器的响应内容。HttpServletResponse对象。

setCharacerEncoding, setContextType(“text/html:charset= gbk”)

getWriter输出文本   getOutputStream输出非文本

重定向:response.sendRedirect(“http://www.baidu.com”);

3.Servlet类读取web.xml中自己的信息配置。servletConfig

4.读取web.xml中公共信息<context-param>servletContext

  获得:this.getServletConetext()

作用域:可以被所有的servlet共享

其他方法:getRealPath(“1.jsp”),获得子目录信息getResourcePath

5.将所有servlet放入一个容器中统一管理。servletConttext

6.保存以前操作的状态 :客户端保存Cooke,服务器保存Session

客户端保存cookie的流程

a)服务器端写代码:Cookie c = new Cookie(“a”,”aaa”);  c.setMaxAge(2000); response.setCookie(c);

b)响应头就会有一个:setCookie: a = aaaa;

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

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

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

a) 服务器会new一个session对象,同时,指定一idsession对象。

b) 通过响应头设置:setCookiesessionId=1523454545

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

d) 服务器收到sessionId后,根据sessionId找到相应的session对象, 然后就可以查看对象里面的内容了。实现了状态的保存。

 

 

Servlet生命周期:

1.加载和实列化

a) 第一个请求的时候(servlet是单列,只有一个servlet对象)

b) 如果配置了<load-on-startup>,启动时加载

2.初始化状态

调用init

3.执行状态

Service, doGet, doPost

4.销毁状态

destroy()

 

JSP

1.<%  %>

2.<%=  %>表达式

3.<%! %>声明

4.<%-- --%>注释

5.<%@ include file=”2.jsp”%>静态导入,两个jsp文件翻译的时候就 合在一起了。

6.<jsp:include >相当于一个类调用另一个类

7.Jsp的九大内置对象pagepageContextrequestresponseapplicationsessionoutcongfigException

 

ELJSTL

 

EL表达式操作的是作用域的属性:

格式:$(  )

JSTL标签库

1. foreach

2. if

3.  Chose whenotherwise

4.  set

5. Improt

 

 

Ajax

核心技术,通过XHR (XML Http Request )对象发送请求,通过XHR对象接受响应,在通过js操作dom对象,将接受的新信息,付给某个元素,从而实现局部刷新效果。

如何使用XHR对象

1.创建XHR对象

if(window.XMLHttpRequest){

req = new XMLHttpRequest();

}else if(window.ActionXObject){

   Req = new ActionXObject(“Msxml2.XMLHTTP”);

}

 

2.创建一个请求

Req.open(“get”,”DemoServlet?Username=”+”username.value+”&aaa=”+new Date());

 

3.设置监听,处理服务器返回的响应内容

requset.onreadystatechange = function(){

if(request.readyState == 4){

  var result = request.responseText;

  document.getElementById(“div2”).innerHTML=result;

 

}

}

 

4.发送请求

Request.send(null); 

 

 

 

DWR框架

客户端编程:javascript

服务器端编程:java

1.首先配置一个DwServlet

<servlet>

   <servlet-name>DemoServlet</servlet-name>

   <servlet-class>com.bjsxt.servlet</servlet-class>

</servlet>

<servlet-mapping>

   <servlet-name>dwr-invoker</servlet-name>

   <uri-patten>/dwr/*</uri-patten>

</servlet-mapping>

 

2.创建dwr.xml

<allow>

<create creator= “new” javascript=”p1”>

<param name= “class” value= “com.test.Person”/>

</create>

<convert match = “com.test.Teacher” convert=”bean”></convert>

</allow>

 

3.页面中增加js文件

<script src=”/DWRDemo/dwr/interface/p1.js”></script>

<script src=”/DWRDemo/dwr/enging,js”></script>

<script src=”/DWRDemo/dwr/util,js”></script>

 

4.调用方式

function(){

var  uname= document.getElementById();

P1.test(callbackFun4);

 

}

function callbackFun(flag){

  if(flage){

    alter(“可以使用此名字”);

}else

alter(“次名字不允许使用”);

}

0 0