毕业设计(论文)-供求信息网的设计与实现论文.doc_第1页
毕业设计(论文)-供求信息网的设计与实现论文.doc_第2页
毕业设计(论文)-供求信息网的设计与实现论文.doc_第3页
毕业设计(论文)-供求信息网的设计与实现论文.doc_第4页
毕业设计(论文)-供求信息网的设计与实现论文.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学年论文设计题 目 供求信息网 学生姓名 学号 所在院(系) 电子与信息工程系 专业班级 计算科学与技术10级 指导教师 2013年 6 月 7 日电子与信息工程系学年论文(设计)开题报告姓名专 业计算机科学与技术班级10计算机科学与技术1班指导老师题目供求信息网1本课题的基本内容1.分析系统的开发背景需求分析等要求2.系统设计和流程图3.详细设计2本课题的重点和难点1、 系统分析2、 详细设计3主要参考文献1 高红岩基于MVC+MyEclipse的Java Web应用开发M北京:科学出版社,20072 孙卫琴Tomcat与Java Web开发技术详解M北京:电子工业出版社,20043 姜宁JSP数据库系统开发完全手册M北京:人民邮电出版社,2006 4 胡为君Web开发人员参考大全M北京:电子工业出版社,20075胥光辉.软件工程方法与实践M.机械工业出版社,2009.6 林琪数据库编程与案例中国电力出版社发行部,2008.指导教师意见指导教师: 年月 日安康学院学年论文(设计)供求信息网作者:指导教师:摘要随着信息技术的高速发展,互联网越来越成为人们生活的主旋律。当前,人们追求的是能够在互联网上得到足够的信息,以满足生活需要,提高生活质量。显然,21世纪就是信息时代。电子商务网站能够为企业和用户提供综合信息服务,满足人们在生活、工作和学习方面的需求,同时对企业实现跨地区、跨行业、跨国经营发挥了重要的作用。论文采用MySQL数据库实现信息实体、信息类别实体以及管理员实体的存取。利用Struts2.0框架和Tomcat服务器完成了各个模块的设计。实现的系统功能满足了对城市供求信息网对信息显示、查询、发布以及后台进行信息审核、信息删除的相关功能的需求。关键词供求信息;数据库管理系统;MySQL;Trade Information NetworkAuthor:Tutor: Abstract: With the rapid development of information technology, the Internet has become increasly the thematic of peoples life. At present, people are looking for the Internet to get enough information, in order to meet the needs of life, improve the quality of life. Clearly, twenty-first Century is the age of information. Electronic commerce website aim to provide comprehensive information services for enterprises and users, to meet the people in the life, work and learning needs, while the enterprise implementation to cross a region, cross the industry, transnational management plays an important role in.The paper uses MySQLdatabase information entities, categories of information entities and entity access administrator. Using the Struts2.0 framework and Tomcat server has completed the design of each module. The realization of system functions to meet the city information network of supply and demand for information display, query, and background information audit, information deleting related functional requirements。Key words: Supply and Demand Information; Database Management System; MySQL;引言:随着全球信息向网络化方向的发展,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用,彻底改变了人类的工作、生活、学习和娱乐方式,已成为国家经济和区域性经济增长的主要动力。Internet也已正式成为世界最大的公共资料库。Internet上发布信息主要是通过网上实现的,获取信息也是要在Internet“海洋”中按照一定的检索方式将所需要的信息从网上得以实现的,人们日常生活越来越多地使用这项新的技术来为自己的工作和学习服务。由于WEB页面能把文本、图像、声音、动画、视像等多媒体信息集于一体,不但使信息的显示更加生动,而且使信息的浏览更为方便,同时WEB页能实现网上交易平台、客户信息,反馈了企业和客户的信息交流。因此,网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。为了让客户或单位更好的、更方便的进行供求信息的查询、发布、和获取信息,以满足客户、单位供求信息不断增长的需求,本次设计特构建供求信息网系统。1. 系统开发工具1.1 开发工具本系统采用的开发工具是Eclipse,并采用Tomcat 6.0作为Web服务器,采用MySQL数据库,应用Struts 2.0开发框架。1.2 技术介绍本网站主要采用JSP技术。JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。1.3 运行环境1.3.1 软件环境操作系统:Windows XP。Web服务器:Tomcat 6.0。Web开发框架:Struts 2.0。Java开发包:JDK 1.6。数据库:MySQL。浏览器:IE浏览器。1.3.2 硬件环境对硬件环境无具体要求2. 需求分析2.1 功能需求对于信息网站来说,用户的访问量是至关重要的。如果网站的访问量很低,那么就很少有企业会要求为其提供有偿服务,也就没有利润可言了。因此信息网必须为用户提供大量的、免费的、有价值的信息才能够吸引用户。为此,网站不仅要为企业提供各种有偿服务,还需要额外为用户提供大量的无偿服务。通过与企业的实际接触和沟通,确定网站应为用户提供求职信息、公寓信息、家教信息、物品求购、车辆信息等服务,同时为企业提供招聘信息、寻求合作和企业广告的服务。网站的主要目的是为用户及时、准确地提供所需信息,为企业无偿和有偿提供服务。2.2 可能性分析2.2.1 要求网站要求为用户有偿或无偿提供尽可能全面的信息,涵盖生活、工作与学习各方面,如求职、招聘、家教、招商、房屋、车辆、出售、求购等信息。2.2.2 目标一方面为用户的生活、工作提供方便,另一方面提高企业知名度,为企业产品宣传节约大量成本。2.2.3 评价尺度根据用户的需求,网站中发布的信息要准确、有效、全面,考虑对企业及国家的影响,对一些非法、不健康的信息要及时删除。此外,应加强网站的安全性,避免在遭受到有意或无意的破坏时,导致系统瘫痪,造成严重损失。3. 系统设计3.1 系统模块供求信息网出售信息模块培训信息模块求购信息模块求职供求模块家教搜所模块后台管理模块房屋信息模块招聘信息模块信息列表详细信息详细信息信息列表信息列表详细信息信息列表详细信息信息列表详细信息信息列表详细信息信息列表详细信息管理模板管理登陆图3.1 系统模块结构图3.2 供求信息网顶层Guest角色数据流图浏览者注册验证成功页面登陆管理员用户界面管理员页面用户列表信息列表浏览版块搜索信息显示所有信息显示发布信息显示详细信息显示各版块的信息显示版块信息显示各个版块 信息审核发布的信息通过删除 图3.2 Guest(浏览者)角色层数据流程图3.3 User(用户)角色层数据流图 用户(登陆成功)显示用户信息页面退出返回登陆页面修改个人信息验证成功登陆界面发布信息处理发布的信息成功插入数据库失败图3.3 User(用户)角色层数据流图3.4 都市供求信息网Admin角色层数据流图 浏览用户列表查看用户信息删除用户返回用户列表管理员(成功登陆)显示管理员页面管理员信息发布的信息列表浏览信息审核成功删除图3.4 Admin角色层数据流图3.5 操作流程3.5 都市供求信息网操作流程3.6 功能设计供求信息网前台主要实现信息的显示、搜索与发布功能。后台主要实现的功能为信息显示、信息审核、信息删除、付费设置与退出登录。(1) 信息显示,主要将列表显示给用户已付费信息和分类显示免费信息。通过单击导航栏中的信息类别超链接,将显示该类别下的所有详细信息。(2) 信息搜索,用户可以通过该模块对网站内信息进行定位搜索和模糊搜索。(3) 信息发布,用户可通过此页面发布信息,在页面中用户需要选择要发布信息的类别,然后填写信息内容和联系方式等;在后台信息显示页面中,管理员可删除信息,并通过单击“审核”或信息标题超链接进入信息审核页面审核信息。(4) 进入后台,管理员可以通过登陆模块进入后台管理供求信息。(5) 用户登陆,主要是进行普通用户的登陆功能,只有经过登陆后用户才能发布信息。(6) 用户注册,对于新用户需要注册后才能成为本站的会员,才有机会登陆。(7) 为了防止任意用户进入后台,进行非法操作,所以设置登录功能。管理员可登陆后台进行删除信息,并通过单击“审核”或信息标题超链接进入信息审核页面审核信息,并对信息进行付费设置以及退出登陆。后台登录功能,用户通过单击前台页面顶部的“进入后台”超链接,进入后台登录页面。当用户没有输入用户名和密码,或输入了错误的用户名和密码进行登录时,会返回登录页面显示相应的提示信息。信息删除功能,信息删除用来删除一些发布的无效信息,在每条信息在操作栏中都提供了一个“删除”超链接。信息审核功能,用户发布信息后,不能直接显示在页面中,需要管理员来审核该信息是否可以发布。付费设置功能,付费管理可以将信息设置为“已付费”状态。对于已付费的信息在前台页面显示时,始终显示在页面的顶部位置,以便第一时间被浏览。3.7 数据库设计本课题是一个中型的供求信息网站,可以采用MySQL作为系统中的数据库。首先,规划出本课题所使用的数据库实体,它们分别为供求信息实体、信息类别实体和管理员实体。供求信息实体包括信息编号、所属类型、信息标题、信息内容、联系人、联系电话、E-mail、发布时间、审核状态和付费状态属性。其中审核状态与付费状态属性分别用来标识信息是否审核与付费,1表示“是”,0表示“否”。信息类别实体包括类别编号、类别标识、类别名称和类别介绍属性。管理员实体包括编号、用户名和密码属性。创建与实体对应的数据表,它们为数据表tb_info、tb_admin、tb_type和tb_user,分别对应着供求信息实体、信息类别实体和管理员实体。其中数据表tb_info与tb_type之间相互关联。供求信息表用来保存发布的所有类别的信息,该表的结构如表3.6所示。字 段 名数据类型是否为空是否主键默认值描 述idsmallint(2)NoYesID(自动编号)info_typesmallint(2)YesNULL信息类别info_titlevarchar(80)YesNULL信息标题info_contentvarchar(500)YesNULL信息内容info_linkmanvarchar(50)YesNULL联系人info_phonevarchar(50)YesNULL联系电话info_emailvarchar(100)YesNULLE-mail地址info_datedatetime(8)YesNULL发布时间info_statevarchar(1)Yes0审核状态info_payforvarchar(1)Yes0付费状态表3.6 tb_info表的结构其中info_type字段表示信息所属类别,它与info_type表中的type_sign字段相关联。info_state字段和info_payfor字段分别用来表示信息的审核状态与付费状态,取值为1表示“已通过审核”或“已付费”状态,取值为0表示“未通过审核”或“未付费”状态。信息类别表用来保存信息所属的类别,如招聘信息、求职信息等,该表的结构如:表3.7所示。字段名数据类型是否为空是否主键默认值描 述idsmallint(2)NoID(自动编号)type_signsmallint(2)YesYesNULL类别标识type_namevarchar(20)YesNULL类别名称type_introvarchar(20)YesNULL类别介绍表3.7 tb_type表的结构用户表用来保存管用户信息,该表的结构如表3.8所示。字段名数据类型是否为空是否主键默认值描 述idsmallint(2)NoYesIDuser_namevarchar(20)YesNULL用户名称user_passwordvarchar(10)YesNULL用户密码gendarvarchar(2)YesNULL性别dateDatetime(8)YesNULL日期表3.8 tb_user表的结构管理员表用来保存管理员信息,该表的结构如表3.9所示。字段名数据类型是否为空是否主键默认值描 述idsmallint(4)NoYesIDadmin_namevarchar(10)YesNULL管理员名称admin_passwordvarchar(10)YesNULL管理员密码表3.9 tb_admin表的结构4. 详细设计4.1 公共类设计在本课题中,经常需要在不同的方法中进行相同处理,例如数据库连接和字符串处理等,为了避免重复编码,所以将这些处理封装到单独的公共类中。在本系统中,用到的公共类有数据库连接及操作类、分页类和字符串处理类3个公共类。4.2 数据库连接及操作类4.2.1 功能描述DB类主要是对数据库的操作,如连接、关闭数据库及执行SQL语句操作数据库。每一种操作对应一个方法,如getCon()方法用来获取数据库连接,closed()方法用来关闭数据库连接,而对数据库的增、删、改、查等操作都在doPstm()方法中实现的。4.2.2 程序实现首先,导入所需的类包并声明类的属性然后赋值。主要代码如下:private Connection con;/表示连接到数据库的连接private PreparedStatement pstm;/用来执行SQL语句private String user=sa;/登录数据库的默认用户名private String password=lxl279598118;/登录数据库的密码private String className=com.microsoft.jdbc.sqlserver.SQLServerDriver;/驱动名称private String url=jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=db_CityInfo; /数据库URL然后,在覆盖默认构造方法中使用Class.forName(className)语句实现数据库驱动的加载。通过new操作符实例化一个DB类的同时,就会加载数据库驱动。完成数据库驱动的加载后,创建获取数据库连接的方法getCon(),在方法中使用DriverManager类的getConnection()方法获取一个Connection类实例,建立连接到URL指定的数据库,并制定数据库的用户名和密码,代码如下。con=DriverManager.getConnection(url,user,password);最后,创建对数据库进行增、删、改、查等操作的doPstm()方法,方法中首先调用getCon()方法获取数据库连接,然后使用PreparedStatement类对象的execute方法来执行SQL语句。若执行查询的SQL语句,则调用getResultSet()方法返回ResultSet结果集对象。若执行更新的SQL语句,则调用getUpdateCount()方法返回影响的记录数。4.3 业务处理类4.3.1 功能描述业务处理类OpDB类实现了处理本课题中用户请求的所有业务的操作,包括信息显示、信息发布、管理员登录、用户登录、信息审核、信息删除等。每一个用户请求的业务,在OpDB类中都对应着一个方法,具有相同性质的业务可在一个方法中实现。在这些方法中,通过调用DB类中的doPstm()方法来对数据库进行操作。4.3.2 程序实现OpGetListBox()方法OpGetListBox()方法用来获取所有的信息类别,实现前台页面中的导航菜单项与后台的“信息类别”下拉列表框中的选项。方法中首先调用DB类的doPstm()方法查询tb_type数据表中的所有记录,然后依次取出每条记录中的type_sign与type_intro字段内容,并分别作为TreeMap对象的key值与value值进行保存,最后返回该Map对象。OpGetListBox()方法在处理用户访问前台首页请求的Action类中被调用,在该Action类中将返回的TreeMap对象保存在session范围内,在请求返回JSP页面后,可通过Struts4.3.3 标签获取该TreeMap对象,实现导航菜单或下拉列表。OpListShow()方法用来实现具有列表显示信息功能的业务,例如搜索信息、查看某类别下的所有信息等。在方法中首先调用DB类的doPstm()方法查询数据库,接着调用getRs()方法获取查询后的结果集,然后依次将结果集中的记录封装到InfoSingle类对象中,并将该对象保存到List集合中,最后返回该List集合对象。OpSingleShow()方法实现了查看信息详细内容的业务,如在前台查看某信息的详细内容、在后台进行信息审核与付费设置时用来显示被操作信息的详细内容。方法中首先查询数据库,获取指定条件的记录,然后将记录封装到InfoSingle类对象中,最后返回该对象。本系统的信息发布、信息审核、信息删除和付费设置业务具有相同的性质,都是根据指定的SQL语句来更新数据库。OpUpdate()方法用来实现该业务,方法中首先调用DB类的doPstm()方法更新数据库,接着调用getCount()方法获取更新操作所影响的记录数, 最后返回该记录数。OpUpdate()方法的关键代码如下:public int OpUpdate (String sql , Object params) int i=-1;mydb.doPstm(sql, params);/调用DB类的doPstm()方法更新数据库i=mydb.getCount();/获取更新操作所影响的记录数return i;LogOn()方法用来实现管理员登录操作的身份验证业务,该方法通过查询数据库来判断请求登录的用户是否存在,若存在则返回true,否则返回false。LogOn()方法的关键代码如下:public boolean LogOn(String sql , Object params)mydb.doPstm(sql, params);/查询数据库ResultSet rs=mydb.getRs();/获取结果集boolean mark=(rs=null|!rs.next()?false:true); /判断用户是否存在return mark;OpCreatePage()方法用来设置分页信息,这些信息包括总记录数、总页数、当前页、分页状态和分页导航链接等。OpCreatePage()方法主要就是将分页信息封装到CreatePage类对象中,然后返回该CreatePage对象。在CreatePage类中定义了存储分页信息的属性,并且创建了对应的setXXX()与getXXX()方法来存取这些属性。register()方法用来验证注册用户名时,检测用户名是否存在于tb_user数据库表中。代码如下:public String register()String result=;String user_name=user.getUserName();/获得注册用户名String user_password=user.getUserPassword();/忽的注册密码String sql=select * from tb_user where user_name=?;/查询语句Object params=user_name;OpDB myOp=new OpDB();/生成OpDB类对象tryUserSingle userInfo = myOp.getUserInfoByUserName(sql, params);/把查询结果封装到UserSingle对象if(userInfo!=null)/如果用户名存在ActionContext.getContext().put(tip, 用户名 +user_name+ 已存在!+);result = register;else/如用户名不存在sql=insert into tb_user(user_name,user_password)values(?,?);/插入记录myOp.saveUserSingle(sql, new Objectuser_name,user_password);/储存用户信息ActionContext.getContext().getSession().put(loginUser,user);result=SUCCESS;catch (Exception e)e.printStackTrace();return result;getUserInfoByUserName()方法主要是根据注册的用户名查询数据库中的用户信息。具体代码如下:UserSingle userSingle=null;/创建UserSingle对象mydb.doPstm(sql, params);/查询数据库 try ResultSet rs=mydb.getRs();/返回结果集if(rs!=null&rs.next()userSingle=new UserSingle();/将查询的结果封装到userSingle对象userSingle.setUserName(rs.getString(2);userSingle.setUserPassword(rs.getString(3);rs.close();catch(Exception e)System.out.println(查看详细内容失败!(查询数据库);e.printStackTrace();finallymydb.closed();return userSingle;4.4 分页类4.4.1 功能描述CreatePage类用来封装分页信息,这些信息都保存在CreatePage类的相应属性中。4.4.2 程序实现首先在CreatePage类的构造方法中为这些属性赋初始值。代码如下:public CreatePage()CurrentP=1;/设置当前页码为1AllP=1;/设置总页数为1AllR=0;/设置总记录数为0PerR=3;/设置每页显示3条记录PageLink=; /分页导航栏信息PageInfo=; /分页状态显示信息总页数需要获得总记录数后与每页显示的记录数计算得到,其算法为:“总页数=(总记录数%每页显示记录=0)?(总记录数/每页显示记录):(总记录数/每页显示记录+1)”,所以要先设置总记录数,然后再来设置总页数。CreatePage类中用来设置总页数的方法如下:public void setAllP()AllP = (AllR%PerR=0)?(AllR/PerR):(AllR/PerR+1);在设置当前页码时,要判断由参数传递的当前页码是否有效,例如传递的值是否为数字形式、是否小于1、是否大于总页数等,对这些情况要进行相应的处理。可以调用设置分页状态显示信息的方法来设置分页状态显示信息。该方法的代码如下:public void setPageInfo()if(AllP1) PageInfo=; PageInfo+=每页显示:+PerR+/+AllR+ 条记录!; PageInfo+=当前页:+CurrentP+/+AllP+ 页!; PageInfo+=; 5. 页面设计5.1 前台页面概述本系统中所有的前台页面都采用一种页面框架。该页面框架采用二分栏结构,分为4个区域,即页头、侧栏、页尾和内容显示区。都市供求信息网的前台首页运行效果如图5.1所示。图5.1 都市供求信息网的前台首页5.2 首页信息的列表显示5.2.1 首页信息的列表显示概述该显示实现的效果是:以超链接方式显示信息的标题,单击这些超链接可查看该信息的详细内容。该显示方式将付费信息与免费信息进行分类显示。对于所有类别的付费信息按照信息的发布时间降序排列显示,如图5.2所示。图5.2 付费信息的列表显示对于免费信息,进行归类显示如图5.3所示。图5.3 免费信息的列表显示5.2.2 信息发布界面在已经登陆的前提下,单击页面顶部的“发布信息”超链接,将进入信息发布页面。在该页面中,用户可从下拉列表中选择一种信息类别(共包括11个信息类别:公寓信息、招聘信息、求职信息、培训信息、家教信息、房屋信息、车辆信息、求购信息、出售信息、招商引资、寻找启示),然后输入其他信息,如图5.4所示。图5.4 信息发布页面5.2.3 某类别中所有信息的列表显示该显示实现的效果是:显示出该类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论