1. 程式人生 > >JSP向資料庫插入資料(簡單註冊功能)

JSP向資料庫插入資料(簡單註冊功能)

這篇部落格為大家講述,如何從jsp頁面中註冊一個賬號,並插入到資料庫。

首先在school資料庫下建立user表,欄位如下:

在這裡插入圖片描述

然後,建立web專案,搭建環境如下:

在這裡插入圖片描述

然後就開始我們的程式碼了。

1.首先把BaseDao.java貼上到com.tao.dao包下,lib下貼上mysql-connector-java-5.1.19.jar;在entity包下建立User類
package com.tao.entity;

public class User {
	private Integer id;
	private String name;
	private String pass;
	private Integer age;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPass() {
		return pass;
	}
	public void setPass(String pass) {
		this.pass = pass;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	
}

注意User下的物件要與資料庫欄位相匹配

2.建立UserDao類,繼承BaseDao類,實現插入的方法,博主附帶寫了一個查詢方法。
package com.tao.dao;

import com.tao.entity.User;

public class UserDao extends BaseDao{
	public User dologin(String name,String pass){ 
		User u=null;
		try {
			super.connect();
			String sql="select * from user where name=? and pass=?";
			pstmt=conn.prepareStatement(sql);
			pstmt.setString(1, name);
			pstmt.setString(2,pass);
			rs=pstmt.executeQuery();
			while(rs.next()){
				u=new User();
				u.setId(rs.getInt(1));
				u.setName(rs.getString(2));
				u.setPass(rs.getString(3));
				u.setAge(rs.getInt(4));
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			super.closeAll();
		}
		return u;
	}
	public int insert(User u){
		int row=0;
		try {
			super.connect();
			String sql="insert into user(name,pass,age) values(?,?,?)";
			pstmt=conn.prepareStatement(sql);
			pstmt.setString(1, u.getName());
			pstmt.setString(2,u.getPass());
			pstmt.setInt(3, u.getAge());
			row=pstmt.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			super.closeAll();
		}
		return row;
	}
}

3.建立註冊頁面
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="doregister.jsp" method="post" >

		使用者名稱:<input name="username" >
		密碼:<input name="password">
		年齡:<input name="age">
		<hr>
		<input type="submit" value="提交" >
		<input type="reset" >

</form>
</body>
</html>

4.對註冊的資料做分析

<%@page import="com.tao.dao.UserDao"%>
<%@page import="com.tao.entity.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%   //獲取姓名密碼和年齡
	String name=request.getParameter("username");
 	String pass=request.getParameter("password");
 	int age=Integer.parseInt(request.getParameter("age"));
 	//建立User物件,賦值
 	User u=new User();
 	u.setName(name);
 	u.setPass(pass);
 	u.setAge(age);
 	UserDao udao=new UserDao();
 	//呼叫udao的方法實現插入功能
 	int x=udao.insert(u);
 	if(x>=1){ 
 	//轉發,如果>1,跳轉到success2.jsp頁面
 		request.getRequestDispatcher("/success2.jsp").forward(request, response);
 	}
%>
</body>
</html>

5.註冊成功頁面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
註冊成功
</body>
</html>

大家有什麼不懂得可以問博主喲