擎把
JSP代码转成Servlet代码然后由 JSP引擎调用服务器端的Java编译器对Servlet代码进行编译把它编译成字节码文件.class再由JVMJava虚拟机执行此字节码文件并将运行的结果以
HTML的格式返回给客户端。
文件在第一次被请求时会执行的比较慢这是因为有Java源程序编译的过程。
以后由于Servlet字节码已经存在直接执行就可以了。
但如果JSP文件在上次编译后被改动过就会重新编译该文件。
严格地说JSP还是解释运行的虽然它包含了程序编译的过程。
但是由于JSP解释执行的是Servlet字节码这就比ASP和
PHP直接解释源代码的工作方式效率高很多。
2.2.2 JavaBean和Servlet JavaBeans就是一个可以复用的软件模型。
JavaBeans在某个容器中运行提供具体的操作性能。
JavaBeans是建立应用程序的建筑模块。
大多数
常用的JavaBeans通常是中小型控制程序但也可以编写包装整个应用程序运行逻辑的JavaBeans组件并将其嵌入到复合
文档中以便实现更为复杂的功能。
一般来说JavaBeans 可以表示为简单的GUI 组件可以是按钮组件、游标、菜单等等。
这些简单的JavaBeans组件提供了告诉用户什么是JavaBeans 的直观方法。
但我们也可以编写一些不可见的JavaBeans用于接受事件和在幕后工作例如访问数据库执行查询操作的JavaBeans它们在运行时刻不需要任何可视的界面。
在JSP 程序中所用的JavaBeans一般以不可见的组件为主可见的JavaBeans一般用于编写Applet程序或者Java应用程序。
图2.2 Web中间件的作用 Servlet是使用
Java Servlet应用程序设计接口API及相关类和方法的Java
程序。
除了Java Servlet APIServlet还可以用以扩展和添加到API的Java类
软件包。
Servlet在启用Java的Web服务器上或应用服务器上运行并扩展了该服务器的能力。
Java Servlet对于Web服务器就好象Java applet对于Web浏览器。
Servlet装入Web服务器并在Web服务器内执行而applet装入Web浏览器并在Web浏览器内执行。
Java Servlet API定义了本科毕业论文设计 4 一个Servlet和Java使能的服务器之间的一个标准接口这使得Servlets具有跨服务器平台的特性。
Servlet的工作是执行的任务如图2.2所示。
2.3 Struts、Spring以及Hibernate简介 Struts是Apache软件组织提供的一项开放源代码项目它为Java Web应用提供了模型-视图-控制器Mode-View-ControllerMVC框架尤其适用于开发大型可扩展应用的Web应用。
Struts这个名字源于在建筑和旧式飞机中使用的支撑金属架。
Struts为Web应用提供了一个通用的框架使得开发人员可以把精力集中在如何解决实际业务
问题上。
此外Struts框架提供了许多可扩展和定制的地方使得应用程序可以方便地扩展框架来更好的适应用户的实际需求。
在Java领域可以直接通过JDBC编程来访问数据库。
JDBC可以说是访问关系数据库的最原始、最直接的方法。
这种方式的优点是运行效率高缺点是在Java程序中嵌入了大量的SQL语句使得项目难以维护。
Hibernate是一个基于Java的开放源代码的持久化中间件它对JDBC做了轻量级封装不仅提供了ORM映射服务还提供数据
查询和数据缓存功能Java开发人员可以方便的通过Hibernate API来操纵数据库。
Spring是各种Web框架的黏合剂无论是Open Source 领域还是在非Open Source领域。
Spring IoCSpring AOPSpring服务抽象一起形成了Spring。
这样一个有机的整体使得构建轻量级的J2EE架构成为可能而且事实证明非常有效。
2.4 MySQL数据库简介 MySQL是一个精巧的SQL数据库管理系统虽然它不是开放
源代码的产品但在某些情况下可以自由使用。
由于它的强大功能、灵活性、丰富的应用编程接口API以及精巧的系统结构受到了广大自由软件爱好者甚至是商业软件用户的青睐特别是与Apache和PHP/PERL结合为建立基于数据库的动态网站提供了强大动力。
MySQL 主要目标是快速、健壮和易用。
最初是因为人们需要这样一个SQL服务器它能提供与任何在昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库但速度更快。
这样MySQL就开发出来了。
MySQL是一个真正的多用户、多线程SQL数据库服务器。
MySQL是以一个客户机/服务器结构的实现它由一个服务器守护程序
mysqld和很多不同的客户程序和库组成。
SQL结构化查询语言是