这是我自己在学习开发的一个小项目,学生选课系统,做的不是很好,发出来给大家参考学习一下!
先来看看本项目的要求:
(1)系统采用JSP+JavaBean+MySQL模式开发,网页的页面布局使用DIV+CSS方式。
(2)系统应具有普通用户和管理员两种模式。普通用户具有(a)、(b)(c)和(d)的功能,且必须先注册;管理员具有(b)、(c)、(e)和(f)的功能,管理员的用户名、密码事先确定且唯一,无需注册。
(a)注册功能。用户第一次访问本系统需先进行注册,注册并登录成功后才可访问系统内容。
(b)登录功能。用户或管理员输入用户名和密码(可加入验证码)后,提交系统验证。如果输入正确,则登录成功,进入查询功能主界面;如果输入错误,提示登录错误。
(c)查询和显示功能。用户或管理员经登录成功后进入查询功能主界面,并提示当前时间和xxx用户登录成功,在查询主界面可退出登录,不允许用户未经登录直接访问查询主界面;查询主界面要求具有修改用户密码的超链接,用户点击该链接后,可进入修改密码页面修改密码;查询界面底部要引入系统版权信息。用户在查询界面输入相关查询条件,可提交查询,查询后显示查询结果且能实现分页显示功能,如学生选课系统的课程信息列表,学生图书推荐系统的图书信息列表。
(d)与用户相关的添加功能。用户可根据系统功能要求完成与用户相关业务的添加功能,如学生选课系统的选课功能,学生图书推荐系统的推荐功能。
(e)添加、修改和删除功能。管理员的查询结果主页面,还要求显示表格每行末尾要有添加、修改、删除的超链接选项。管理员点击修改或删除的超链接,可进入相关添加、修改、删除页面,并分别完成添加、修改、删除的功能,如学生选课系统的添加新课程信息功能,学生图书推荐系统的添加新图书信息功能。
(f)管理员模式下,能完成对已经注册的普通用户的查询、删除等功能。
那我们就从登录注册开始
登录模块:用于用户和管理员登录的界面,根据选择身份登录。

登录界面jsp代码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML>
<!---------------- 登录主界面 ------------------>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE11" />
<title>学生选课系统-用户登录</title>
</head>
<link href="css/style.css" type="text/css" rel="stylesheet">
<body>
<div id="loginall">
<img src="img/leftlogo.png">
<div></div>
<!------- 标题简介 ------->
<div>
用户登录<br/>
<p>开始你的学习之旅。</p>
</div>
<!----- 输入框 ------>
<div>
<form action="login_process.jsp" method="post">
<p><div>学号 |</div><input type="text" name="lgstuid" /></p>
<p><div>密码 |</div><input type="password" name="lgpwd" /></p>
<a href="register.jsp">立即注册</a>
<select name="type" >
<option value="student">学生</option>
<option value="admin">管理员</option>
</select>
<input type="submit" value="登录" name="lgsubmit"/>
</form>
</div>
</div>
</body>
</html>
登录过程java代码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML>
<html>
<head>
<title>My JSP 'login_ok.jsp' starting page</title>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE11" />
</head>
<body>
<%
String url = "jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=UTF8"; //数据库名
String username = "root"; //数据库用户名
String password = ""; //数据库用户密码
Connection conn = null; //连接状态
Statement stmt = null;
ResultSet rs = null;
request.setCharacterEncoding("utf-8");
String name = request.getParameter("lgstuid");
String pwd = request.getParameter("lgpwd");
String type = request.getParameter("type");
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url, username, password);
stmt = conn.createStatement(); //查询语句
if("student".equals(type)){
rs = stmt.executeQuery("select * from userxx where stuid='"+name+"' and pwd='"+pwd+"' ");
if (rs.next()) {
String usename=rs.getString("name");
request.getSession().setAttribute("u", usename);
out.println("<script language='javascript'>alert('登录成功!');window.location.href='frame.jsp';</script>");
}
else if(name.equals("") || pwd.equals("")){
out.println("<script language='javascript'>alert('请输入账号或密码!');window.location.href='index.jsp';</script>");
}
else{
out.println("<script language='javascript'>alert('账号或密码错误!');window.location.href='index.jsp';</script>");
}
}
else{
rs = stmt.executeQuery("select * from admin where username='"+name+"' and pwd='"+pwd+"' ");
if(rs.next()){
String adminname=rs.getString("username");
request.getSession().setAttribute("u", adminname);
out.println("<script language='javascript'>alert('登录成功!管理员你好!');window.location.href='admin_frame.jsp';</script>");
}
else{
out.println("<script language='javascript'>alert('该管理员账号错误!');</script>");
}
}
//out.println(rs.getString("id")+"   "+rs.getString("name")+"   "+rs.getString("pwd")); //将查询结果输出
rs.close();
conn.close();
%>
</body>
</html>
注册模块:用户注册功能。

