基於web的網上書城系統開發-----登錄註冊
阿新 • • 發佈:2017-10-04
intro 基於 public htm tom foo == ram ref
註冊功能實現
signup.jsp
//時間實現 function showLocale(objD) { var str,colorhead,colorfoot; var yy = objD.getYear(); if(yy<1900) yy = yy+1900; var MM = objD.getMonth()+1; if(MM<10) MM = ‘0‘ + MM; var dd = objD.getDate(); if(dd<10) dd = ‘0‘ + dd; var hh = objD.getHours(); if(hh<10) hh = ‘0‘ + hh; var mm = objD.getMinutes(); if(mm<10) mm = ‘0‘ + mm; var ss = objD.getSeconds(); if(ss<10) ss = ‘0‘ + ss; str = yy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss; return(str); } function tick() { var today; today = new Date(); document.getElementById("localtime").value = showLocale(today); window.setTimeout("tick()", 1000); } tick();
阻止空表單提交可以看:http://www.cnblogs.com/durui/p/7625783.html
用戶點擊註冊把表單提交到LoginServlet,dopost方式提交
LoginServlet m=adduser
try { User user = new User(); Userdao userdao = new Userdao(); User user = userdao.getByName(request.getParameter("username")); //根據表單輸入的用戶名查詢數據表用戶 if (user.getUsername().equals(request.getParameter("username"))) {//判斷用戶名是否存在 request.getRequestDispatcher("/signup.jsp").forward(request, response); }else{ user.setUsername(request.getParameter("username"));//數據封裝 user.setPassword(request.getParameter("password")); user.setTel(request.getParameter("tel")); user.setIntroduce(request.getParameter("introduce")); user.setRole("customer"); user.setTime(request.getParameter("time")); Userdao udao = new Userdao(); udao.save(user);//調用UserDao裏面save方法 request.getRequestDispatcher("/login.jsp").forward(request, response); } }catch(Exception e){ request.getRequestDispatcher("/signup.jsp").forward(request, response); }
然後servlet調用UserDao裏面的getByName方法和save方法
getByName方法
//根據輸入的用戶名查找用戶 public User getByName(String username)throws Exception { // TODO Auto-generated method stub User user = null; Connection con = null; PreparedStatement ps = null; ResultSet rs = null; try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost:3306/bookstore", "root", "123456"); ps=con.prepareStatement("select * from t_user as u where u.username=?"); ps.setString(1, username); rs = ps.executeQuery(); if (rs.next()) { user = new User(); user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); user.setTel(rs.getString("tel")); user.setIntroduce(rs.getString("introduce")); user.setRole(rs.getString("role")); user.setTime(rs.getString("time")); } } catch (Exception e) { e.printStackTrace(); throw new Exception("數據庫訪問出現異常:" + e); } finally { // 關閉數據庫連接等
save方法
public void save(User user) throws Exception { // TODO Auto-generated method stub Connection con = null; PreparedStatement ps = null; try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost:3306/bookstore", "root", "123456"); ps=con.prepareStatement("insert into t_user value(null,?,?,?,?,?,?)"); ps.setString(1,user.getUsername()); ps.setString(2, user.getPassword()); ps.setString(3, user.getTel()); ps.setString(4,user.getIntroduce()); ps.setString(5, user.getRole()); ps.setString(6, user.getTime()); ps.executeUpdate(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); throw new Exception("數據庫出現異常"+e); }finally{
登錄功能
LoginServlet m=“login”
String msg = null; //反饋信息 try { //根據輸入的用戶名查找登錄用戶 Userdao userdao = new Userdao(); User user = userdao.getByName(request.getParameter("username")); //調用getByName方法,註冊中已經寫了 ,直接調用 if(user == null){ request.getRequestDispatcher("/login.jsp").forward(request, response); msg = "用戶名不存在"; }else if (!user.getPassword().equals(request.getParameter("password"))) { request.getRequestDispatcher("/login.jsp").forward(request, response); msg = "密碼錯誤"; } else { //登錄成功,將登錄用戶user存入session範圍 request.getSession(true).setAttribute("user", user); request.getSession(true).setAttribute("isLogin", "ok");//後面配置過濾器阻止非登陸直接提交 if(user.getRole().equals("管理員")){ //管理員,則轉到管理首頁 request.getRequestDispatcher("/admin/admin_index.jsp").forward(request, response); }else if(user.getRole().equals("customer")){ //一般客戶,則轉到客戶首頁 HttpSession session = request.getSession(); session.setAttribute("customer", user); //將當前登錄的客戶對象綁定(存儲)在session範圍 request.getRequestDispatcher("/customer/custindex.jsp").forward(request, response); //將客戶(登錄角色為客戶)管理相關的頁面置於customer目錄下以便於管理 } } }catch(Exception e){ request.getRequestDispatcher("/login.jsp").forward(request, response); msg = e.toString(); } request.setAttribute("msg", msg);
登錄註冊功能實現
基於web的網上書城系統開發-----登錄註冊