11
一、 JSP开发模型
Jsp文件是一个独立的、能自主完成所有任务的模块,它负责处理业务逻辑、控制网页流程和向用户展示页面等。以下是jsp早期模型的工作原理:
其中jsp技术提供了两种开发模型: JSP Model1 和 JSP Model2
(1) JSP Model1是采用JSP+JavaBean的技术,将页面显示和业务逻辑分开。工作原理如下图所示:
(2) JSP Model2是采用JSP+Servlet+JavaBean的技术,此技术将JSP页面中的流程控制代码提取出来,封装到servlet中,从而实现了整个程序页面显示、流程控制和业务逻辑的分离。工作原理如下图:
二、MVC设计模式
MVC设计模式将软件程序分为3个核心模块:模型(model)、视图(view)、控制器(controller),他们的关系如下图所示:
三、任务实现
用JSP Model2模型开发程序:JSP Model2是一种MVC设计模式,由于MVC模式中的功能模块相互独立,并且使用该模式的软件具有极高的可维护性、可扩展性和可复用性。接下来将写一个用户注册程序。 其中该程序需要的组件及关系如下所示:
实现步骤:
-
创建项目,编写JavaBean
(1) 编写UserBean,用于封装用户信息,代码如下:
(2) 编写RegisterFormBean类,用于封装注册表名单,代码如下:
该Java中除了定义一些属性和成员变量外,还定义了三个方法。其中,setErrorMsg()方法用于向errors集合中存放错误信息,getError()方法用于获取封装错误信息的errors集合,validate()方法用于对注册表名单内各字段所填写的数据进行校验。 -
创建工具类定义DBUtil类,代码如下:
DBUtil是一个单列类,它实现了两个功能。第一个功能是定义一个HashMap集合users,用于模拟数据库,并向数据库中存入了两条学生的信息。第二个功能是定义getUser()方法和insertUser()方法来操作数据库。 -
创建Servlet
定义ControllerServlet类,使用该类来处理用户请求,代码如下:
-
创建JSP页面
(1) 编写register.jsp文件该文件是用户注册的表单页面,用于接收用户信息。代码如下:
(2) 编写loginSuccess.jsp文件
该文件是用户登录成功的页面,代码如下:
代码运行中首先判断session域中是否存在以“userBean”为名的属性,如果不存在,说明用户没有注册而直接访问这个页面,程序会跳转到register.jsp注册页面;否则表示用户注册成功,在页面中会显示用户的信息。 -
运行程序
如图: