第七周作业
用户表: uid (主键,自动增长) uname upwd
使用分层实现注册。(必做)
使用分层实现登录。(选做)
页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>sign-up</title> <!-- Fav Icon Link --> <link rel="shortcut icon" type="image/png" href="images/fav.png"> <!-- Bootstrap core CSS --> <link rel="stylesheet" href="css/bootstrap.min.css"> <!-- themify icons CSS --> <link rel="stylesheet" href="css/themify-icons.css"> <!-- Main CSS --> <link rel="stylesheet" href="css/styles.css"> <link rel="stylesheet" href="css/green.css" id="style_theme"> <link rel="stylesheet" href="css/responsive.css"> <script src="js/modernizr.min.js"></script> </head> <body class="auth-bg"> <!-- Pre Loader --> <div class="loading"> <div class="spinner"> <div class="double-bounce1"></div> <div class="double-bounce2"></div> </div> </div> <!--/Pre Loader --> <!-- Color Changer --> <div class="theme-settings" id="switcher"> <span class="theme-click"> <span class="ti-settings"></span> </span> <span class="theme-color theme-default theme-active" data-color="green"></span> <span class="theme-color theme-blue" data-color="blue"></span> <span class="theme-color theme-red" data-color="red"></span> <span class="theme-color theme-violet" data-color="violet"></span> <span class="theme-color theme-yellow" data-color="yellow"></span> </div> <!-- /Color Changer --> <div class="wrapper"> <!-- Page Content --> <div id="content"> <div class="container"> <div class="row"> <div class="col-sm-6 auth-box"> <div class="lochana-box-shadow"> <!-- Page Title --> <h3 class="widget-title">Sign Up</h3> <!-- /Page Title --> <!-- Form --> <form class="widget-form" action="${pageContext.request.contextPath}/Sign-upServlet"> <div class="form-group row"> <div class="col-sm-12"> <input type="email" placeholder="Email" name="email" class="form-control" required="" data-validation="email" data-validation-has-keyup-event="true"> </div> </div> <div class="form-group row"> <div class="col-sm-12"> <input name="username" placeholder="Username" class="form-control" required="" data-validation="length alphanumeric" data-validation-length="3-12" data-validation-error-msg="User name has to be an alphanumeric value (3-12 chars)" data-validation-has-keyup-event="true"> </div> </div> <div class="form-group row"> <div class="col-sm-12"> <input type="password" placeholder="Password" name="password" class="form-control" data-validation="strength" data-validation-strength="2" data-validation-has-keyup-event="true"> </div> </div> <div class="form-group row"> <div class="col-sm-12"> <input type="password" placeholder="Confirm Password" name="pass_confirmation" class="form-control" data-validation="strength" data-validation-strength="2" data-validation-has-keyup-event="true"> </div> </div> <div class="form-check row"> <div class="col-sm-12 text-left"> <div class="custom-control custom-checkbox"> <input class="custom-control-input" type="checkbox" id="ex-check-2"> <label class="custom-control-label" for="ex-check-2">I agree to Terms & Conditions</label> </div> </div> </div> <!-- Button --> <div class="button-btn-block"> <button type="submit" class="btn btn-primary btn-lg btn-block">Sign Up</button> </div> <!-- /Button --> <!-- Linsk --> <div class="auth-footer-text"> <small>Alredy Sign Up, <a href="login.html">Login</a> Here</small> </div> <!-- /Links --> </form> <!-- /Form --> </div> </div> </div> </div> </div> <!-- /Page Content --> </div> <!-- Jquery Library--> <script src="js/jquery-3.2.1.min.js"></script> <!-- Popper Library--> <script src="js/popper.min.js"></script> <!-- Bootstrap Library--> <script src="js/bootstrap.min.js"></script> <!-- Custom Script--> <script src="js/custom.js"></script> </body> </html>
SignupServlet
package web.Servlet; import domain.Doctor; import org.apache.commons.beanutils.BeanUtils; import service.DoctorService; import service.impl.DoctorServiceImpl; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.util.Map; @WebServlet("/Sign-upServlet") public class SignupServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); Map<String, String[]> user = request.getParameterMap(); Doctor doctor=new Doctor(); try { BeanUtils.populate(doctor,user); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } DoctorService service=new DoctorServiceImpl(); service.signup(doctor); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } }
DoctorServiceImpl
package service.impl; import dao.DoctorDao; import dao.impl.DoctorDaoImpl; import domain.Doctor; import service.DoctorService; import java.util.List; public class DoctorServiceImpl implements DoctorService { DoctorDao dao=new DoctorDaoImpl(); @Override /** * 查找全部 */ public List FindAll() { return dao.findall(); } /** * 登录 * @param loginDoctor * @return */ @Override public Doctor Login(Doctor loginDoctor) { return dao.Login(loginDoctor); } @Override public void signup(Doctor signupdoctor) { dao.signup(signupdoctor); } @Override public void DeleteSelete(String[] deleteId) { for (String s : deleteId) { dao.DeleteSelect(Integer.parseInt(s)); } } }
DoctorDaoImpl
package dao.impl; import dao.DoctorDao; import domain.Doctor; import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate; import util.JDBCUtil; import java.util.List; public class DoctorDaoImpl implements DoctorDao { private JdbcTemplate temp=new JdbcTemplate(JDBCUtil.getDataSource()); @Override public List findall() { String sql="select * from doctors"; List<Doctor> doctors = temp.query(sql, new BeanPropertyRowMapper<Doctor>(Doctor.class)); return doctors; } @Override public Doctor Login(Doctor loginDoctor) { try { String sql="select * from doctors where username = ? and password = ?"; Doctor doctor = temp.queryForObject(sql, new BeanPropertyRowMapper<Doctor>(Doctor.class), loginDoctor.getUsername(), loginDoctor.getPassword()); return doctor; } catch (DataAccessException e) { return null; } } @Override public void signup(Doctor singdoctor) { String spl="insert into doctors values(null,null,null,null ,null,null,?,?)"; temp.update(spl,singdoctor.getUsername(),singdoctor.getPassword()); } @Override public void DeleteSelect(int parseInt) { String spl="delete from doctors where id= ?"; temp.update(spl,parseInt); } }
Doctor类
package domain; public class Doctor { private int id; private String name; private int experience; private String phone; private String profession; private String status; private String username; private String password; public Doctor() { } public Doctor(int id, String name, int experience, String phone, String profession, String status, String username, String password) { this.id = id; this.name = name; this.experience = experience; this.phone = phone; this.profession = profession; this.status = status; this.username = username; this.password = password; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getExperience() { return experience; } public void setExperience(int experience) { this.experience = experience; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getProfession() { return profession; } public void setProfession(String profession) { this.profession = profession; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "Doctor{" + "id=" + id + ", name='" + name + '\'' + ", experience=" + experience + ", phone=" + phone + ", profession='" + profession + '\'' + ", status='" + status + '\'' + '}'; } }