系统实现登录模块的实现系统的登录窗口是用户的入口用户只有在登录成功后才可以进入访问。通过在登录提交表单后台处理判断是否为合法用户进行页面跳转进入系统中去。登录合法性判断过程用户输入账号和密码后系统首先确定输入输入数据合法性然后在login.jsp页面发送登录请求调用src下的mainctrl类的dopost方法来验证。用户登录模块的IPO如下所示输入用户名和密码。处理1检测用户输入的账号、密码是否正确及在数据库已对应存在。2从数据库中提取记录并储存在本地的session中timeout默认30min。3根据用户名将其显示在系统首页上。输出是否成功的信息。登录流程图如下所示。图5-1登录流程图系统登录界面如下所示。图5-2系统登录界面用户登录的逻辑代码如下。if(ac.equals(adminlogin)){String username request.getParameter(username);String password request.getParameter(pwd);String utype request.getParameter(cx);request.setAttribute(random, );go(/login.jsp, request, response);else{String sql1 select * from allusers where usernameusername and pwdpassword ;ListHashMap userlist1 dao.select(sql1);if(userlist1.size()1){request.getSession(). setAttribute(username, userlist1.get(0).get(username));request.getSession(). setAttribute(cx, userlist1.get(0).get(cx));gor(main.jsp, request, response);}else{request.setAttribute(error, );go(/login.jsp, request, response);}}}用户子系统模块的实现用户首页模块系统呈现出一种简洁大方的首页界面简约、鳞次栉比用户能轻车熟路的使用。出于对系统使用群体广泛的顾虑应有良好性能的后台。如下图所示为系统的首页界面。图5-3系统首页界面注册模块此页面实现居民的注册必须注册登录后才能使用系统大部分功能用户名不允许重复如果重复将会注册失败并弹出相应的提示通过js实现对输入的验证。用户注册流程图如下所示。图5-4用户注册流程图相关技术介绍微信开发者工具微信开发者工具现在已经被小程序开发团队开发运行目前微信开发者工具任然在不断的完善中在开发小程序时经常要不断的更新。可以使用微信扫码登陆开发者工具开发者工具将使用这个微信帐号的信息进行小程序的开发和调试。机型选择小程序以智能手机的屏幕尺寸为设计标准进行切图。预览界面写好视图布局后点击编译用来刷新视图界面。控制台方便调试打印输出信息。上传代码上传到腾讯服务器提交审核必经步骤。上传代码时可以填写版本号和备注信息。资源文件一般可以在资源文件进行对应项目的文件目录的断点调试。显示远程调试手机端和PC端开发工具联调对用户而言是非常实用的。本地数据存储显示的是本地存储的数据。视图调试标组件以子父层级结构呈现方便调试。微信限制在2M 以内的代码体积开发中一般不校验合法域名信息小程序后台要做配置服务器域名。以上就是在开发过程中微信开发者工具常用到的功能微信开发者工具也在不断的完善。MVC模式MVC模式是常用的开发模式主要是在代码实现上将其分为M层、V层和C层。视图View代表用户交互界面一个 Web 应用就可能有很多的界面在 MVC 模式中视图仅仅处理的只有数据采集、处理还有用户的请求 并不包括业务流程的处理业务流程由模型Model来处理[3]。模型Model就是业务流程/状态的处理及业务规则的制定。模型处理业务流程的过程其它层是无法看见了的它就像黑箱子在接受视图请求的数据之后然后返回最终的处理结果。MVC 最主要的核心就是业务模型的设计一个典型的应用例子就是目前流行的 EJB 模型它从应用技术实现的角度对模型做了进一步的划分以便充分利用现有的组件但是它不能作为应用设计模型的框架[4]。控制器Controller可以理解为接收用户的请求然后视图和模型匹配在一起一起再完成用户请求。它有非常明显的作用在划分控制层上可以很清晰地告诉你它就是一个分发器选择什么样的模型、视图可以完成用户的什么样的请求。控制层不做所有的数据处理比如说用户点击一个连接控制层接受到请求之后并不处理业务信息它只是向模型传递用户的信息同时告诉模型做什么然后选择符合需求的视图返回给用户[5][6]。MySQL数据库科技的进步给日常带来许多便利教室的投影器用到了虚拟成像技术数码相机用到了光电检测技术比如超市货物进出库的记录需要一个信息仓库。这个信息仓库就是数据库而这次的小程序社区物业信息管理系统也需要这项技术的支持[7]。用MySQL这个软件是因为它能接受多个使用者访问而且里面存在Archive等。它会先把数据进行分类然后分别保存在表里这样的特别操作就会提高数据管理系统自身的速度让数据库能被灵活运用。MySQL的代码是公开的而且允许别人二次编译升级。这个特点能够降低使用者的成本再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点但是综合各方面来说它是使用者的主流运用的对象[8]。B/S结构B/SBrowser/Server比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端那么工作就达到“瘦身”效果 不需要考虑不停装软件的问题[9]。SSM框架SSM即SpringMVCSpringMybatis这三个框架有各自最独有的优势那么将它们组合在一起能够碰撞出很强的火花。设计者在不需消耗大量功夫能做出Web应用程序而且这个程序还具有层次清晰、升级更新操作不影响正常使用的、允许多次使用的特点。这个复合框架形成一个有着结构完整、功能强大和结构良好的体系SpringMVC使各板块分离Spring使开发更灵活方便使用Mybatis让开发者直接对对象进行操纵各层次分工明细并实现各个层次间的解耦让代码更加的灵活精简。这个框架使程序员能够规避在开发时期避免个别错误导致整体被破坏也能在后期应对客户对产品提出的新需求[10] [11]。MyEclipse开发工具MyEclipse是由Genuitec公司开发的一款功能非常强大的JavaEE的集成开发环境其中包括有完备的编码、调试、测试和发布功能[10]完整支持JSP、Spring、CSS、JavaScript、SpringMVC、HTML、JSF、Mybatis、SQL等技术。在体系结构上MyEclipse的特征可以被分为7类JavaEE模型Web开发工具、EJB开发工具、JavaEE项目部署服务、应用程序服务器的而连接器、数据库服务、MyEclipse整合帮助[11]。对于以上每一种功能的类别在MyEclipse中都有相应的功能部件并通过一系列的插件来实现它们。MyEclipse在结构上的这种模块化可以让它在不影响其他模块的情况下对其中任意的一个模块进行单独的扩展和升级。强大的MyEclipse应用开发平台也不仅仅只是Eclipse的插件而已同时更是一款功能强大的用于JavaEE的集成开发环境[12]。系统分析可行性分析本次设计基于B/S 模式下运用Java、JSP技术采用的是MySQL数据库和Myeclipse实现总体的可行性共分为以下三个方面。技术可行性分析所谓的技术可行性就是在限定时间前期拟定的功能能否被满足。在开发设计上是否会遇上解决不了的问题。做完的项目能否被很好地应用如果存在缺点在后期的维护上是否存在很大的难度。在对这个系统评估后认定已存在的技术能达成目标。用JSP技术来实现动态的页面嵌入低依赖性的设计模式灵活的数据库配合稳定的服务器整个系统的运行效率大大提升。由此可见在技术层面达成目标不是非非之想。经济可行性分析在项目上使用的工具大部分都是是当下流行开源免费的所以在开发前期开发时用于项目的经费将会大大降低不会让开发该软件在项目启动期受到经费的影响所以经济上还是可行的。尽量用最少的花费去满足用户的需求。省下经费用于人工费以及设备费用。将在无纸化高效率的道路上越走越远。操作可行性分析本系统实现功能的操作很简单普通电脑的常见配置就可以运行本软件并且只要粗通电脑使用的基本常识就可以流畅的使用本软件。电脑具备连接互联网的能力并且可以正常访问系统并不需要操作者有什么高超的能力只需了解业务流程并且按照专业知识进行正确操作即可所以小程序社区物业信息管理系统具备操作可行性。功能需求分析在系统开发设计前应该对功能做初步设想清楚这个管理系统有什么板块每个板块有什么功能整体的设计是否满足使用者的需求接着对所开发的系统功能进行的详细分析总结从而设计出完整的系统并将其实现。用户和开发人员的交流分析使其达到最佳理解程度使系统功能达到最佳。居民用例图如下所示。图3-1 居民用例图