Javassh框架知识点.docx

上传人:b****6 文档编号:6507580 上传时间:2023-01-07 格式:DOCX 页数:25 大小:24.97KB
下载 相关 举报
Javassh框架知识点.docx_第1页
第1页 / 共25页
Javassh框架知识点.docx_第2页
第2页 / 共25页
Javassh框架知识点.docx_第3页
第3页 / 共25页
Javassh框架知识点.docx_第4页
第4页 / 共25页
Javassh框架知识点.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

Javassh框架知识点.docx

《Javassh框架知识点.docx》由会员分享,可在线阅读,更多相关《Javassh框架知识点.docx(25页珍藏版)》请在冰豆网上搜索。

Javassh框架知识点.docx

Javassh框架知识点

七、Javascript部分

1:

什么是Javascript

JavaScript是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。

2:

Java和Javascript的区别

1、基于对象和面向对象

Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。

JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。

它是一种基于对象(ObjectBased)和事件驱动(EventDriver)的编程语言。

因而它本身提供了非常丰富的内部对象供设计人员使用。

2、解释和编译

两种语言在其浏览器中所执行的方式不一样。

Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。

JavaScript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户编由浏览器解释执行。

3、强变量和弱变量

两种语言所采取的变量是不一样的。

Java采用强类型变量检查,即所有变量在编译之前必须作声明。

JavaScript中变量声明,采用其弱类型。

即变量在使用前不需作声明,而是解释器在运行时检查其数据类型,

4、代码格式不一样

Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中。

JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。

编写HTML文档就像编辑文本文件一样方便。

5、嵌入方式不一样

在HTML文档中,两种编程语言的标识不同,JavaScript使用来标识,而Java使用来标识。

6、静态联编和动态联编

Java采用静态联编,即Java的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。

JavaScript采用动态联编,即JavaScript的对象引用在运行时进行检查,如不经编译则就无法实现对象引用的检查。

3:

Javascript的运行环境

具备javascript运行器的

4:

如何在web页面加入Javascript,请写出两种方式并示例

alert(11);

或者

5:

写出Javascript基本的数据类型

整型

实型

布尔

字符型

空值

特殊字符

6:

Javascript中如何定义变量,有何规则

必须是一个有效的变量,即变量以字母开头,中间可以出现数字如test1、text2等。

除下划线(-)作为连字符外,变量名称不能有空格、(+)、(-)、(,)或其它符号。

不能使用javascript中的关键字

可以用var声明

7:

代码示例:

Javascript中的if控制语句的结构

if(i>4){

alert(11);

}

8:

代码示例:

Javascript中的for、while循环语句的结构

for(vari=0;i<10;i++){

alert(11);

}

while(i<10){

alert(22);

}

9:

简述break和continue的用法和功能

使用break语句使得循环从For或while中跳出,continue使得跳过循环内剩余的语句而进入下一次循环。

 

10:

Javascript中如何定义类,如何定义属性,如何定义方法,请代码示例

functionQuaryArgItem(){

this.keys=newArray();

this.values=newArray();

}

 

QuaryArgItem.prototype.push=function(key,value)

{

key=(key==null)?

:

+key;

value=(value==null)?

:

+value;

this.keys.push(key.toUpperCase());

this.values.push(value);

}

QuaryArgItem是类名

push相当于方法名

使用的时候:

a=newQuaryArgItem();

a.push();

11:

Javascript的function如何定义,有何规则

Function方法名(参数,变元){

方法体;

Return表达式;

}

12:

如何触发Javascript的function

functiontest(){

alert(11);

}

13:

说出下列String对象的方法的功能和用法:

toLowerCase、indexOf、subString、toUpperCase

toLowerCase将指定字符串转化为小写

indexOf判断是否包含某一字符或字符串

subString从字符串中取一段并返回

toUpperCase将指定字符串转化为大写

14:

Javascript的日期对象是?

如何初始化日期对象?

提供一个有关日期和时间的对象Date

