信息管理系统.0.0

来源:互联网 发布:python 打开文件函数 编辑:程序博客网 时间:2024/06/13 04:25

教师信息管理系统

大作业写的好好的突然来个中作业也是无语…反正就是个简略版的大作业啦。
大致要求是

  1. 管理校内教师的信息。
  2. 对于普通用户,提供查询功能(允许模糊查询),输入教师的姓名,可查询得到教师的相关信息(包括所属院系电话等)。
  3. 对于管理员,提供对教师表的增删改功能。
  4. 管理员必须要登录。

因为之前就在用jsp+html 写大作业了,所以这次界面什么的写起来很快,昨天完成了前端+管理员登录功能。
前端分为6个页面,分别是

  1. home.html 欢迎界面(没什么卵用
  2. login.jsp 管理员登录界面
  3. query.jsp 普通用户查询界面
  4. add.jsp (管理员)新增教师界面
  5. delete.jsp (管理员)删除教师界面
  6. update.jsp (管理员)更新教师信息界面

其实应该可以写得更简洁一些,但目前想不到更好的方法了,所以就每个功能都写了一个页面。
在这里放一下实现登录功能的前端,servlet,业务逻辑层和数据库层(别问我为什么要写这么多层!我乐意!(其实写到这里觉得业务逻辑层完全可以不用嘛


前端:login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ page import="java.io.*, java.util.*, java.sql.*"%><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>登录</title><style type="text/css">.center {    position: absolute;    top: 50%;    left: 50%;    margin: -200px 0 0 -250px;    width: 500px;    height: 305px;    text-align: center;    border: solid 1px #666;}.menu {    position: absolute;    margin: 0px 0 0 -1px;    width: 100px;    height: 231px;    text-align: center;    border: solid 1px #666;}.main {    position: absolute;    margin: 0px 0 0 100px;    width: 399px;    height: 231px;    text-align: center;    border: solid 1px #666;}.result {    position: absolute;    margin: 306px 0 0 100px;    width: 399px;    height: 225px;    text-align: center;    border: solid 1px #666;}</style></head><body>    <%        if (request.getAttribute("result") != null) {            boolean registerResult = false;            try {                registerResult = Boolean.parseBoolean(request.getAttribute("result").toString());            } catch (NumberFormatException e) {                System.out.println("registerResult to int fail");            }            if (!registerResult) {    %>    <script type="text/javascript">        alert("用户名或密码错误,请重新登录");    </script>    <%        }    }    %>    <div class="center">        <h2>登录</h2>        <div class="menu">            <p>                <a>登录</a>            <p />            <p>                <a href="query.jsp">查询</a>            <p />            <p>                <a href="home.html">返回</a>            <p />        </div>        <div class="main">            <form action="login" method="post">                <br /> <br />                <p>                    用户: <input type="text" name="Username" /><br />                </p>                <p>                    密码: <input type="text" name="Password" /><br />                </p>                <input type="submit" value="登录"/>            </form>        </div>    </div></body></html>

servlet:ServletLogin.java

package servlet;import java.io.IOException;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 business.LoginUser;/** * Servlet implementation class ServletLogin */@WebServlet("/login")public class ServletLogin extends HttpServlet {    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        request.setCharacterEncoding("UTF-8");        System.out.println("in servlet login doPost");        String name = request.getParameter("Username");        String password = request.getParameter("Password");        LoginUser user = new LoginUser();        request.setAttribute("result", user.login(name, password));        if(user.login(name, password)){//若返回值为真 则进入新增页面            request.getRequestDispatcher("/add.jsp").forward(request, response);        }        request.getRequestDispatcher("/login.jsp").forward(request, response);    }}

业务逻辑层:LoginUser.java

package business;import database.DBUser;public class LoginUser {    public boolean login(String name, String password){        DBUser user = new DBUser();        if(!user.isExist(name, password))            return false;//用户名不存在        return true;    }}

数据库层:DBUser.java

package database;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class DBUser {    public boolean isExist(String name, String password){        boolean result = false;        DBConnect db = new DBConnect();        Connection conn = db.connect();        PreparedStatement pstmt;        String sql = "select ID from LoginUser where Username = ? and Password = ?";        ResultSet i = null;        try {            pstmt = (PreparedStatement) conn.prepareStatement(sql);            pstmt.setString(1, name);            pstmt.setString(2, password);            i = pstmt.executeQuery();            if(i.next())                result = true;            pstmt.close();            conn.close();            //System.out.println("i = " + i);        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();            System.out.println("user isExist fail");        }        return result;    }}

其中数据库层里有个DBConnect类,是我自己写的连接数据库的类,就是调用了Class.forName()DriverManager.getConnection() 这个网上很多的,我就不贴了。

之后可能完成普通用户的查询功能。

0 0
原创粉丝点击