之前就写过学生宿舍管理系统了,但是是用Java swing写的,swing版学生宿舍管理系统 ,最近在学servlet和jsp之类的web知识,所以就想把之前的学生宿舍管理系统写成Web,该系统能够完成登录,查询宿舍信息,查询快件,报修,离校和返校登记以及晚归记录等功能
所用技术:bootstrap,jsp,servlet,jdbc 服务器是tomcat 数据库是MySQL
界面效果:bootstrap对于我这种不会设计页面的人来说,非常的好用,还能适配多种设备,本次所有的界面都是从bootstrap中的例子改动过来,个人觉得还挺好看的,哈哈哈
登录界面:
主界面:
登录功能
创建用户数据库,并在数据库添加几条信息,以便测试登录
接着创建一个用户的实体类
public class User {
private String uname;
private String upassword;
private int utype;
public User() {
}
@Override
public String toString() {
return "User{" +
"uname='" + uname + '\'' +
", upassword='" + upassword + '\'' +
", utype=" + utype +
'}';
}
public User(String uname, String upassword, int utype) {
this.uname = uname;
this.upassword = upassword;
this.utype = utype;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUpassword() {
return upassword;
}
public void setUpassword(String upassword) {
this.upassword = upassword;
}
public int getUtype() {
return utype;
}
public void setUtype(int utype) {
this.utype = utype;
}
}
在登录界面的jsp中加入表单,并在表单中添加一个隐藏的文本框,该文本框是告诉服务器,此次表单提交是何种类型的提交 其他的就是获得用户名和密码
获取到用户名和密码之后就去dao层,跟数据库对比用户名和密码是否正确,正确就进入主界面,错误就重新登录
private void login(HttpServletRequest req, HttpServletResponse resp) {
String name = req.getParameter("name");
String password = req.getParameter("password");
User user = stuService.checkUser(name,password );
// Room room = stuService.chooseRoom(name);
try {
if(null != user){
System.out.println(user.getUname());
req.getSession().setAttribute("user",user );
// req.getSession().setAttribute("room",room );
resp.sendRedirect("info.jsp");
}else{
req.getRequestDispatcher("index.jsp").forward(req,resp );
}
}catch (Exception e){
e.printStackTrace();
}
}
public User checkUserDao(String name, String password) {
getConnection();
try {
String sql = "select *from users where uname=? and upassword=?";
pa = conn.prepareStatement(sql);
pa.setString(1, name);
pa.setString(2, password);
rs = pa.executeQuery();
search(rs);
} catch (Exception e) {
e.printStackTrace();
}finally {
release();
}
if(user !=null) {
return this.user;
}else{
return null;
}
}
剩下的其他功能都是大同小异,获取数据,调用dao层,最后再把数据显示到界面中
完整代码在我的GitHub中 GitHub