1. 程式人生 > >基於web的網上書城系統開發-----登錄註冊

基於web的網上書城系統開發-----登錄註冊

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的網上書城系統開發-----登錄註冊