注册界面jsp代码
<%@page import="com.userxx.dao.RegisterDao"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML>
<!------ 注册界面 ------>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE11" />
<title>学生选课系统-用户注册</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<div id="registerall">
<!-- 标题 -->
<div></div>
<div>
用户注册<br/>
<p>开始你的学习之旅。</p>
</div>
<!-- 输入框 -->
<div>
<form action="register_check.jsp" method="post">
<p><div>学号:</div><input type="text" name="rgstuid" /></p>
<p><div>姓名:</div><input type="text" name="rgname"/></p>
<p><div>班级:</div><input type="text" name="rgclass"/></p>
<p><div>院系:</div><select name="rgyx">
<option value="经济管理学院">经济管理学院</option>
<option value="工商管理学院">工商管理学院</option>
<option value="能源工程学院">能源工程学院</option>
<option value="信息工程学院">信息工程学院</option>
<option value="机械工程学院">机械工程学院</option>
<option value="基础教育学院">基础教育学院</option>
<option value="成人教育学院">成人教育学院</option>
</select></p>
<div></div>
<p><div>密码:</div><input type="password" name="rgpwd" /></p>
<p><div>确认密码:</div><input type="password" name="rgcfpwd"/></p>
<input type="submit" value="注册" name="rgsubmit"/>
<a href="index.jsp">返回登录</a>
</form>
</div>
</div>
</body>
</html>
注册登录java代码
package com.userxx.dao;
import java.sql.*;
public class RegisterDao {
String url = "jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=UTF8";
String username = "root";
String password = "";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
public int register(String stuid,String rgname,String rgclass,String rgyx,String rgpwd,String rgcfpwd) {
try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url, username, password);
stmt = conn.createStatement();
if (rgpwd.equals(rgcfpwd)) {
stmt.executeUpdate("insert into userxx (stuid,name,class,yx,pwd) values('"+stuid+"','"+rgname+"','"+rgclass+"','"+rgyx+"','"+rgcfpwd+"')");
}
else {
return 1;
}
rs.close();
conn.close();
}catch (Exception e) {
System.out.print("数据库连接异常!");
}
return 0;
}
}
注册模块过程jsp代码
<%@page import="com.userxx.dao.MyclassDao"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@page import="com.userxx.dao.RegisterDao"%>
<!DOCTYPE html>
<!----- 注册检查过程 ----->
<html>
<head>
<title>注册检查</title>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE11" />
</head>
<body>
<% //接收注册页面传输的数据
request.setCharacterEncoding("utf-8");//转码
String stuid=request.getParameter("rgstuid");//学号
String name=request.getParameter("rgname");//姓名
String.getParameter("rgclass");//班级
String pwd=request.getParameter("rgpwd");//密码
String yx=request.getParameter("rgyx");//院系
String cfpwd=request.getParameter("rgcfpwd");//确认密码
//调用Dao注册方法
RegisterDao dao = new RegisterDao();
int result=dao.register(stuid,name,Class,yx,pwd,cfpwd);
//接收返回值进行判断
if(result==0){
out.println("<script language='javascript'>alert('注册成功!');window.location.href='index.jsp';</script>");
}
else if(result==1){
out.println("<script language='javascript'>alert('两次输入的密码不一致!');window.location.href='register.jsp';</script>");
}
else{
out.println("<script language='javascript'>alert('密码不能为空!');window.location.href='register.jsp';</script>");
}
%>
</body>
</html>