组件技术--简易论坛模型设计.doc_第1页
组件技术--简易论坛模型设计.doc_第2页
组件技术--简易论坛模型设计.doc_第3页
组件技术--简易论坛模型设计.doc_第4页
组件技术--简易论坛模型设计.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

课程名称: 组 件 技 术 设计题目: 简易论坛模型设计 课程设计要求:1、 掌握Struts开发流程2、 掌握Action的工作原理3、 掌握Struts-config.xml文件的配置4、 功能模块的完善与交互5、 实现论坛模型的几个主要基本功能,包括用户注册、用户信息修改、删除用户、主题编辑、回复编辑、删除主题和删除回复、权限管理、用户登录、查询用户资料工作计划及安排:此次设计共有一周时间分为四个阶段。第一个阶段:认真分析老师给的资料,读懂论坛模型的基本代码;第二个阶段:开始着手设计,进行所需软件的安装,接着进行环境配置(此过程需要查阅大量资料)软件汉化等调试前的准备工作;第三的阶段:调试程序,修改错误,优化界面及功能;第四个阶段:总结实训,完成实验报告。总结:通过这次课程设计,我对Struts有了更深入的认识,Struts是一个非常方便的Web MVC框架,基于这个框架能够更迅速便捷的进行Web的开发,掌握Struts的原理能够 帮助我们了解JSF。 课程设计(大作业)报告一、 题目分析1、掌握Struts开发流程2、掌握Action的工作原理3、掌握Struts-config.xml文件的配置4、功能模块的完善与交互5、实现论坛模型的几个主要基本功能二、 总体设计1、 用户注册用户注册模块用于添加基本的用户信息。目前,在用户注册模块验证用户名是否重复时使用最多的技术是Ajax,该技术基于无刷新页面的方式与数据库中的用户数据进行对比。2、 用户信息修改用户信息修改模块的技术关键点在于Struts中的HTML类型的标签与数据库中的数据交互。3、 删除用户删除用户模块仅仅是一个DELETE的操作,但其影响到相关的帖子及主题发表者与用户的关联性操作。设计时应注意做到如何删除用户但与这个用户相关的帖子中的信息不被破坏。4、 主题编辑主题编辑模块是在开发留言板、论坛类项目时必做的一个模块。在发表主题时,需要注意对特殊符号的安全处理。5、 回复编辑回复编辑和主题编辑的功能大体一样,它们的共同点是基于用户权限使用“编辑”功能,只有管理员才能编辑,只有管理员才会出现“编辑”超链接,设计时要注意权限的判断。6、 删除主题和删除回复删除主题时要将回复一起删除,删除回复时要对回复与用户名之间关联做一些善后的处理。7、 权限管理设计时注意区别用户与管理员的权限。8、 用户登陆用户登录是典型的权限认证和数据库操作的实例。在主界面单击登录,出现登录界面后输入正确的用户名和密码后登录系统。9、 查询用户资料本模块具有一些JDBC与超级链接结合显示数据的基础实例。在BBS的使用过程中,经常需要对用户进行查询的操作,本项目也需要这样的模块。三、 实验器材Windows操作系统,MyEclipse软件1.配置Eclipse下的Struts开发环境需要以下软件:四、 制作步骤1. 安装顺序如下:(1) 安装jdk-1_5_0_08-windows-i586-p.exe。(2) 配置JDK环境变量。(3) 解压eclipse3.2.1.zip。(4) 安装MyEclipseEnterpriseWorkbenchInstaller_5.1.0GA_E3.2.1exe。(5) 安装apache-tomcat-5.5.20.exe。2.成功安装MyEclipse和Tomacat后需要将Tomacat和MyEclipse进行集成。单击“Window”“Preferences”菜单后出现以下界面2. 选择“MyEclipse”节点中的“Tomcat5”节点,按图进行设置:3.在图示窗口中设置“Tomcat Server”的状态为“Enable”,设置“Tomcat Home Directory”的内容,即Tomcat的安装目录,设置完成后单击“OK”。4.在“one.jsp”文件的和之间加入JSP脚本:五、 程序代码1.用户注册页面描述:单击首页的“注册”超级链接,即出现用户注册的界面,在界面中可以实现新用户的注册,填入必要的信息后单击“Submit”按钮,则在数据库中新添加一条用户信息的记录。其代码如下: location.reload;JSP for UsersForm form姓名:密码:确认密码:性别:男 女年龄:地址:邮件:验证码:    在该页中,为防止刷屏,还需要Action代码:package com.zjy.struts.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.struts.action.Action;import org.apache.struts.action.ActionError;import org.apache.struts.action.ActionErrors;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import com.zjy.struts.form.UsersForm;import com.zjy.struts.mypackage.UserDao;public class UsersAction extends Action public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) UsersForm usersForm = (UsersForm) form;/ TODO Auto-generated methodUserDao ud = new UserDao();HttpSession hs = request.getSession();String image = (String) hs.getAttribute(rand);/取验证码if (usersForm.getYzm().equals(image) /判断int rst = ud.selectName(usersForm.getName();/查用户名是否已被注册System.out.println(1);if (rst = 1) /已被注册System.out.println(3);ActionErrors errors = new ActionErrors();errors.add(name, new ActionError(namewrong1);this.saveErrors(request, errors);return mapping.getInputForward(); else /未注册int rs = ud.insertUsers(usersForm);/注册if (rs = 1) System.out.println(4); hs.setAttribute(keys,0);hs.setAttribute(dname, usersForm.getName();request.setAttribute(inf, 2);return mapping.findForward(tomessage);/ 正确 else System.out.println(5);request.setAttribute(inf, 3);return mapping.findForward(tomessage);/ 出错 else System.out.println(2);ActionErrors errors = new ActionErrors();errors.add(yzm, new ActionError(yzmwrong);this.saveErrors(request, errors);return mapping.getInputForward();使用UserDao的实例ud判断用户是否注册,如果注册过,则返回错误信息,如果没有注册使用JDBC代码操作数据库添加用户记录。UserDao.Java代码如下:package com.zjy.struts.mypackage;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.Date;import java.util.List;import com.zjy.struts.form.UsersForm;public class UserDao public PreparedStatement ps = null;public Connection con = null;public UserDao() try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver).newInstance();String url = jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=luntan;String user = sa;String password = ;con = DriverManager.getConnection(url, user, password); catch (Exception e) / TODO: handle exceptionpublic int insertUsers(UsersForm usersForm) UsersForm uf = usersForm;int rs = 0;Date t = new Date();String ts = t.toLocaleString();try ps = con.prepareStatement(insert into users(name, password, adds, sex, email, age, times) values(?,?,?,?,?,?,?);ps.setString(1, bx(uf.getName();ps.setString(2, uf.getPassword();ps.setString(3, bx(uf.getAdds();ps.setString(4, bx(uf.getSex();ps.setString(5, bx(uf.getEmail();ps.setString(6, uf.getAge();ps.setString(7, ts);rs = ps.executeUpdate();System.out.print(insert right!); catch (Exception e) System.out.println(e);rs = 0;System.out.print(insert wrong!);/ 关闭Jdbcfinally try ps.close();con.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return rs;public int selectName(String name) Statement stmt = null;ResultSet rs = null;int rst = 0;try stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);String sql = select * from users where name= + bx(name) + ;rs = stmt.executeQuery(sql);if (rs.next() rst = 1;/ System.out.print(rst); catch (Exception e) / TODO: handle exceptionSystem.out.print(e); finally try rs.close();stmt.close();/ con.close(); catch (Exception e) / TODO: handle exceptionreturn rst;public UsersForm selectInf(String name) Statement stmt = null;ResultSet rs = null;UsersForm uf = new UsersForm();try stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);String sql = select * from users where name= + bx(name) + ;rs = stmt.executeQuery(sql);if (rs.next() uf.setId(rs.getInt(1);uf.setName(bx(name);uf.setAdds(rs.getString(4);uf.setSex(rs.getString(5);uf.setEmail(rs.getString(6);uf.setAge(rs.getString(7);/ System.out.print(rst); catch (Exception e) / TODO: handle exceptionSystem.out.print(e); finally try rs.close();stmt.close();/ con.close(); catch (Exception e) / TODO: handle exceptionreturn uf;public int updateUsers(UsersForm usersForm) UsersForm uf = usersForm;Statement stmt = null;int rst = 0;try stmt = con.createStatement();String sql = update users set password= + uf.getPassword()+ ,adds= + uf.getAdds() + ,sex= + bx(uf.getSex()+ ,email= + uf.getEmail() + ,age= + uf.getAge()+ where name= + uf.getName() + ;rst=stmt.executeUpdate(sql);System.out.print(insert right!); catch (Exception e) System.out.println(e);rst = 0;System.out.print(insert wrong!);/ 关闭Jdbcfinally try con.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return rst; public List selectAll () List list =new ArrayList(); Statement stmt = null;ResultSet rs = null;try stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);String sql=select * from users;rs=stmt.executeQuery(sql);while(rs.next()UsersForm uf = new UsersForm();uf.setId(rs.getInt(1);uf.setName(rs.getString(2);uf.setAdds(rs.getString(3);uf.setSex(rs.getString(4);uf.setEmail(rs.getString(5);uf.setAge(rs.getString(6);list.add(uf); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); return list; public int deleteUser(String ids) Statement stmt = null; int rst=0; try int id=Integer.parseInt(ids);stmt=con.createStatement(); String sql=delete from users where id=+id; rst=stmt.executeUpdate(sql); catch (SQLException e) / TODO Auto-generated catch blockr

温馨提示

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

评论

0/150

提交评论