一. 实验目的
实现学生信息管理系统,学生登录身份验证,信息的录入和信息的查询。并在实验的过程中熟练掌握网页设计的各种工具,如Dreamwawer,tomcat等,提高网页设计的能力。
二. 实验过程
1. 实现基本页面的设计,使用的工具:Dreamwawer。
2. 实现服务器端程序设计,对页面数据进行处理。
3. 与数据库进行连接,实现对学生数据的操作,如查询,存储,修改等。
4. 进一步完善系统,如页面的美化等等。
本系统有三个模块组成,学生登录模块,学生信息数据库模块,出错处理模块,学生登录以后输入相应的学号,密码,登陆学生信息界面,队学生的成绩等基本信息进行查询,若学号或密码出错,或者不符合,弹出相应的出错界面。本系统采用Jsp+JavaBean+SQL2000 设计方式,其中JavaBean担当数据库连接以及逻辑控制,这样在Jsp就省去了繁琐的数据库连接,以及复杂的逻辑控制,使Jsp成为表示逻辑。
三. 运用软件
Windows环境下的Tomcat7.0,SQL2000。
四. 过程截图:
1.学生登录界面的设计:
2.与数据库系统的连接:
3.实现对学生数据的操作:
4.对学生数据的保护的完善。
五.部分代码:
1,验证学生身份:
Student:
import java.sql.*;
public class student {
private String name;
private String password;
private String id;
private String jiguan;
private String sex;
private String dep;
public void setDep(String s){dep=s;}
public String getDep(){return dep;}
public void setSex(String s){sex=s;}
public String getSex(){return sex;}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getJiguan() {
return jiguan;
}
public void setJiguan(String jiguan) {
this.jiguan = jiguan;
}
public boolean hasLogin(){ //检查该学生是否已经注册
boolean f=true;
String sql="select id from student where id ='"+id+"'";
sqlBean db =new sqlBean();
try{
ResultSet rs=db.executeQuery(sql);
if(rs.next()){ f=false;}
else{ f=true;}
}catch(Exception e){ e.getMessage();}
return f;
}
public ResultSet getStudent(){
String sql="select * from student ";
sqlBean db= new sqlBean();
ResultSet rs = db.executeQuery(sql);
return rs;
}
public void updateStudent(){
String sql="update student "+
" set name='"+name+"',sex='"+sex+"',department='"+dep+"', "+
"password='"+password+"',jiguan='"+jiguan+"' "+
" where id='"+id+"' ";
sqlBean db= new sqlBean();
db.executeInsert(sql);
}
public void deleteStudent(){
String sql="delete from student where id ='"+id+"' ";
sqlBean db= new sqlBean();
db.executeDelete(sql);
}
public void addStudent() {
String sql="insert into student(name,password,id,sex,department,jiguan) "+
"VALUES('"+name+"','"+password+"','"+id+"','"+sex+"','"+dep+"','"+jiguan+"')";
sqlBean db =new sqlBean();
db.executeInsert(sql);
}
}
2.登陆界面:
public class login {
private String id;
private String password;
private String kind;
private int flag=0;
public int getFlag(){
if(kind.equals("student")) flag=1;
if(kind.equals("teacher")) flag=2;
if(kind.equals("admin")) flag=3;
return flag;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getKind() {
return kind;
}
public void setKind(String kind) {
this.kind = kind;
}
}
3.出错处理:
import java.sql.*;
import java.io.*;
public class marking {
String tea_id;
String coursename;
String score;
String stu_id;
public void setStu_id(String id){this.stu_id=id;}
public String getStu_id(){return stu_id;}
public void setScore(String sc){this.score=sc;}
public String getScore(){return score;}
public void setTea_id(String id){this.tea_id=id;}
public String getTea_id(){return tea_id;}
public void setCoursename(String c){this.coursename=c;}
public String getCoursename(){return coursename;}
public ResultSet getStudents(){
String sql=" select stu_id "+
"from enrol "+
"where accept=1 "+
"and class_id IN( "+
"select classes.id "+
"from classes ,course "+
"where course.id=classes.cour_id "+
"and course.name='"+coursename+"' "+
"and classes.tea_id='"+tea_id+"') ";
sqlBean db = new sqlBean();
ResultSet rs=db.executeQuery(sql);
return rs;
}
public void addmark(){
int mark=0;
int mark1=0;
String sql="select mark from student where id='"+stu_id+"' ";
sqlBean db = new sqlBean();
try{
ResultSet rs = db.executeQuery(sql);
if(rs.next()) { mark = rs.getInt("mark");}
}
catch(SQLException ex){
System.err.println("学生成绩查询有错误:"+ex.getMessage() );
System.out.print("学生成绩查询有错误:"+ex.getMessage());//输出到客户端
}
sql="select mark from course where name='"+coursename+"' ";
try{
ResultSet rs=db.executeQuery(sql);
if(rs.next())
{ mark1=rs.getInt("mark"); }
}
catch(SQLException ex){
System.err.println("成绩查询有错误:"+ex.getMessage() );
System.out.print("成绩查询有错误:"+ex.getMessage());//输出到客户端
}
mark = mark+mark1;
sql="update student set mark='"+mark+"' where id='"+stu_id+"' ";
db.executeInsert(sql);
}
public void updatemark(){
int temp=0;
try{
temp = Integer.parseInt(score) ;
}
catch(NumberFormatException e){
System.err.println("成绩输入有错误:"+e.getMessage() );
System.out.print("成绩输入有错误:"+e.getMessage());//输出到客户端
}
if(temp>60)
{addmark();}
String sql="update enrol set score='"+temp+"' "+
"where stu_id='"+stu_id+"' "+
"and class_id IN( "+
"select classes.id "+
"from classes,teacher,course "+
"where classes.tea_id='"+tea_id+"' "+
"and course.id=classes.cour_id "+
"and course.name='"+coursename+"' ) ";
sqlBean db = new sqlBean();
db.executeInsert(sql);
}
4,连接到sql数据库:
import java.sql.*;
public class determin{
String sql="";
String stu_id="";
String tea_id="";
String coursename="";
public String accept(){
sql="update enrol set accept=1 "+
"where stu_id='"+stu_id+"' "+
"and class_id IN ( "+
"select classes.id "+
"from classes,course "+
"where course.name='"+coursename+"' "+
"and classes.tea_id='"+tea_id+"' and course.id=classes.cour_id) ";
sqlBean sqlbean= new sqlBean() ;
sqlbean.executeInsert(sql);
return stu_id;
}
public void setTea_id(String id){
this.tea_id=id; }
public String getTea_id(){
return tea_id;}
public void setStu_id(String ss) {
this.stu_id=ss;
}
public String getStu_ids(){
return stu_id;}
public void setCoursename(String ss){
this.coursename = ss;}
public String getCoursename(){
return coursename;}
public ResultSet getStudent(String id){
sql="select * from student where id='"+id+"'";
sqlBean sqlbean = new sqlBean();
ResultSet rs = sqlbean.executeQuery(sql);
return rs; }
public ResultSet getStu_id(){
sql="select enrol.stu_id "+
" from enrol ,classes,course "+
"where classes.cour_id=course.id "+
"and enrol.class_id=classes.id "+
"and( enrol.accept='0' or enrol.accept=null )"+
" and course.name='"+coursename+"' ";
sqlBean sqlbean = new sqlBean();
ResultSet rs = sqlbean.executeQuery(sql);
return rs;}
}
六.心得体会:
通过这次实验,让我深刻体会到java所具有的强大的功能,以及java开发web的技术servlet和jsp技术有着和其他在这方面的技术的先进之处。掌握好这些技术,可以在将来适应于各种项目的开发,确实是以一种十分值得学习的技术。同时,在实验的过程当中,我也深刻得体会到了作为一名程序员所应该具有的耐心。希望能有更多的机会参与这样的实验,为将来的工作学习打下基础。