date=newDate();

15:

说出下列Javascript系统方法的功能和用法:

eval、unEscape、escape、parseFloat

eval:

返回字符串表达式中的值

unEscape:

返回字符串ASCI码

escape:

返回字符的编码

parseFloat:

返回实数

16:

Javascript中如何定义数组?

如何初始化?

如何取值和赋值

vararrayName=newArray();

FunctionarrayName(size){

This.length=Size;

for(varx=;x<=size;x++){

this[x]=0;

}

Returethis;

}

17:

简要描述Javascript中下列内部对象的功能:

Navigator、Window、Location、History、Document

Navagator:

提供有关浏览器的信息

Window:

Window对象处于对象层次的最顶层,它提供了处理Navagator窗口的方法和属性

Location:

提供了与当前打开的URL一起工作的方法和属性,是一个静态的对象

History:

提供了与历史清单有关的信息

Document:

包含与文档元素一起工作的对象,它将这些元素封装起来供编程人员使用

18:

如何利用Document来从页面上取值和赋值

取值:

vara=document.all(text1).value;

赋值:

document.all(text1).value='123';

19:

简要描述Javascript对象层次结构

window--document--组件

20:

说出下列常见事件什么时候被触发:

onFocus、onBlur、onSelect、onChange、onClick

onBlur:

当失去输入焦点后产生该事件

onFocus:

当输入获得焦点后,产生该文件

Onchange:

当文字值改变时,产生该事件

Onselect:

当文字加亮后,产生该事件

onClick:

当组件被点击时产生的事件

21:

代码示例:

使用Frame作一个基本的三分页面

 

 

 

 

 

 

 

 

 

 

 

22:

框架如何载入页面

 

23:

如何从框架中的一个页面访问另一个页面

varvalue=parent.right.document.all(text1);

CSS部分

1:

如何把样式表加入到html页面中

在文档

中用 定义;

使用

元素链接到外部的样式表单。

 ;

2:

如何链接元素和样式,请写出4种方法,并代码示例

1、直接连接

2、class连接

3、id连接

4、元素的style=

Xml读写示例

packagecom.javawebv.addresslist.baseinfo.valueobject;

importjava.io.*;

importjava.util.*;

importjavax.xml.parsers.*;

importjavax.xml.transform.*;

importjavax.xml.transform.dom.*;

importjavax.xml.transform.stream.*;

importorg.w3c.dom.*;

publicclassFuxi{

publicFuxi(){}

publicvoidrunXml(){

Filef=newFile(f:

/test/xmltest/student.xml);

try{

//首先创建一个documentbuilderfoctory的工厂

DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();

 

//利用工厂来创建documengbuilder

DocumentBuilderdb=dbf.newDocumentBuilder();

//利用db的parse方法来解析xml文件

Documentdoc=db.parse(f);

//将读出来的文件格式化

doc.normalize();

//定义一个nodelist数组来存放xml文件中的节点(标签)

NodeListstudents=doc.getElementsByTagName(student);

//从xml文件中读取数据

for(inti=0;i

//定义一个元素

Elementstudent=(Element)students.item(i);

System.out.println(stu_id:

+student.getElementsByTagName(stu_id).item(0).getFirstChild().getNodeValue());

System.out.println(name:

+student.getElementsByTagName(name).item(0).getFirstChild().getNodeValue());

System.out.println(age:

+student.getElementsByTagName(age).item(0).getFirstChild().getNodeValue());

}

//向文件中写数据

Stringstu_id=001;

Stringname=xingxing;

Stringage=22;

Textmsg;

//创建元素

ElementstudentNew=doc.createElement(student);

//创建子元素

Elementstuid=doc.createElement(stu_id);

//设置元素的值

msg=doc.createTextNode(stu_id);

//将值添加给元素

stuid.appendChild(msg);

//将元素添加到节点数组中

studentNew.appendChild(stuid);

Elementname1=doc.createElement(name);

msg=doc.createTextNode(name);

name1.appendChild(msg);

studentNew.appendChild(name1);

Elementage1=doc.createElement(age);

msg=doc.createTextNode(age);

age1.appendChild(msg);

studentNew.appendChild(age1);

//将元素studentnew添加到document树中

 

doc.getDocumentElement().appendChild(studentNew);

//进行写操作

TransformerFactorytff=TransformerFactory.newInstance();

Transformertfor=tff.newTransformer();

DOMSource dos =newDOMSource(doc);

StreamResultresult=newStreamResult(f);

tfor.transform(dos,result);

}catch(Exceptione){

System.out.println(e.toString());

}

}

publicstaticvoidmain(String[]args){

Fuxiff=newFuxi();

ff.runXml();

}

}

 

