第一篇文章竟然是关于JAVA的,无奈最近作业太多了,还得应付。好久没好好学.NET了,凭着对Petshop的理解,JAVA的这个
项目就暂定为一个简易的二手信息交流平台,采用MVC模式,达到要求就可以了。
基于MVC模式的二手信息发布平台
一、 功能描述
该项目主要是给大众提供一个二手信息的发布平台,功能主要包括两个部分,其中之一就是用户基本信息的录入,也就是新用户注册,另外一个功能包括最新发布信息显示,按大类显示已发信息以及按发布者和关键字搜索已发二手交易信息,还包括用户对自己已发的历史信息的管理。
二、 设计模式
该项目的设计模式是基于MVC的,但又有了一点点的扩展,其层次结构包括视图层、逻辑结构层、数据访问层、数据层。
视图层的实现形式就是JSP和Servlet,JSP将基本的页面视图展示出来,Servlet则用来控制页面的跳转、用户登陆通过验证之后集成HttpSession接口建立与客户端的对话以及用户注销时session的抛弃。
逻辑结构层和数据访问层主要是用JavaBean来实现,逻辑层的包名为models,数据访问层的包名称为SqlProvider,在models里定义类对数据进行封装,封装之后再做为SqlProvider中对象方法的参数执行对数据库的操作,比如用户新添加一条信息,其中包括主题,发布时间,发布人,交易物品,价格等等,表单提交之后,引用models中相对应的JavaBean,ID为JavaBean1,通过其set方法将表单内容封装到JavaBean1中,然后再引用SqlPrivider中与之对应的JavaBean,设其ID为JavaBean2,将JavaBean1做参数,调用对象JavaBean2中的add()方法,通过JDBC接口对数据库执行插入操作。
数据层则是通过JDBC接口连接Sql Server2000数据库。
三、系统安全
对比在JSP中直接对数据库进行操作的设计方法,上述设计方法将数据层隐藏在了逻辑层和暑假访问层之后,数据保密提高了很多,降低了数据库的被攻击系数。与此同时,为防止SQL注入,在用户密码提交后然进行了处理,过滤掉特殊字符,比如单引号等。
至于安全隐患,对系统而言,如果服务器安全性不够高的话,JAVABEAN完全可以被反编译,从而造成越界访问,暴露重要信息。对用户而言,主要就是用户名和密码输入提交之后,在传输过程中有可能被截,这样就有可能造成密码丢失。暂无很好的解决方法。