当前位置:首页 > 中国矿业大学web技术实验报告 - 图文
《Web技术》实验报告
user表中存储了用户登录的基本信息,包含了id、name、password、authority四个表头,在这里分别代表用户的ID、用户登录用的用户名、用户登录用的密码、用户的权限(0代表管理员1代表普通用户)。(ID以从0递增的方式确定)。
(2)user_information表
user_information表中存储了用户的个人信息,包含了name、nicheng、age、email、aihao、sex六个表头,在这里分别代表用户名、用户的昵称、年龄、邮箱、爱好和性别。其中爱好用数字表示,0代表无,1代表看电影,2代表聊天,3代表看电影、聊天,4代表唱歌,5代表看电影、聊天,6代表聊天、唱歌、7代表看电影、聊天、唱歌。
(3)record表
38
《Web技术》实验报告
record表中存储了用户的登录信息,包含了id、name、time、times四个表头,其中id代表用户ID,name代表登录用户名、time代表用户的登录时间、times代表用户的登录次数。
3.2.2 DAO模式的设计
DAO(Data Access Objects)设计模式是属于Java EE数据层的操作。 DAO整体结构如下图:
(1)数据库连接类的设计——DataBaseConnection类
该类的功能为连接数据库并获得连接对象以进行后续的操作(增、删、改、查)。
关键代码如下:
package com.javaweb.dao1;
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;
//数据库连接类
publicclass DataBaseConnection {
privatefinal String DBDRIVER=\;//MYSQL JDBC驱动
privatefinal String DBURL=
\ncoding=UTF-8\;
//数据库地址并设置编码方式
privatefinal String DBUSER=\;//mysql用户名 privatefinal String DBPASSWORD=\;//mysql密码
39
《Web技术》实验报告
private Connection conn=null;//数据库连接对象
public DataBaseConnection(){ try {
Class.forName(DBDRIVER);//加载MYSQL JDBC驱动程序
System.out.println(\);
this.conn=
DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
//连接数据库 } catch (Exception e) { } }
public Connection getConnection(){//获得数据库连接对象 returnconn; }
publicvoid close(){//关闭数据库 try { } } }
conn.close();
// TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) {
// TODO Auto-generated catch block
System.out.print(\); e.printStackTrace();
其中有三个方法即构造方法、获得连接对象的三个方法、关闭数据库连接的方法;在构造方法中,加载MYSQL JDBC驱动并连接数据库。注意,在编写此类之前,必须将JDBC的jar包放入到Tomcat根目录下的lib文件夹内,并在工程中导入该jar包后才可以运行。
(2)VO类的设计——user类
该类主要是获取一些属性并对一些属性进行赋值。由于set方法和get方法比较简单,这里只列出user类中的属性以及重要的方法。
privateString name=\;//用户名 private String password=\;//密码
privateintauthority=1;//权限
40
《Web技术》实验报告
private String nicheng=\;//昵称 private String age=\;//年龄 private String email=\;//邮箱
private String repassword=\;//重复的密码 private String sex_=\;//性别 private String aihao[]=null;//爱好 privateintaihao_=0;//爱好_字符串
private Map
public Map
publicboolean check(intcode){//检测赋值是否合法 booleanflag=true;
if(!this.name.matches(\)){
flag=false; this.name=\;
this.errors.put(\, \用户名只能由数字、字母和下划线组成\); }
elseif((!new
DAOFactory().getuserDAOInstance().query(this.name))&&code==0){
flag=false; this.name=\;
this.errors.put(\, \用户名已经存在\); }
if(!this.password.matches(\)){
flag=false; this.password=\;
this.errors.put(\, \密码太短\); }
if(!this.repassword.equals(this.password)){
flag=false;
this.repassword=\;
this.errors.put(\, \密码不一致\); }
if(this.nicheng==\){
flag=false;
41
共分享92篇相关文档