JSP向資料庫插入資料(簡單註冊功能)
阿新 • • 發佈:2018-11-25
這篇部落格為大家講述,如何從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>