① JSP的工作原理
JSP是一类服务器端技术,JSP代码是通过JSP引擎来解析执行的,然后把解析的结果以HTML页面的形式发送给客户端。通俗的讲就是:当请求JSP页面的时候,JSP页面将会被转换成一个Java文件,编译该Java文件然后生成class文件,把class文件加载到内存中去,最后执行class文件;当再次请求的时候就会直接加载class文件完成响应,每次都会用一个线程来负责完成请求。如图2-1所示是JSP运行原理图。 文献综述
图2-1 JSP运行原理图
② JSP的技术特征:
● 跨平台:因为JSP是基于Java语言的,也能够使用Java 语言的API,因此它具有跨平台性,能够在不同的系统中使用,当然也可以运用于不同的WEB服务器。JSP也可以为各类系统的数据库服务,这样更加方便了代码的移植;
● 组件重用:在JSP中业务组件主要是由JavaBean来编写的,在项目中JSP页面可以重复使用JavaBean组件;
● 业务代码分离:使用JSP开发项目,静态的页面主要是由HTML语言来完成,动态的部分是使用JSP标签和Java代码片段来完成的。可以把业务处理代码都放置到JavaBean里,视图层通过JSP来掌控,这样就完成了视图层和业务代码的分离;
● 继承了Java Servlet的功能:接受到用户的请求后,这些前台发送来的请求由Servlet类处理,最终把处理结果返回给客户端。之所以说JSP继承了Servlet的功能特性,是因为JSP最终会被编译成Servlet,这样才能处理用户的请求;
● 预编译:用户在首次请求访问JSP页面的时候,服务器会对JSP页面代码进行编译,这次编译完之后,下次再访问该页面的时候,服务器不会再编译,直接访问之前已经编译好的代码,这样大大提升了访问速度。
③ 常用内置对象
JSP页面中的九个内置对象:out、config、page、request、response、pageContext、session、application以及exception[2]。
(3)MVC框架简介
MVC(Model View Controller)是模型、视图、控制器的缩写,它可以将业务逻辑、数据、界面三者进行有效的分离,是一种具有代表性的设计模式[3]。视图(View)代表的是用户能看得见并且能够进行操作的页面;模型(Model)代表的一些业务原则,主要是给视图提供大量数据信息,它所处理的任务是最多的;控制(Controller)
主要是接收到用户的请求,然后调用模型去处理这个请求,最后把处理后的信息返回到视图页面上面。
MVC模式的优点:
① 多种模型共享同一种模型:MVC可以实现多个视图共享相同的模型,不管用户需求如何,都可以只用一种模型处理它们;
② 相同的构件可以被不同的界面使用:之所以相同构件可以被不同的界面使用,是因为模型返回的信息没有被格式化过,相同的模型可以被不同的应用程序所重用;
③ 控制器使用不同种类的模型和视图去完成用户的需求:如果拥有多种类型的模型和视图,控制器为了满足用户的需求可选择模型完成处理,最后选择好最佳的视图把处理的结果呈现给用户看。
(4)SSH框架简介
SSH框架是由Spring、Struts和Hibernate这三个组件构成,这三个组件各司其职,在SSH框架中发挥了重要的作用。
① Struts显示层
Struts是一个基于MVC结构的框架,主要用来处理前台界面和后台业务类之间的关系,是非常不错的框架[4]。Struts很受开发者的欢迎,Struts可以充分满足开发需求,加载速度快,方便简单。Struts框架的体系结构如图2-2所示。