900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > jsp dbbean mysql_Servlet+JSP+MySQL实现用户管理模块之二 实现用户注册

jsp dbbean mysql_Servlet+JSP+MySQL实现用户管理模块之二 实现用户注册

时间:2019-10-20 07:36:49

相关推荐

jsp dbbean mysql_Servlet+JSP+MySQL实现用户管理模块之二 实现用户注册

实现用户注册

首先,写好数据库工具类DBUtils.java和用户实体类User.java,以及数据库操作类UserDao.java。由于UserDao类代码太多,所以按功能分开展示,重复的就不再展示了。

DBUtils:packageutil;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

importjava.util.ResourceBundle;

/**

*数据库连接工具类

*/

publicclassDBUtils{

privatestaticStringurl;//数据库连接URL

privatestaticStringusername;//数据库登录用户

privatestaticStringpassword;//数据库登录

privatestaticStringdriverclass;//数据库驱动类

static{

//从properties文件获取数据库连接信息,这样便于维护和安全。

ResourceBundlerb=ResourceBundle.getBundle("dbinfo");

driverclass=rb.getString("driverclass");

url=rb.getString("url");

username=rb.getString("username");

password=rb.getString("password");

try{

Class.forName(driverclass);

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}

}

/**

*获取数据库连接方法

*@returnConnection连接对象

*@throwsException

*/

publicstaticConnectiongetConnection()throwsException{

returnDriverManager.getConnection(url,username,password);

}

/**

*完善的释放资源方法

*--若没有结果集,rs传递null即可。

*@paramrs结果集,ResultSet对象

*@paramps执行SQL语句的PreparedStatement对象,使用父类Statement接收

*@paramconnConnection连接对象

*/

publicstaticvoidcloseAll(ResultSetrs,Statementstmt,Connectionconn){

if(rs!=null){

try{

rs.close();

}catch(SQLExceptione){

e.printStackTrace();

}

rs=null;

}

if(stmt!=null){

try{

stmt.close();

}catch(SQLExceptione){

e.printStackTrace();

}

stmt=null;

}

if(conn!=null){

try{

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

conn=null;

}

}

}

User:packageentity;

/**

*用户对象类(实体类)

*/

publicclassUser{

//用户ID

privateintuserId;

//用户名

privateStringuserName;

//用户账号

privateStringuserAccount;

//用户密码

privateStringuserPassword;

//用户状态,在用户列表显示与否,用于删除用户,起到缓冲备份作用

privateStringuserDisplay;

//记录删除时间,用于管理已删除用户

privateStringuserDeleteTime=null;//默认为空

//get和set方法省略

}

下面就是JSP注册页面,userregister.jsp

pageEncoding="UTF-8"%>

htmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""/TR/html4/loose.dtd">

用户注册界面

functioncheck(){

if(document.form1.userName.value==""){

alert("请输入用户名!");

returnfalse;

}

if(document.form1.userAccount.value==""){

alert("请输入用户账号!");

returnfalse;

}

if(document.form1.userPassword.value==""){

alert("请输入用户密码");

returnfalse;

}

if(document.form1.userPassword1.value==""){

alert("请输入确认密码!");

returnfalse;

}

if(document.form1.userPassword.value!=document.form1.userPassword1.value){

alert("对不起!确认密码不等于登录密码");

returnfalse;

}

returntrue;

}

注册Servlet,UserRegisterServlet.javapackageservlet;

importjava.io.IOException;

importjavax.servlet.ServletException;

importjavax.servlet.annotation.WebServlet;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importdao.UserDao;

importentity.User;

/**

*用户注册功能Servlet

*/

@WebServlet("/UserRegisterServlet")

publicclassUserRegisterServletextendsHttpServlet{

privatestaticfinallongserialVersionUID=1L;

@Override

protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)

throwsServletException,IOException{

super.doGet(req,resp);

}

@Override

protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)

throwsServletException,IOException{

resp.setContentType("text/html;charset=UTF-8");

req.getSession();

//获取用户表单数据

StringuserName=req.getParameter("userName");

StringuserAccount=req.getParameter("userAccount");

StringuserPassword=req.getParameter("userPassword");

//实例化用户对象

Useruser=newUser();

user.setUserName(userName);

user.setUserAccount(userAccount);

user.setUserPassword(userPassword);

//添加用户

UserDaoud=newUserDao();

Stringstatus=ud.insertUser(user);

if(status.equals("OK")){

//跳转到登录界面

//Stringpath=resp.encodeURL("userlogin.jsp");

//req.getRequestDispatcher(path).forward(req,resp);

Stringurl=resp.encodeRedirectURL(req.getContextPath()+"/userlogin.jsp");

resp.sendRedirect(url);

}else{

Stringmsg="注册失败,2秒后刷新。";

req.setAttribute("msg",msg);

Stringpath=resp.encodeURL(req.getContextPath()+"/userregister.jsp");

resp.setHeader("refresh","2;url="+path);

}

}

}

数据库操作--添加用户方法:/**

*实现添加用户功能

*@paramuser从表单获取的用户对象

*@return

*/

publicStringinsertUser(Useruser){

//连接数据库

Connectionconn=null;

PreparedStatementps=null;

//将用户数据写入数据库

try{

conn=DBUtils.getConnection();//获取连接对象Connection

Stringsql="INSERTINTOusersVALUES(NULL,?,?,?,'on',NULL)";

ps=conn.prepareStatement(sql);//格式化sql语句

//为?赋值

ps.setString(1,user.getUserName());

ps.setString(2,user.getUserAccount());

ps.setString(3,user.getUserPassword());

ps.executeUpdate();

return"OK";

}catch(SQLExceptione){

e.printStackTrace();

}catch(Exceptione){

e.printStackTrace();

}finally{

//释放资源

DBUtils.closeAll(null,ps,conn);

}

returnnull;

}

以上就是实现用户注册的功能代码,虽然不是很完善,但会慢慢改善的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。