分層結構,service,dao,表示層
UserBean
public class User {
private String id;
private String number;
private String password;
public User(String id ,String number,String password) {
super();
this.id = id;
this.number = number;
this.password = password;
}
public User(String number, String password,String name) {
super();
this.number = number;
this.password = password;
}
public User(String number, String password) {
super();
this.number = number;
this.password = password;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
DBUtil
public class DButil {
private static final String url = "jdbc:mysql://localhost:3306/information_db" + "?useSSL=true&characterEncoding=UTF-8";
private static final String USERNAME = "admin";
private static final String PWD = "root";
public static Connection con = null;
public static PreparedStatement pstmt = null;
public static ResultSet res = null;
public static boolean executeUpdate(String sql, Object...params) {
int result = -1;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(url, USERNAME, PWD);
pstmt = con.prepareStatement(sql);
if (params != null) {
for (int i = 0; i < params.length; i++) {
pstmt.setObject(i + 1, params[i]);
}
}
result = pstmt.executeUpdate();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
Close();
}
return result > 0 ? true : false;
}
public static void Close() {
try {
if (res != null)
res.close();
if (pstmt != null)
pstmt.close();
if (con != null)
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static ResultSet executeQuery(String sql, Object...params) {
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(url, USERNAME, PWD);
pstmt = con.prepareStatement(sql);
if (params != null) {
for (int i = 0; i < params.length; i++) {
pstmt.setObject(i + 1, params[i]);
}
}
res = pstmt.executeQuery();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return res;
}
}
LoginDao
public class LoginDao {
public int Login(User user) {
int flag = -1;
String sql = "select count(*) from student where number = ? and password = ? ";
ResultSet res = DButil.executeQuery(sql, user.getNumber(), user.getPassword());
try {
if (res.next()) {
flag = 1;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}
public int register(User user) {
int flag = -1;
String sql = "insert into student(id,number,password,name,sex,college,tel,address) values(null,?,?,?,?,?,?,?)";
Boolean res = DButil.executeUpdate(sql, new Object[] { user.getNumber(), user.getPassword(),
user.getName(),user.getSex(),user.getCollege(), user.getTel(), user.getAddress() });
System.out.println("c");
if (res) {
flag = 1;
}
return flag;
}
}
CheckIn(Servlet)
public class CheckIn extends HttpServlet {
public CheckIn() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String number=request.getParameter("usernumber");
String password=request.getParameter("password");
User user=new User(number,password);
LoginDao dao=new LoginDao();
int result=dao.Login(user);
if(result>0) {
request.setAttribute("number", number);
request.getRequestDispatcher("Welcome.jsp").forward(request,response);
}else {
response.sendRedirect("Failure.jsp");
}
}
public void init() throws ServletException {
// Put your code here
}
}
index.jsp
<form action="CheckIn" method="post">
<div class="form_item">
<label for="usernumber">學號:</label> <input type="text" name="usernumber" id="usernumber" placeholder="請輸入學號!" required>
</div>
<div class="form_item">
<label for="password">密碼:</label> <input type="password" name="password" id="password" placeholder="請輸入密碼!" required>
</div>
<div class="form_item">
<input type="submit" name="登錄" value="登錄">
<a class = "link" href = "http://127.0.0.1:8080/Information_manage_Jsp/Rejister.jsp">點擊註冊</a>
</div>
</form>
Welcome.jsp
<%
request.setCharacterEncoding("utf-8");
String number = (String) request.getAttribute("number");
out.print(number);
%>