java中级理论资料整理复习
来源:互联网 发布:linux系统网络配置文件 编辑:程序博客网 时间:2024/05/18 02:53
C/S框架(客户机和服务器)
Socket、servlet、awt、swing。做一个客户端软件。
建好servlet连接后。通过IO流来交换数据,数据格式有各个开发者确定。Name:ddd unname:aaaa
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)建立监听,ServletSocket,s.accept()。
b)启动一个线程(轻量级的进程),为请求的客户提供服务。
c)为了封装一个客户端的请求信息,于是定义一个对象: HttpServletRequest对象。
d)为了封装回送客户端的内容信息,于是定义了一个对象: HttpServletResponse对象。
2.根据请求内容调用相应的程序(servlet)
a)我们通过web.xml中的uri 和servlet的关系,找到相应的servlet 程序。
b)于是我们定义了HttpServlet,并且增加了servlet(HttpServletRequest request,HttpServletResponse 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粗体 ,u 下划线,i斜体,del删除效果
2. A 超链接 href,targe=_blank
3. Img 图片
4. Frameset(fram)框架集
5. table表格 th tr td ,colspan、rowspan
6. 列表标签 ul,li,or
7. Embed 用来播放视频、MP3等
8. Div虚拟矩形区域 ,span 行
表单标签
1.<from></from>表单标签 ,action 表单提交的地址,mothod表单提 交的方式(get,post),name(命名的方式:regFrm)。
2.表单域(表单域中一定要有name属性,否则该表单域的值不会被 提交)
a).文本域(text单行文本域,password密码框,testarea多行文本 域)
b) radio单选按钮(组,name属性一致即为一组,每一组只能提 交一个值)
c).checkbox复选框(组,name属性一致即为一组,每一组可以提 交多个值)
d).select,option下拉框(可以实现多选一,多选多)
e).file 文件域,实现文件的上传(method=post,enctype= “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.基本数据类型:undefined,null,number,字符串、boolean, object
2.变量的定义:var
3.控制语句
4.内置语句:eval(), escape(),unescape()区别?
5.常用的对象:Date,String,Math,RegExp,Arry
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. 兄弟节点
nextSibling,preSibling
2.如何操作节点
a)判断节点类型:nodeType:
b)节点的属性
c)节点的文本内容:innerHTML
3.改变DOM结构
a) 增加节点:appendChild,insertBefore
b) 删除节点:removeChild
c) 替换节点:replaceChild
4.表单的操作
a) 通用属性:value,disabled,表单对象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.xml对counection元素增加一个属性: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对象,同时,指定一id给session对象。
b) 通过响应头设置:setCookie;sessionId=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的九大内置对象:page,pageContext,request,response,application,session,out,congfig,Exception
EL和JSTL
EL表达式操作的是作用域的属性:
格式:$( )
JSTL标签库
1. foreach
2. if
3. Chose ,when,otherwise
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(“次名字不允许使用”);
}
}
- java中级理论资料整理复习
- Java反射复习整理
- Java Collection复习整理
- Java基础知识资料整理
- Java基础知识资料整理
- java 学习资料整理
- Java 学习资料整理
- java annotation资料整理
- java-web 资料整理
- java相关资料整理
- java pca资料整理
- Java基础资料整理
- java自学资料整理
- Java基础复习,整理知识点
- 中级复习1-3
- 中级复习4.5
- Fckeditor 资料整理(java版)
- [Java] Mina 入门资料整理
- 不错的maven学习笔记,收藏——Maven学习 (三) 使用m2eclipse创建web项目
- Java 批量插入数据库(MySQL)数据
- FLASH 之 AMF 格式
- Java构造器
- yii ajaxLink和ajaxButton
- java中级理论资料整理复习
- 最小排列数
- 自定义一个简单的可以加载网络图片的ImageView
- 提交代码, 经常出现工作副本“项目”有未提交的更改 The working copy "Project" has uncommitted changes.
- Oracle将字符串(例:69.05%)转换为数字
- String 用法 C++
- Word Break II
- 查找库中某个表的字段情况
- Can't locate File/Copy/Recursive.pm in @INC (@INC contains: