




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内蒙古科技大学毕业设计说明书(毕业论文)基于JSP论坛系统摘 要论坛,即常说的BBS(Bulletin Board System电子公告板)随着互联网的大范围高速普及,论坛在人们的网络生活中正变得越来越重要。目前,通过BBS系统可随时取得各种最新的信息;也可以通过BBS系统来和别人讨论计算机软件、程序设计、个人爱好、汽车、音乐等等各种有趣的话题。和大多数论坛系统一样,实现了注册、登录、密码找回、修改密码、发表主题、回复主题及后台管理等功能,旨在为人们提供更为安全便捷的汽车信息交流平台。线上线下,大家聊天聊车聊生活。本系统采用了J2EE企业级技术解决方案,涉及了目前Java世界中的多个主流技术,主要有JSP,servlet,MVC模式等。使用了Eclipse,Tomcat,MySQL等工具。关键词:论坛;J2EE;MySQL;Tomcat容器;MVC模IKey words:Forum; J2EE; MySQL; JSP; Servlet; JavaBean;Tomcat; MVC pattern目录摘 要IAbstract错误!未定义书签。第一章 绪论31.1 研究背景31.2 J2EE的技术优势3第二章 J2EE技术简介与开发工具介绍62.1 MySQL62.1.1 MySQL简介62.1.2 MySQL系统特点62.1.3 数据库的基本概念72.1.4 数据库系统结构72.2 Tomcat简介82.3 J2EE技术82.3.1 J2EE简介82.3.2 JSP技术介绍92.3.3 Servlet技术介绍102.3.4 JavaBean技术介绍10第三章 汽车之家论坛系统分析113.1 需求分析总述113.2 功能需求详细描述113.2.1 个人中心子系统功能需求113.2.2 后台管理子系统功能需求113.3 系统运行环境12第四章 汽车之家论坛系统设计134.1 总体设计134.1.1 系统功能模块介绍134.1.2 实体关系图134.2 详细设计154.2.1 个人中心子系统详细设计154.2.2 后台管理子系统详细设计154.3 数据库设计164.4 系统业务流程描述17第五章 汽车之家系统实现195.1 概述195.2 个人中心子系统实现195.2.1 数据库操作代码195.2.2 会员注册页面235.2.3 会员登录页面245.2.4 找回密码页面255.2.5 修改密码页面275.2.6 个人信息页面285.2.7 管理贴页面295.2.8 查看所有主贴及搜索页面305.2.9 发表主题页面325.2.10 查看主题页面345.2.11 回复主题页面345.3 后台管理子系统实现355.3.1 管理员登录页面355.3.2 后台管理页面36第六章 汽车之家系统设计总结38致谢.37参考文献.38第一章 绪论1.1 研究背景人类正在进入一个信息化时代。这个时代以计算机技术的发展为基础以互联网为主要工具与手段在政治、经济、传播等诸多方面日益展现出与过往一切时代皆不同的面貌。目前中国的网民人数略低于美国的2.15亿,位于世界第二位,并且该数字还一直在上升。Tom Online对中国网民上网习惯的统计显示:热衷于即时通信的网民所占比例最多,为39.7%之多;次之,网民热衷于网络新闻,占总比例的20.0%。专家指出,从汽车行业到互联网行业,任何一个行业都有价值回归的过程。只是这个过程的长短而已,为吸引更多的人上网,当前需要做的工作是要利用利用好现有资源,利用软件技术持之以恒的实现互联网的附加服务。1.2 J2EE的技术优势J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:1).保留现存的IT资产: 由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资,如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker以及Netscape Application Server。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的“企业计算”领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。2).高效的开发:J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。3).支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。4).可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。5).稳定的可用性:一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。第二章 J2EE技术简介与开发工具介绍2.1 MySQL2.1.1 MySQL简介MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。2.1.2 MySQL系统特点1).使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。2).支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。3).为多种编程语言提供了API。这些编程语言包括C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。4).支持多线程,充分利用CPU资源。5).优化的SQL查询算法,有效地提高查询速度。6).既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。7).提供TCP/IP、ODBC和JDBC等多种数据库连接途径。8).提供用于管理、检查、优化数据库操作的管理工具。9).可以处理拥有上千万条记录的大型数据库。2.1.3 数据库的基本概念数据库系统DBS(Data Base System,简称DBS)是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任。2.1.4 数据库系统结构如图示:图2.1 数据库系统结构2.2 Tomcat简介Tomcat是Apache软件基金下的一个开源项目,是在SUN的JSWDK的基础上发展起来的另一个优秀的JSP服务器,它不但支持Servlet,而且还提供了Web服务器的功能。Tomcat是一个基于HTTP协议的web appclcation server ,能够接收Http请求和返回Http应答。Tomcat内置了一个web容器catalina,主要就是实例化web组件(servlet,jsp)和创建一些java对象(HttpServletResquest、HttpServletResponse),启动一个线程去调用web组件,并且将前面创建的这些对象传给servlet,HttpServletRequest里面包含了Browser这一端传过来的数据信息,我们在servlet里面就可以去获取到这些信息。HttpServletResponse对象提供了一些方法,可以往Browser这一端发送数据。2.3 J2EE技术2.3.1 J2EE简介在SUN公司制定的J2EE规范中,JSP,Servlet,EJB构成了整个J2EE的核心,但由于开源软件的发展,由许多商业性或者非商业性的厂商或组织对整个J2EE规范做了增强。目前,整个J2EE框架的开发模型如下:1).运行在客户端机器上的客户层组件。2).运行在J2EE服务器上的Web层组件。3).运行在J2EE服务器上的业务逻辑层组件。4).运行在EIS服务器上的企业信息系统(Enterprise information system)层软件。图2.2 J2EE框架的开发模型其中在各层使用的主要技术如下:1).客户层:HTML,Javascript,Ajax2).表现层:JSP,Servlet,Struts3).业务逻辑层:JavaBean,EJB,Spring4).集成层(持久化层):JDBC, Hibernate,JCA本系统采用的主要技术如下:HTML+Javascript+JSP+Servlet+ JavaBean2.3.2 JSP技术介绍1).JSP是由SUN公司倡导、许多公司参与一起建立的一种动态网页技术标准。2).JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。3).JSP的本质就是Servlet,它是Servlet技术的扩展。4).在整个J2EE体系中,JSP的主要技术优势在于显示数据。2.3.3 Servlet技术介绍1).Servlet由Sun公司倡导,许多公司参与一起建立的一种服务器端技术标准。2).如果把HTML代码中嵌入Java代码称作为JSP,那么在Java代码中嵌入HTML代码就是Servlet。3).在整个J2EE体系中,Servlet的主要技术优势在于流程控制。2.3.4 JavaBean技术介绍1).JavaBean也是一种开发标准,只是这个标准不要求严格的执行。2).JavaBean是一种Java类,它遵从一定的设计模式,使它们易于和其他开发工具和组件一起使用。3).主要特点包括:提供一个无参构造器,一组setXxx和getXxx方法,还可能存在一些业务逻辑方法。4).JavaBean的技术优势:简单,与任何Web容器无耦合,善长于处理业务逻辑。第三章 汽车之家论坛系统分析3.1 需求分析总述汽车之家论坛系统是为了给那些爱好汽车的人提供一个网上交流的平台,在网上提供现实论坛所需的各种交流手段,以服务广大汽车爱好者为主,强调互动性、知识性、趣味性,是结交车友,了解信息好去处。整个系统主要包括会员个人中心、论坛后台管理系统。3.2 功能需求详细描述本系统分为两个子系统,现分别描述如下:3.2.1 个人中心子系统功能需求此子系统将实现一下功能:1).注册:填写个人信息与登录用户名和密码成为汽车之家论坛用户。2).登录:用注册过的用户名及密码进入汽车之家论坛。3).找回密码:系统会将用户忘记的登录密码发回用户的注册电子邮箱中。4).修改密码:用户修改被泄露或不在安全的登录密码。5).发表新主题:发表新的话题。6).回复:回复评论话题。7).搜索:用户可以利用此功能,方便的找到所希望得到的信息、资料。8).帖子管理:用户对自己发表的帖子进行删除操作,同时删除回复。3.2.2 后台管理子系统功能需求此后台管理子系统将实现一下功能:1).查看:查看所有注册用户信息。2).操作:对某些用户进行删除操作。3.3 系统运行环境采用B/S架构,使用j2se1.5.0_06运行环境服务器操作系统:Windows数据库服务器:MySQLWeb服务器:Apache Tomcat第四章 汽车之家论坛系统设计4.1 总体设计本系统共分为4层,分别为客户层,表现层,业务逻辑层,持久化层。在各层采用的主要技术如下所示:客户层:HTML,Javascript表现层:JSP,Servlet,Struts业务逻辑层:JavaBean持久化层:JDBC4.1.1 系统功能模块介绍1).注册模块:提交并处理用户信息,完成注册。2).登录模块:监测数据库中用户信息是否存在及匹配,提供给用户相应的权限。3).找回密码模块:将用户忘记的密码发回到用户的注册邮箱。4).发新主题及回复主题模块:将用户发表的新主题和回复主题提交并处理。5).搜索主题模块:在数据库中按主题和发帖时间搜索主题。6).个人信息管理模块:在数据库中删除用户本人发表的主题、修改用户登录密码。7).后台管理模块:持有管理员权限的人可以对长期未登录的用户进行删除操作。4.1.2 实体关系图本系统开发过程中,划分了两个子系统。ER图如下所示:个人中心子系统:图4.1 个人中心子系统ER图后台管理子系统:图4.2 后台管理子系统ER图4.2 详细设计4.2.1 个人中心子系统详细设计1).注册模块:在register.jsp页面中,需要用户填写用户名(在本数据库中唯一)、密码、邮箱(以备找回密码时需要)、昵称,然后提交到相应的处理类,最后写入数据库。2).登录模块:让用户在login.jsp页面中输入用户名和相对应的登录密码,提交到相应的处理类后从数据库中查找用户名是否存在,用户名和密码是否匹配,如是,则跳转到登录成功页面,否则跳转到login.jsp并提示错误信息。3).找回密码模块:在findbackpassword.jsp页面中,用户输入忘记了密码的用户名并提交,相应的处理类接收到用户名后,在数据库中查找该用户名对应的密码和邮箱并返回到相应的处理类,该处理类将密码发送到返回的邮箱中(即该用户对应的注册邮箱)。4).发新主题、回复模块:发新主题和回复在处理过程上很相似,只是最后写入两张数据库表中。从页面获取用户输入的主题和文本,提交到相应的处理类,最后写入数据库。5).搜索主题模块:搜索分为按主题搜索和按发表时间搜索。从页面获取将要搜索的主题或者时间,在数据库中搜索并返回满足条件的主题。6).个人信息管理模块:包括删除用户本人发表的主题和修改用户本人登录密码。当用户登录成功后,进入管理帖子页面,该页面显示了用户发表的所有主题,选中将要操作的主题后,点击删除,将从数据库中删除该用户名所对应的并被选中的ID的所有的帖子,该操作不可恢复。修改密码时,得到用户提交的用户名、旧密码、新密码后,在数据库中查找用户名和旧密码是否匹配,若匹配则用新密码覆盖旧密码,否则提示错误信息。4.2.2 后台管理子系统详细设计该模块是系统管理员管理用户信息的页面。持有管理员权限的人可以对长期未登录的用户进行删除操作。管理员通过提交删除请求对数据库users表进行操作。4.3 数据库设计该论坛系统共涉及三张表,分别是:用户表 (该表记录了用户的注册信息)、 主贴表 (该表记录了用户发表的新主题)、 回帖表 (该表记录了用户对主题的回复)。本系统采用MySQL数据库,表的结构如下所示:表4.1 用户表字段名字段类型约束或者索引描述usernovarcharnot nul用户名passwordvarcharnot nul登录密码usernamevarcharnot nul昵称emailvarcharnot nul注册邮箱createtimedatetimenot nul用户名创建时间beforetimedatetimenot nul上次登录时间表4.2 主贴表字段名字段类型约束或者索引描述idintauto_increment主题IDusernovarcharnot nul发表该主题的用户usernamevarcharnot nul发表该主题的用户昵称titlevarcharnot nul主题的标题contexttextnot nul主题的文本createtimedatetime发表时间表4.3 回帖表字段名字段类型约束或索引描述idtieintnot null该贴所回复的主贴的IDusernovarcharnot null发表该回复的用户名usernamevarcharnot null发表该回复的用户昵称contexttextnot null回复的文本createtimedatetime回复时间4.4 系统业务流程描述业务流程简要说明了系统提供的功能和对应权限所能执行的操作。分为两部分:用户业务流程和管理员业务流程。4.4.1用户业务流程图如下:图4.3用户业务流程说明:用户业务流程所提供的管理贴功能中删除贴具有不可恢复性,请用户慎重操作。修改密码功能在未登录前提下也可使用,但同样需要密码验证。4.4.2管理员业务流程图如下:图4.4 管理员业务流程说明:管理员业务流程所提供的删除用户功能也具有不可恢复性,请慎重操作。第五章 汽车之家系统实现5.1 概述本文为了方便描述,以JSP页面设计为中介进行系统实现说明,一般的说明步骤为:1). JSP页面所代表的功能描述2).显示界面3.显示相关核心代码5.2 个人中心子系统实现5.2.1 数据库操作代码本系统的几乎所有操作都是与数据库通信且交换数据,下面是数据库连接及操作代码:/一下代码定义与数据库建立连接的方法public Connection getCon() Connection con = null; try Class.forName(com.mysql.jdbc.Driver);/获取mysql驱动 catch (ClassNotFoundException e1) System.out.println(驱动加载错误!); e1.printStackTrace(); String url=jdbc:mysql:/localhost/bbs?user=root&password=mysql; try con= DriverManager.getConnection(url);/拿到链接 catch (SQLException e) System.out.println(数据连接错误!);e.printStackTrace(); return con; /以下代码定义执行sql语句方法并返回结果集 public ResultSet getQuery(String sql) Connection conn=getCon(); Statement stt=null; ResultSet rs = null; trystt=conn.createStatement();rs=stt.executeQuery(sql); catch(Exception e)e.printStackTrace(); return rs; /以下代码定义插入数据库方法 public int insert(String sql) Connection conn=getCon(); Statement stt=null; int n=0; try conn.setAutoCommit(false); stt=conn.createStatement(); n=stt.executeUpdate(sql); mit(); catch (SQLException e) try conn.rollback(); catch (SQLException e1) e1.printStackTrace(); e.printStackTrace(); finallytry stt.close(); conn.close(); catch (SQLException e) e.printStackTrace(); return n; /以下代码定义从数据库中删除记录方法 public void delete(String sql) Connection conn=getCon(); Statement stt=null; try conn.setAutoCommit(false); stt=conn.createStatement(); for(int i=0;isql.length;i+) stt.executeUpdate(sqli); mit(); catch (SQLException e) try conn.rollback(); catch (SQLException e1) e1.printStackTrace(); e.printStackTrace(); finally try stt.close(); conn.close(); catch (SQLException e) e.printStackTrace(); /以下代码定义数据库逐条删除记录方法 public void delete(String sql) Connection conn=getCon(); Statement stt=null; try conn.setAutoCommit(false);stt=conn.createStatement();stt.executeUpdate(sql);mit(); catch (SQLException e) try conn.rollback(); catch (SQLException e1) e1.printStackTrace(); e.printStackTrace(); finally try conn.setAutoCommit(true); stt.close(); conn.close(); catch (SQLException e) e.printStackTrace(); /以下代码定义更新数据库操作方法 public int update(String sql) Connection conn=getCon(); Statement stt=null; int n=0; try conn.setAutoCommit(false);stt=conn.createStatement();n=stt.executeUpdate(sql);mit(); catch (SQLException e) try conn.rollback(); catch (SQLException e1) e1.printStackTrace(); e.printStackTrace(); finallytry stt.close();conn.close(); catch (SQLException e) e.printStackTrace(); return n; 5.2.2 会员注册页面此页面实现会员注册功能。注册界面如下:图5.1注册界面注册页面核心代码如下:user.setUserno(request.getParameter(“userno”);user.setPassword(request.getParameter(“password”);user.setUsername(request.getParameter(“username”);user.setEmail(request.getParameter(“email”);/接受JSP传过来的参数,设置到/userbeanpublic boolean add(UserBean user) /定义添加用户方法String sql=”insert into users values (”+user.getUserno()+”,”+user.getPassword()+”, ”+user.getUsername()+”,”+user.getEmail()+”,”+user.getDate()+”,”+user.getDate()+”)”;/将注册信息插入数据库语句String sql2=”select * from users where userno=”+user.getUserno()+”;/查询数据库中是否已存在用户名5.2.3 会员登录页面此页面实现会员登录功能。登录界面如下: 图5.2 登录界面登录页面核心代码如下:user.setUserno(request.getParameter(“userno”);user.setPassword(request.getParameter(“password”);/将登录页面提交的用户名和密码设置在userbenpublic UserBean findUser(UserBean user) /定义方法在数据库中查找用户String sql=”select * from users where userno=”+user.getUserno()+” and password=”+user.getPassword()+”; / 构造查询语句5.2.4 找回密码页面此页面实现找回密码功能,当用户忘记密码时,可以通过此页面所提供的功能重新设置密码。只需输入用户名,系统将会把密码发送到该用户名对应的注册邮箱中。找回密码页面界面如下:图5.3 找回密码界面找回密码页面核心代码如下:public UserBean findbackPassword(UserBean user)/从数据库中返回用户名所/对应的用户的信息String sql=”select * from users where userno=”+user.getUserno()+”;UserBean user1=new UserBean(); 实例化一个users ResultSet rs; /定义一个结果集 try rs=db.getQuery(sql);/执行数据库查询语句if(!rs.next() /用户不存在则返回空return null;else /否则将用户信息设置在接受的users中user1.setPassword(rs.getString(“password”);user1.setEmail(rs.getString(“email”); catch (Exception e) e.printStackTrace(); return user1; /最后返回接受了用户信息的users String address = null; /jsp页面地址初始化为nullUserBean user = new UserBean(); /user用来接受jsp页面发送的请求参数UserBean user2 = new UserBean(); /user2用来接受userManager返回的带用户信息的usersUserManager userManager = new UserManager();try user.setUserno(request.getParameter(“userno”);/接受jsp请求 catch (Exception e) e.printStackTrace(); user2 = userManager.findbackPassword(user); /接受userManager信息if(user2=null)request.setAttribute(“message”, “该用户不存在”);address=”findpassword.jsp”;elseString password = user2.getPassword(); /取回密码String emailaddress = user2.getEmail(); /取回邮箱地址request.setCharacterEncoding(“utf-8”);/设置jsp页面编码SimpleEmail email = new SimpleEmail();email.setHostName(“”);/设置邮件服务器email.setAuthentication(“wanghl765”, “592641”);/用户名密码验证email.setCharset(“utf-8”);/设置邮件编码try email.setFrom(“”);/设置发件人email.addTo(emailaddress);/添加收件人email.setSubject(“汽车之家登录密码”);/设置主题email.setMsg(“你的登录密码是:”+password);/ 设置邮件内容email.send();/发送邮件 catch (EmailException e) e.printStackTrace();request.setAttribute(“message”, “你的密码已经发送到你的注册邮箱中”);address=”passwordsendout.jsp”;5.2.5 修改密码页面此页面实现修改密码功能。当用户觉得密码泄露时,通过该页面提供的功能修改密码。当用户名和旧密码相匹配时,系统会将新密码写入数据库作为该用户的新密码,下次登录时就该用新密码登录了。修改密码页面界面如下:图5.4 修改密码界面修改密码页面核心代码如下:user.setUserno(request.getParameter(“userno”);user.setPassword(request.getParameter(“oldpassword”);/接受用户名和旧密码public void updatePassword(String userno,String newpassword)/定义修改密码方法String sql=”update users set password=”+newpassword+” where userno=”+userno+”;/构造数据库语句,将旧密码用新密码覆盖在对应的用户名上db.update(sql);/执行更新语句5.2.6 个人信息页面此页面显示用户信息,查看贴修改贴以及修改密码链接也在这个页面。个人信息页面界面如下:图5.5 个人信息界面该页面使一些链接和JSP标签提取的论坛生日和最后一次进站时间,代码不在此列出。5.2.7 管理贴页面此页面实现帖子查看和管理功能。当用户在复选框选中主题帖后点击删除按钮,将删除所选主题帖及回帖。点击查看时,可以浏览主题及对应的回复。管理贴页面界面如下:图5.6 管理贴界面管理贴页面核心代码如下:java.sql.ResultSet rs=zhutie.findZhuTie(user.getUserno();/拿到数据库驱动返回的结果集while(rs.next() String id=rs.getString(“id”);String title=rs.getString(“title”);String createTime=rs.getString(“createTime”);5.2.8 查看所有主贴及搜索页面此页面显示所有用户发的主题帖;提供搜索功能:按标题搜索和按时间搜索。其中按标题搜索提供模糊匹配搜索。查看所有贴及搜索页面界面如下:图5.7 查看所有贴及搜索界面查看所有贴及搜索页面核心代码如下:java.sql.ResultSet rs=(java.sql.ResultSet)request.getAttribute(“zhuTie”);while(rs.next()String id=rs.getString(“id”);String username=rs.getString(“username”);String title=rs.getString(“title”);String createTime=rs.getString(“createTime”);/下面这段代码返回结果集public ResultSet findZhuTieBT(String biaoti)String sql=”select * from zhuTie where title like %”+biaoti+”%”;List list=Lucene.fenci(biaoti);Iterator it=list.iterator();while(it.hasNext()sql=sql+”or title like %”+it.next()+”%”;ResultSet rs=db.getQuery(sql);return rs;/下面这段代码是按时间查找,返回结果集public ResultSet findZhuTieSJ(int shijian)SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);Date nowDate=new Date();nowDate.setDate(nowDate.getDate()-shijian);String now=df.format(nowDate);String sql=”select * from zhuTie where createTime=”+now+”;ResultSet rs=db.getQuery(sql);return rs;5.2.9 发表主题页面此页面实现了发表主题的功能。当用户输入标题和发表的文章,点击提交,该用户发表的文章被提交到数据库便别的用户查看和评论回复。发表主题页面的界面如下:图5.8 发表主题界面发表主题页面的核心代码如下:zhutie.setUserno(request.getParameter(“userno”);zhutie.setUsername(request.getParameter(“username”);zhutie.setTitle(request.getParameter(“title”);zhutie.setContext(request.getParameter(“context”);/设置贴的标题及内容TieBean中。public int addZhuTie(TieBean zhutie)/定义添加贴方法String sql=”insert into zhuTie values(null,”+ zhutie.getUserno()+”,”+ zhutie.getUsername()+”,”+ zhutie.getTitle()+”,”+ zhutie.getContext()+”,”+ zhutie.getCreateTime()+”)”;return db.insert(sql);5.2.10 查看主题页面此页面显示一个主题及其所对应的回复。查看主题页面的界面如下:图5.9 查看主题界面查看主题页面的核心代码如下:List list=listTie.findList(Integer.parseInt(request.getParameter(“id”);request.setAttribute(“listTie”, list);request.setAttribute(“id”, request.getParameter(“id”);5.2.11 回复主题页面此页面实现了回复主题的功能。当用户欲对某一主题回复时,将评论信息填写并提交,即完成回复功能。回复主题页面的界面如下:图5.10 回复主题界面回复主题页面的核心代码如下:public int addHuiTie(TieBean zhutie)/定义添加贴方法String sql=”insert into huiTie values(”+zhutie.getId()+”,”+zhutie.getUserno()+”,”+zhutie.getUsernam
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 泉州华光职业学院《翻译理论与实践》2023-2024学年第二学期期末试卷
- 石家庄工商职业学院《法律英语》2023-2024学年第二学期期末试卷
- 山西财贸职业技术学院《电脑音乐制作》2023-2024学年第二学期期末试卷
- 重庆电子工程职业学院《小学数学教学与研究(一)》2023-2024学年第二学期期末试卷
- 太原师范学院《儿童画创作》2023-2024学年第二学期期末试卷
- 房顶花园设计施工方案
- 2025至2031年中国多面液压抽芯模具行业投资前景及策略咨询研究报告
- 2025至2031年中国可编址防宠物被动红外探测器行业投资前景及策略咨询研究报告
- 2025至2031年中国全瓷桥梁砖行业投资前景及策略咨询研究报告
- 2025至2031年中国PAR38大功率LED射灯行业投资前景及策略咨询研究报告
- 2024版父子房屋买卖合同协议书
- 八年级历史下册知识点归纳和专题复习【提纲】
- 《三国演义》导读课(教学设计)统编版语文五年级下册
- 医疗器械行业薪酬分析报告
- JJG(交通) 178-2022 拉脱式涂层黏结力测试仪检定规程
- 矿山托管经营合同范本
- 2024年高中英语衡水体书法练字字帖
- 工程项目质量风险源识别及管控措施
- 伤寒论全398条全文-顺序
- 超市投资预算表
- MOOC 大学生创新与创业实践-西南交通大学 中国大学慕课答案
评论
0/150
提交评论