[J2EE]jsp、javabean学生信息管理系统

简介: 用jsp、javabean做了一个学生信息管理系统,虽然j2ee的框架很多,但是基础仍然很重要。麻雀虽小五脏俱全,希望本博客对j2ee初学者有帮助,也是对自己知识的复习和整合。

用jsp、javabean做了一个学生信息管理系统,虽然j2ee的框架很多,但是基础仍然很重要。麻雀虽小五脏俱全,希望本博客对j2ee初学者有帮助,也是对自己知识的复习和整合。

系统预览:

管理员登录界面

这里写图片描述

录入信息界面

这里写图片描述

管理界面

这里写图片描述

修改学生信息

这里写图片描述
系统比较简单,有增删改查四个基本功能。
源码下载地址:[学生信息管理系统源码]
(http://download.csdn.net/detail/napoay/9411126)

核心代码

jdbc连接数据库

package cn.ac.ucas.conn;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Conn {

    public Connection getConn()  {
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url="jdbc:mysql://127.0.0.1/student?useUicode=true&characterEncoding=utf-8";
            String user="root";
            String password="123456";
            conn=DriverManager.getConnection(url, user, password);          

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        }
        return conn;
    }

}

管理员登陆

在数据库中有一张user表,有用户名和密码两个字段,登录时将用户输入的用户名和密码和数据库中的管理员毕竟,用户名和密码输入正确登录成功。

login.jsp

<jsp:useBean id="user" class="cn.ac.ucas.model.User"></jsp:useBean>
    <jsp:useBean id="userservice" class="cn.ac.ucas.service.UserService"></jsp:useBean>
    <jsp:setProperty property="*" name="user" />
    <%
        if (userservice.validUser(user)) {
            session.setAttribute("user", user);
    %>

    <jsp:forward page="main.jsp"></jsp:forward>
    <%
        } else {
    %>
    <jsp:forward page="index.jsp"></jsp:forward>
    <%
        }
    %>

验证用户名和密码