八、Struts

一、开发流程

1、创建表单

2、从表单中获得输入

3、处理输入(业务逻辑)

4、根据动态输入改变输入流

要完成上述四步,我们需要创建

1、一个ActionForm

2、一个action

3、一个配置文件struts-config.xml

4、创建页面

创建actionform

1、写一个类继承actionform

2、私有的属性

3、相应的get、set方法

4、重写tostring、equals、hashcode三个方法

创建action

1、写一个类继承action

2、实现一个公有的方法(回调方法)

publicActionForwardexecute(ActionMappingmapping,

ActionFormform,

HttpServletRequestrequest,

HttpServletResponseresponse)

{

//1.收集参数

MyActionFormmyForm=(MyActionForm)form;

//2.组织参数

 

//3.调用逻辑层

booleanflag=true;

//4.根据返回值来跳转到相应的页面

ActionForwardaf=newActionForward();

if(flag){

af=mapping.findForward

(1);

}else{

af=mapping.findForward

(2);

}

returnaf;

}

配置struts-config.xml文件

1.

 

2.

name=myActionForm

type=全路径.MyAction

scope=session

input=错误返回的页面>

 

 

步骤:

1.创建一个空的web应用

2.将struts的包放到lib文件夹下

3.将.tld文件文件和struts-config.xml、web.xml放到WEB-INF的跟目录下

4.配置struts-config.xml文件和web.xml文件

5.在页面引入tag文件uri

STRUTS运行机制

1、界面点击产生请求

2、容器接到请求

3、匹配web.xml文件中的*.do来生成actionservlet

4、actionservlet的处理

4.1读struts-congfig.xml文件形成actionmapping

4.2通过path来匹配Action类,通过action的name属性来匹配actionform类

4.3通过反射机制来给form添数据

4.4由actionservlet转调action的execute方法

4.5得到execute方法的返回值,跳转页面

4.5.1RequestDispatcher

4.5.2response.sendRedirect(list.jsp);

 

5、进入execute方法

5.1收集参数

5.2组织参数

5.3调用,逻辑层

5.4返回值

5.4.1选择下一个页面(actionforward)

5.4.2把值传给下一个页面(session)

 

九、在tomcat下配置数据源

 

1、服务器与数据库的连接

配置server.xml文件

1.oracle

factory=org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory

url=jdbc:

oracle:

thin:

@127.0.0.1:

1521:

eb

driverClassName=oracle.jdbc.driver.OracleDriver

username=sll

password=sll

maxActive=50

maxIdle=10

maxWait=-1

/>

2.sqlserver

factory=org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory

url=jdbc:

jtds:

sqlserver:

//localhost:

1433;SelectMethod=cursor;

DatabaseName=webpagetest

driverClassName=net.sourceforge.jtds.jdbc.Driver

username=sa

password=

maxActive=50

maxIdle=10

maxWait=-1

/>

2、配置自己的web应用的xml文件

 

privileged=trueantiResourceLocking=falseantiJARLocking=false>

 

 

3、配置web.xml文件

与服务器建立连接

jdbc/company

javax.sql.DataSource

Container

 

4、在应用程序中不直接与数据库连接,通过DataSource连接池建立连接

//1.在程序单独用时设置系统的属性,在tomcat下可以不用配置,

System.setProperty(Context.PROVIDER_URL,);

System.setProperty(Context.INITIAL_CONTEXT_FACTORY,);

//2.创建一个上下文对象

InitialContextcontext=newInitialContext();

//3.通过上下文对象在连接池中查找DataSource

DataSourceds=(DataSource)context.lookUp(java:

comp/env/jdbc/company);

//4.通过数据源建立连接

ds.getConnection();

十、ORM对象关系型数据库映射

(ObjectRelationMapping)

一、一个对象对应一个表(可以是多对多的关系)

1.对象的属性的名称和表字段的名称可以不同

2.对象的属性的数量和表字段的数量可以不同

3.类型可以不同,但数据类型之间可以转换

二、有一个映射的描述文件————>xml

三、怎样实现描述文件————>一段程序

对象映射(mapping)数据库

cc

id=11

name=cc————>

(1)—————>tbl_user(id,name,age,tel,address)

age=25<————

(2)<————

 

(1)从对象映射到数据库

1.JDBC

2.根据描述文件来动态拼接sql

3.执行,添加到数据库中

 

(2)从数据库中映射到对象

1.JDBC

2.拼接查询sql

3.ResultSet

4.Model

十一、Hibernate

hibernate开发流程

1、是什么?

hibernate是一种基于orm的轻量级的框架

2、有什么?

1.对外提供操作数据库的接口

2.事务的处理

3.简化数据持久化的编程任务

3、能干什么?

1.orm

2.提供操作数据库的接口

4、怎么做?

1.搭建hibernate的运行环境,将hibernate的包和hibernate所需要的包拷贝到lib文件夹下

2.O(vo)

3.R

4.配置文件

4.1cfg.xml放在classes根目录下,默认名字为hibernate.cfg.xml

a.与数据库的连接

b.可选配置

c.映射资源的注册

4.2hbm.xml文件名字与类名相同并且与类放在一起

a.对象与数据库表之间的映射

b.对象的属性与数据库表的字段之间的映射

c.组件之间的映射

d.对象与对象之间的映射

5、客户端

1.得到SessionFactory

2.通过SessionFactory工厂来创建Session实例

3.打开事务

4.操作数据库

5.事务提交

6.关闭连接

hibernate运行流程

一、整体流程

1.通过configuration来读cfg.xml文件

2.得到SessionFactory工厂(根据数据库的连接来创建sessionfactory)

3.通过SessionFactory工厂来创建Session实例

4.打开事务

5.通过session的api操作数据库

6.事务提交

7.关闭连接

二、save

1.to--->po

2.根基model和cfg.xml中映射文件的注册来找到hbm.xml文件

3.根据hbm.xml文件中的unsave-value属性来判断是save还是update

3.根据hbm.xml文件和model来动态的拼sql

4.客户端提交或者刷新内存

5.执行sql,值放到数据库

三、update、delete

1.根据model的id在内存hibernate的实例池中查找该对象

如果内存中没有就到数据库中查找来保证对象的存在

2.根据model和cfg.xml文件中映射文件的注册来找到hbm.xml文件

3.根据model和hbm.xml文件来动态拼sql

4.客户端提交或者刷新内存

5.执行sql

四、Query

4.1load

1.根据model的类型来找到hbm.xml文件

2.判断id对应的对象是否存在

3.用id做为查询条件来动态拼sql

4.执行sql查询(先在内存中查找,如果没有找到(会抛出例外),就去数

据库中查找)

5.返回一个model类型的对象

4.2get

4.执行sql直接在数据库中查找,如果没有查到就会返回null

4.3

query

1.分析hql语句,得到model的类型

2.根据moedel和cfg.xml文件中映射文件的注册找到hbm.xml文件

3.根据model和hbm.xml文件来动态拼sql

4.执行sql查询数据库

5.返回一个resultset

6.循环resultset的值,放

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1