MVC模式在Java Web应用程序中的实例分析
1. 结合六个基本质量属性
1)可用性
2)可修改性
3)性能
4)安全性
5)可测试性
6)易用性
2. 分析具体功能模块的MVC设计实现(例如登录、用户权限等功能模块)。
MVC是一个设计模式,它强制性地使应用程序的输入、处理和输出分开。
显示层(View):主要负责接收Servlet传递的内容,并且调用JavaBean,将内容显示给用户。
控制层(Controller): 主要负责所有的用户请求参数,判断请求参数是否合法,根据请求的类型调用JavaBean执行操作并将最终的处理结果交由显示层进行显示。
模型层(Model): 完成一个独立的业务操作组件,一般都是以JavaBean或者EJB的形式进行定义的。
1. 定义VO类——User.java
定义登录所需属性:userid、name、password,并设置相应setting与getting方法
2. 定义JDBC数据库操作类——DatabaseConnection.java
提供数据库的连接与关闭操作
3. 定义DAO接口——IUserDAO.java
定义一个登陆验证方法即可findLogin()
4. .定义DAO实现类——UserDAOImpl.java
实现DAO接口的findLogin方法,对数据库的操作
5.定义DAO代理操作类——UserProxy.java
6.定义工厂类——DAOFactory.java
调用DAO接口,返回代理类
DAO的操作完成只是数据层的操作,下面需要编写Servlet类(控制层),在Servlet中接收客户端发来的输入数据,同时需要调用DAO,并且根据DAO的结果返回相应的信息
7.定义Servlet——LoginServlet.java
(1)通过request.getParameter()方法接收用户请求发送过来的userid与userpass两个参数
(2)对两个参数进行非空验证,若为空,则在info类集对象中添加相应错误信息;当验证通过后,程序将调用DAO进行数据层的验证,并根据DAO的返回结果来决定返回给客户端的信息;
(3)使用反射机制通过工厂类取得代理类实例,然后调用真实主题类的findLogin()方法,进行数据库的验证(判断登录用户是否数据库user表中的用户id与密码一致),并将相应成功或错误信息添加到info对象中;
(4)通过req.setAttribute(“info”,info) ;将最终响应信息request范围中;
(5)通过forward()方法跳转回相应的JSP(String path = “login.jsp” ;)进行显示
8.Servlet配置文件web.xml
9.显示层JSP——login.jsp
用户登录界面以及接收响应信息
实现控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
10.配置web.xml