public boolean validUser(User user) {
        try {
            pstmt = conn.prepareStatement("select * from user where username=?and password=?");
            pstmt.setString(1, user.getUsername());
            pstmt.setString(2, user.getPassword());
            ResultSet rst = pstmt.executeQuery();
            if (rst.next()) {
                return true;
            } else {
                return false;
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        }
    }

使用session

用户名和密码输入正确的时候把user放到seesion中:

session.setAttribute("user", user);

用户名和密码输入不正确不能之间访问登录后的页面,不然用户直接输入地址就可以访问到管理页面,登录和不登录没有区别。下面试checklogin.jsp,需要登录后访问的页面使用jsp:include包含在内,这样如果session中没有user信息返回到首页,不能直接查看。

<%@page import="cn.ac.ucas.model.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    User user= (User)session.getAttribute("user");
    if(user==null){
%>
    <jsp:forward page="index.jsp"></jsp:forward>
<%
    }
%>

退出时移出session

session.removeAttribute("user");

public boolean addStu(Student student) {
        try {
            pstmt = conn.prepareStatement(
                    "insert into Student(nickname,name,gender,birth,majority,course,interest,otherinfo)"
                            + "values(?,?,?,?,?,?,?,?)");
            pstmt.setString(1, student.getNickname());
            pstmt.setString(2, student.getName());
            pstmt.setByte(3, student.getGender());
            pstmt.setString(4, student.getBirth());
            pstmt.setString(5, student.getMajority());
            pstmt.setString(6, student.getCourses());
            pstmt.setString(7, student.getInterests());
            pstmt.setString(8, student.getOtherinfo());
            pstmt.executeUpdate();
            return true;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        }
    }

    public boolean deleteStu(int id) {

        try {
            pstmt = conn.prepareStatement("delete from Student where id=?");
            pstmt.setInt(1, id);
            pstmt.executeUpdate();
            return true;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        }

    }

    public boolean updateStu(Student student){

        try {
            pstmt=conn.prepareStatement("update Student set nickname=?,name=?,gender=?,birth=?,majority=?,course=?,interest=?,otherinfo=? where id=?");
            pstmt.setString(1, student.getNickname());
            pstmt.setString(2, student.getName());
            pstmt.setByte(3, student.getGender());
            pstmt.setString(4, student.getBirth());
            pstmt.setString(5, student.getMajority());
            pstmt.setString(6, student.getCourses());
            pstmt.setString(7, student.getInterests());
            pstmt.setString(8, student.getOtherinfo());
            pstmt.setInt(9, student.getId());

            pstmt.executeUpdate();
            return true;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        }
    }

查询所有学生信息

public List getAllStudent() {
        List stuList = new ArrayList();
        try {
            pstmt = conn.prepareStatement("select * from Student");
            ResultSet rst = pstmt.executeQuery();
            while (rst.next()) {
                Student stu = new Student();
                stu.setId(rst.getInt(1));
                stu.setNickname(rst.getString(2));
                stu.setName(rst.getString(3));
                stu.setGender(rst.getByte(4));
                stu.setBirth(rst.getString(5));

                stu.setMajority(rst.getString(6));
                if (rst.getString(7) != null) {
                    stu.setCourse(rst.getString(7).split("&&"));
                }
                if (rst.getString(8) != null) {
                    stu.setInterest(rst.getString(8).split("&&"));
                }

                stu.setOtherinfo(rst.getString(9));

                stuList.add(stu);

            }

            return stuList;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        }
    }

查询单个学生信息

public Student getStuById(int id) {
        try {
            pstmt = conn.prepareStatement("select * from Student where id = ?");
            pstmt.setInt(1, id);
            ResultSet rst = pstmt.executeQuery();

            if(rst.next()){
                Student stu=new Student();
                stu.setId(rst.getInt(1));
                stu.setNickname(rst.getString(2));
                stu.setName(rst.getString(3));
                stu.setGender(rst.getByte(4));
                stu.setBirth(rst.getString(5));

                stu.setMajority(rst.getString(6));
                if (rst.getString(7) != null) {
                    stu.setCourse(rst.getString(7).split("&&"));
                }
                if (rst.getString(8) != null) {
                    stu.setInterest(rst.getString(8).split("&&"));
                }

                stu.setOtherinfo(rst.getString(9));

                return stu;
            }

            return null;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        }

    }
目录
相关文章
|
7月前
|
Java
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
64 3
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
|
7月前
|
Java
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
67 0
|
7月前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
75 5
|
7月前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
66 2
|
7月前
|
Java
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
184 1
|
6月前
|
Java API
JSP 教程 之 JSP JavaBean 4
**JSP JavaBean教程摘要:** JavaBean是遵循JavaBean规范的特殊Java类,用于JSP中。`jsp:getProperty`读取属性(getter),`jsp:setProperty`设置属性(setter)。
34 0
|
6月前
|
Java API
JSP 教程 之 JSP JavaBean 3
**JSP JavaBean教程简述:** JavaBean是遵循JavaBean规范的特殊Java类,用于JSP中。`&lt;jsp:useBean&gt;`标签声明并实例化Bean,如`&lt;jsp:useBean id=&quot;date&quot; class=&quot;java.util.Date&quot; scope=&quot;page&quot;/&gt;`。`scope`决定Bean的作用域,`id`是变量名。示例显示日期:`&lt;%= date %&gt;`,输出如`Tue Jun 28 15:22:24 CST 2016`。
31 0
|
6月前
|
Java API
JSP 教程 之 JSP JavaBean 2
**JSP JavaBean 简介** JavaBean 是遵循特定规范的 Java 类,用于封装数据和业务逻辑。`StudentsBean.java` 示例展示了属性(firstName, lastName, age)及对应的 getter 和 setter 方法。编译得到 `StudentBean.class`,常放于 `/WebContent/WEB-INF/classes/包路径/` 下,以供JSP使用。
35 0
|
6月前
|
Java API
JSP 教程 之 JSP JavaBean 1
**JSP JavaBean 技术概览:** JavaBean遵循特定规范的Java类,具备默认无参构造器、实现Serializable接口以支持序列化。核心特性包括可读写的属性及对应的getter/setter方法。属性可通过getXXX()和setXXX()访问,如getMyName()和setMyName()对应属性myName。只读属性只有getter,只写属性只有setter。
37 0
|
6月前
|
存储 Java 关系型数据库
基于JSP的毕业生就业信息管理系统
基于JSP的毕业生就业信息管理系统