1.JDBC:
java数据库连接(JDBC)用于在java程序中实现数据库的操作功能,它提供了执行sql语句,访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中
包含了jdbc操作数据库的所有类
2.class.forName的作用:
在java语言中,任何类被转载到JVM中才能运行。Class.forName()方法的作用就是把这个类加载到JVM中,它会返回一个与带有给定字符串名的类或接口相
关联的Class对象,并且JVM会加载这个类,同时JVM会执行该类的静态代码块。
3.Hibernate:
是jdbc的封装,采用配置文件的形式将数据库的连接参数写到xml文件中,至于对数据库的访问还是通过JDBC来完成。
4.如何才能生成动态页面?
@1.采用公共网关接口(CGI),CGI是一种用Perl脚本编写的程序,可以用来生成动态页面,而另一种方式就是采用Servlet技术
@2.Servlet是采用java语言编写的服务器端程序,它运行于web服务器的Servlet容器中,其主要功能是提供请求/响应的web服务模式,可以动态生成的web内容,而这正是
HTML所不具备的功能。
5.Servlet优点:
@1.较好的可移植性--无需修改代码就可以部署到多种不同类型的web服务器上
@2.执行效率高。由于CGI针对每个请求创建一个进程来处理,而Servlet针对每个请求创建一个线程来执行,而创建线程比创建进程的开销小,---
@3.功能强大。Servlet可以与web服务器进行交互,而CGI却无法与web服务器直接交互。
@4.使用方便。提供了很多有用的接口用来读取或设置HTTP头消息,处理Cookie和跟踪会话状态等等
@5.可扩展性强。由于Servlet是用java语言编写的,因此它具备了java语言的所有优点。java语言是健壮的、面向对象的编程语言,它很容易扩展,所以---
6.JSP:(Java Server Pages)是由Sun公司倡导、许多企业参加并建立起来的一种动态技术标准,从本质上来讲,就是嵌入了java代码的HTML文件(JSP页面最好少写java代码)
jsp的引入在一定程度上解决了servlet存在的缺点,其实现理念是让每个servlet只负责其对应的业务逻辑的处理,让jsp来负责用户的HTML显示,因此实现了业务逻辑与视图实现的分离,从而极大提高了系统的可扩展性。
7.Servlet与Jsp的异同?
jsp可以看做是一个特殊的servlet,它只不过是对servlet的扩展,只要是jsp可以完成的工作,使用servlet都可以完成,例如生成动态页面。由于jsp页面最终要被转换为servlet来执行,因此处理请求时编译后的servlet。
不同点:
@1.编程方式不同:jsp是为了解决servlet中相对困难的编程技术而开发的技术,因此,jsp在程序的编写方面比servlet要容易得多,servlet严格遵循java语言的编程标准,而jsp则遵循脚本语言的编程标准
@2.servlet必须在编译以后才执行,jsp并不需要另外进行编译,jsp Container会自动完成这一工作,而servlet在每次修改代码之后都需要编译完才能执行。
@3.运行速度不同:由于JSP Container将jsp程序编译成servlet的时候需要一些时间,所以jsp的运行速度比servlet要慢一些,but如果jsp文件无变化的重复使用,它在第一次以后的调用中运行速度就会和servlet一样了。
8.Ajax(Asynchronrous JavaScript and XML,异步JavaScript与xml)是一个结合了Java技术、xml、以及JavaScript的编程技术,其主要目的是在不刷新页面的情况下通过与服务器进行少量数据的交互来提高页面的交互性,减少响应时间,从而改善用户体验。
9.J2EE------
是java平台企业版的简称,是用来开发与部署企业级应用的一个架构,它提供了一种统一的、开放标准的多层平台,该平台主要由构件、服务和通信三个模块构成。
客户端构件主要包含Applets和Application Clients, 服务器构件主要包含Web构件(Servlet、Jsp)和EJBs(Enterprise Java Bean)。
服务由J2EE平台提供商实现,分为Service API(开发时使用) 和运行时服务。
通信是由容器提供的支持协作构件之间的通信。
本质上讲:J2EE是一个行业标准,主要用来通过java开发服务器端用于提供一个独立的、可移植的、多用户的企业级平台,从而能够简化应用程序的开发与部署。正是由于只是一个标准而不是成熟的产品,因此只要开发的应用程序符合J2EE的标准,就可以部署在遵循了J2EE开发标准的J2EE服务器上。
这种标准使得开发人员需要专注于各种应用系统的商业逻辑与架构设计,而不用过多地考虑底层繁琐的程序编写工作,系统的开发与部署效率大幅提高。
J2EE中的常用术语有:Web服务器、Web容器、EJB容器、Applet容器、Application Client容器、JNDI、JMS、JTA、JAF、RMI等等。
Web服务器:是指驻留在Internet上的计算机程序,它是一种服务程序,其主要工作是接收来自客户端的请求,然后把对请求的结果返回给客户端。(被动的程序-只有当收到来自客户端的请求后,才会发送响应)
目前最流行的两大Web服务器是:IIS(Internet Information Services) 和 Apache Http Server(简称Apache)
Web容器:也被叫做web应用服务器,它是一种服务程序,用来给运行在其中的程序(例如Servlet、jsp等)提供一个运行的环境。由于web容器的存在,servlet只需要关注业务逻辑的处理而不用关注与客户端的交互,因为这些交互都已经交给web容器协助完成了。
常见的web容器:Tomcat、JBoss、WebLogic和WebSphere
EJB容器:是一个服务器端容器,是J2EE应用的业务层的技术标准,只要满足J2EE规范的组件就能在EJB容器中运行,这个组件会被EJB容器高效地管理。同时,EJB容器还能给运行在其中的组件提供了安全而优越的服务环境,例如事务管理、邮件服务等。
Applet容器:是一个客户端容器,包含的组件为Applet,-是一种嵌入在浏览器中的轻量级客户端,一般而言,只有使用web页面无法充分地表现数据或应用界面时,才会使用它。是一种替代web页面的手段,开发人员只能够使用J2EE开发Applet,出于安全性的考虑,Applet无法使用J2EE的各种Service和API
Application Client容器:是一个客户端组件,包含的组件为Application Client。相对于Applet而言,Application Client是一种较轻量级的客户端,它能够使用J2EE的各种Service和API
JNDI:全称为JAVA Naming and Directory Interface(java命名和目录接口)。它提供了一个目录系统,并将服务名称与对象关联起来,从而使得开发人员在开发过程中可以使用名称来访问对象
JMS:--java消息服务,它是一个java平台中面向消息中间组件的API,主要实现各个应用程序之间进行异步通信,包括创建、发送、接收、读取消息等。
JTA:--java事务服务,它提供各种分布式事务服务,为J2EE实现分布式事务处理提供了重要的支撑。
JAF--java激活框架,它是一个专用的数据处理框架,提供了一种统一处理不同数据格式的方法。
RMI--远程方法调用,它主要用于远程调用服务,通过它,可以向调用本地函数一样调用另外一台计算机上运行的程序,而不关心远程计算机所使用的系统或所使用的语言。
10.XML
可扩展标记语言是一套定义语义标记规则的语言,可以被用来描述业务数据、数学数据等。
四大优点:1.实用性强--是以文本而不是二进制数据的方式存储的,因此很容易对其进行修改和调试。此外,不仅用于数据量较小的场合(structs-config.xml hibernate.cfg.xml和web.xml等一些配置文件),同时也适用于存储大量的数据(XML存储的数据库)
2.访问速度快,--使用的是层次结构
3.可扩展性好---不仅可以用来存储和显示数据,而且还能通过相关的属性标记数据的属性和类型,以便应用程序可以根据实际情况选取不同的数据。
4.跨平台性好---xml具有统一的标准语法,因此不部分系统支持的xml文件都具有相同的语法结构,这使得其具有很好的跨平台性。
11.对XML的解析方法:
A:DOM解析:根据给定的xml文件在内存中创建一个树形结构,会占用较多的内存,在处理大文件时效率会急剧下降。而且DOM必须在解析文件之前把整个文档装入内存,所以适用于对XML的随机访问与频繁对xml的内容进行修改的场合
B:SAX解析:把每次对数据的请求看做一个事件,通过遍历文件来获取用户所需的数据。使用场合--一般为对xml的顺序访问、xml文件太大以至于在内存中放不下的情况
12.数据库连接池
负责分配、管理并释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不再是重新建立一个新的数据库连接,避免因为没有释放数据库连接而造成的数据库连接遗漏。
13.Struts框架:
Struts名字来源于在建筑与旧式飞机中使用的支持金属架,它是由自定义标签、信息资源、Servlet和JSP组成的一个可重用的MVC2模式的框架。
14.Hibernate:
是一个开放源代码的对象关系映射框架,它不仅可以运行在J2EE容器中,也可以在J2EE容器外进行。他对jdbc进行了非常轻量级的对象封装,所有任何可以使用jdbc的地方都可以用Hibernate来替代。
15.HTML:
超文本标记语言-----是为网页创建和其他可在网页浏览器中看到信息设计的一种标记语言。--由万维网(W3C)维护
16.浏览器内核:
最核心的部分是“Rendering Engine”翻译为解释引擎,不过我们习惯于称呼浏览器内核---负责对网页语法的解释并渲染显示网页。 渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息
17.类的反射机制:
在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都可以调用他的任意一个方法,类反射所需要的类有:Filed、Constructor、Method、Class、Object 代理模式常常用到。Spring中一切都是反射,struts和hibernate都是通过类的反射进行开发的。
18.JVM:
java虚拟机,一种用于计算设备的规范,可用于不同的方式(软/硬)加以实现,包括一套字节码指令集、一组寄存器、一个垃圾回收堆和一个方法存储域。
决定了java语言的平台无关性。 java运行:编写->编译->运行(即java解释器将字节码文件翻译成机器代码,执行并显示结果)。
java源文件(*.java)---> java(编译器)---> 字节码文件(*.class)---> java(解释器)---> 运行
是一个可以执行java字节码的虚拟机进程,java源文件被编译成为 能够被java虚拟机执行的字节码文件 字节码:是java虚拟机的指令组
19.java:
.SDK:一般指软件开发包,可以包含函数库、编译程序等
.JDK:是面向java开发人员使用的jdk,它提供了java的开发环境和运行环境-------------要做java开发安装jdk
.JRE:是java的运行环境,是面向java的使用者,而不是开发者-------------------------运行java程序例如桌宠之类,安装jre
20.HTTP通信协议:
架构于TCP/IP之上的应用层通信协议(两台计算机之间沟通的方式)
HTTP基本是一种基于请求/响应的通信协议
服务器响应完客户端之后,就会忘记一切,又称为无状态的通信协议