您好,欢迎访问三七文档
基于MVC模式的软件体系小型项目1软件体系结构报告书基于MVC模式的软件体系小型项目的应用组号:24成员:01613240李尧01613232孙雨晨01613227钱磊完成日期:2015/11/8基于MVC模式的软件体系小型项目2项目提纲1、项目介绍①、整体概况介绍②、Client端介绍③、服务器Tomcat介绍④、数据库SQLServer2008R2介绍⑤、整个项目框架图2、Model层①、数据库的连接②、添加用户③、删除用户④、修改用户⑤、查询用户⑥、为每个登录用户添加Cookie/Session机制⑦、定时跳转⑧、添加分页功能⑨、提供下载功能⑩、安全退出后续操作基于MVC模式的软件体系小型项目33、View层①、登录主界面②、管理主界面③、显示用户管理/用户查询查询结果④、显示添加用户元件的⑤、查找用户界面⑥、修改用户主界面⑦、删除用户成功/添加用户成功/登陆成功界面/登陆错误页面/修该用户信息成功页面⑧、防盗链页面4、Controller层①、用户登录控制②、防盗链控制(非法登录控制)③、数据库连接控制④、分页控制⑤、添加用户页面显示控制⑥、定时页面跳转控制5、项目测试基于MVC模式的软件体系小型项目4项目介绍1、整体概况介绍本项目是基于MVC模式的软件体系小型项目的应用,即基于模型(model)-视图(view)-控制器(controller)之间的Client端、服务器Tomcat、SQLServer2008R2数据库的应用操作项目。采用MVC框架,是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。简单流程的描述可以概括为:用户通过客户端(Client端)访问页面→通过服务器响应用户的请求→到数据库中查询数据→返回给客户端(Client端),在这里我们的客户端为浏览器端,类似B/S架构。在这种结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。B/S结构是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或SQLServer等数据库。浏览器通过WebServer同数据库进行数据交互。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。基于MVC模式的软件体系小型项目52、Client端介绍客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行。因特网发展以后,较常用的用户端包括了如万维网使用的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端软件等。对于这一类应用程序,需要网络中有相应的服务器和服务程序来提供相应的服务,如数据库服务,电子邮件服务等等,这样在客户机和服务器端,需要建立特定的通信连接,来保证应用程序的正常运行。本项目中使用InternetExplorer11,360急速浏览器充当客户端。3、服务器Tomcat介绍Tomcat服务器是Apache软件基金会项目中的一个开源的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。本项目使用的是Tomcat8.0的版本(最新)。基于MVC模式的软件体系小型项目64、数据库SQLServer2008R2介绍SQLServer2008R2在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。SQLServer2008R2主要应用于小型的项目开发,安全稳定,所以本项目将采用它作为我们的数据库管理。5、整个项目框架图项目框架图.xlsx,,,,,,项目框架图.htm基于MVC模式的软件体系小型项目7Model层1、数据库的连接数据库的连接需要具备JDBC驱动(JDBC“JavaDataBaseConnectivity,java数据库连接”是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。)、需要数据库连接地址以及数据库用户名和密码。实现代码如下:privatestaticConnectiondbconn=null;privatestaticfinalStringdiverName=com.microsoft.sqlserver.jdbc.SQLServerDriver;privatestaticfinalStringdbURL=jdbc:sqlserver://localhost:1433;DatabaseName=LoginData;privatestaticfinalStringUserName=Yeoo_Server;privatestaticfinalStringPassWord=liyao5926362;try{Class.forName(diverName);//加载驱动程序dbconn=DriverManager.getConnection(dbURL,UserName,PassWord);//连接数据库System.out.println(SQLServer2008ConnectionSuccessful!);}catch(SQLExceptione){e.printStackTrace();}catch(ClassNotFoundExceptione){thrownewServletException(加载数据库驱动失败.);}finally{try{if(dbconn!=null){dbconn.close();}基于MVC模式的软件体系小型项目8}catch(SQLExceptione){e.printStackTrace();}}2、添加用户添加用户功能用AddUserServlet.java实现,服务器通过客户端获取到输入的新用户名和密码,然后在数据库中添加一个新用户。代码的实现:数据库的连接....(略过)privatestaticPreparedStatementps;//获取数据库操作对象privatestaticStringSQL_Insert;//数据库查询的语句//从客户端获取到用户输入的新用户StringNewUser=request.getParameter(C_Username);//从客户端获取到用户输入的新密码StringNewPass=request.getParameter(C_Password);//给数据库查询语句赋值SQL_Insert=insertintoTable_1(UserName,PassWord)values('+NewUser+','+NewPass+');ps=con.prepareStatement(SQL_Insert);//执行操作语句ps.executeUpdate();//更新结果3、删除用户添加用户功能用DeleteServlet.java实现,用户通过客户端点击需要删除的用户,由服务器获取到要删除用户的UserName,然后在数据库中用语句进行删除。代码的实现:基于MVC模式的软件体系小型项目9数据库的连接....(略过)privatestaticPreparedStatementps=null;//获取数据库操作对象Strings=request.getParameter(Username);//获取要删除的ID//执行删除语句的操作ps=con.prepareStatement(deletefromTable_1whereUserName='+s+');ps.executeUpdate();//更新结果4、修改用户修该用户操作用ModifyUser.jsp(显示当前用户信息)和ModifySuccess.jsp(修改当前用户信息)实现,修改用户分为显示当前用户的信息,和修改用户信息,同理用户通过在客户端输入需要修改的信息,然后又服务器进行获取,在数据库中进行语句修改。代码的实现:数据库的连接....(略过)//显示当前用户的信息PreparedStatementps=null;//获取数据库操作对象ResultSetrs=null;StringUsername=request.getParameter(Username);//获取IDStringPassWrod=null,Email=null,TelePhone=null;//查询改ID的所有信息ps=con.prepareStatement(selectPassWord,Email,TelePhonefromTable_1whereUserName='+Username+');rs=ps.executeQuery();//把结果储存在ResultSet中while(rs.next()){//把查询到的结果输出到界面基于MVC模式的软件体系小型项目10PassWrod=rs.getString(PassWord);Email=rs.getString(Email);TelePhone=rs.getString(TelePhone);out.println(pclass=\p1\UserName:+Username+/p);out.println(pclass=\p1\PassWord:+PassWrod+/p);out.println(pclass=\p1\Email:+Email+/p);out.println(pclass=\p1\TelePhone:+TelePhone+/p);}//修该用户操作PreparedStatementps=null;//获取数据库操作对象StringPassWord=request.getParameter(PassWord);//原始密码StringEmail=request.getParameter(Email);//原始邮箱StringTelePhone=request.getParameter(TelePhone);//原始电话StringUserName=request.getParameter(UserName);//默认用户名字StringNewUserPassWord=request.getParameter(PassW);//修改后的密码//判断新的密码是否为空,为空设置为原始密码if(NewUserPassWord.equals()){NewUserPassWord=PassWord;}StringNewUserEmail=request.getParameter(Em);//修改后的邮箱//判断新的邮箱
本文标题:软件体系结构报告书
链接地址:https://www.777doc.com/doc-5032900 .html