javaee学生基本信息管理系统.docx

上传人:b****5 文档编号:28888487 上传时间:2023-07-20 格式:DOCX 页数:23 大小:150.13KB
下载 相关 举报
javaee学生基本信息管理系统.docx_第1页
第1页 / 共23页
javaee学生基本信息管理系统.docx_第2页
第2页 / 共23页
javaee学生基本信息管理系统.docx_第3页
第3页 / 共23页
javaee学生基本信息管理系统.docx_第4页
第4页 / 共23页
javaee学生基本信息管理系统.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

javaee学生基本信息管理系统.docx

《javaee学生基本信息管理系统.docx》由会员分享,可在线阅读,更多相关《javaee学生基本信息管理系统.docx(23页珍藏版)》请在冰豆网上搜索。

javaee学生基本信息管理系统.docx

javaee学生基本信息管理系统

 

软件学院

课程设计报告书

 

课程名称JavaEE课程设计

设计题目学生基本信息管理系统

专业班级

学号

姓名

指导教师

 

2011年12月

1设计时间

2011/12/12--2011/12/16

2设计目的

JavaEE课程设计是对所学JavaEE与中间件课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。

要求同学们对课程中所学习到的知识综合运用,开发有一定规模的JavaWeb程序。

3设计任务

(一)必备功能说明:

(1)功能描述:

用户以合法身份登录系统后,才能进行所有操作;登录系统时,有两种权限:

管理员权限和普通用户权限。

管理员用户可以添加、查看、修改和删除学生信息,普通用户只能添加、查看和修改学生信息;

(2)添加学生信息:

合法用户可以添加学生信息(包括学号、姓名、性别、年龄、所在班级、手机号、家庭住址);

(3)查看学生信息:

合法用户可以查看学生信息;

(4)修改学生信息:

合法用户可以修改学生信息;

(5)删除学生信息:

合法用户可以删除学生信息。

4设计内容

4.1抽象数据类型的定义

4.1.1程序所建立的包

com.Student.dao

com.Student.domain

com.Student.service

com.Student.servlet

com.Student.util

4.1.2程序所需要导入的包

importjava.sql.*;;

importjava.util.A*t;

importjava.io.*;

importjavax.servlet.*;

importjavax.servlet.http.*;

4.2数据库部分的实现

4.2.1逻辑设计

1.关系模式

课程信息(学号、姓名、性别、年龄、所在班级、手机号、家庭住址)

2.系统表

表1数据包course

列名

数据类型

长度

是否为空

含义

id

int

4

N

学生编码,主键,自动增长

son

Varchar

50

Y

学号

name

varchar

50

Y

姓名

sex

varchar

50

Y

性别

age

int

4

Y

年龄

sclass

varchar

50

Y

所在班级

phonenumber

varchar

50

Y

手机号

address

varchar

50

Y

家庭住址

4.3程序流程图

图1程序流程图

 

4.4系统代码实现

1.页面的实现

本程序有四个主要页面:

“login.jsp”,“success.jsp”“error.jsp”,“showallstudents.jsp”,“savaStudent”和“deleteStudent”,

“login.jsp”用于用户登录,它的关键代码如下:

<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>

MyJSP'login.jsp'startingpage

用户名称:


用户密码:


“success.jsp”当登录成功时,跳转到本页面,然后超链接到显示页面,它的关键代码如下:

<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>

 

欢迎管理员

<%=session.getAttribute("username")%>进入管理页面

“error.jsp”当登录失败时,跳转到本页面,然后超链接到登录页面,它的关键代码如下:

<%@pagelanguage="java"import="java.util.*"pageEncoding="gbk"%>

用户名密码错误!

重新登录

“showallstudents.jsp”用于显示所有的课程信息和学分统计,它的关键代码如下:

<%@pagelanguage="java"import="java.util.*,comStudent.domain.*"pageEncoding="GBK"%>

学号

姓名

性别

年龄

所在班级

手机号

家庭住址

<%

Listlist=(List)request.getAttribute("allstudents");

for(Iteratorit=list.iterator();it.hasNext();){

Studentstudent=(Student)it.next();

%>

<%=student.getSno()%>

<%=student.getName()%>

<%=student.getSex()%>

<%=student.getAge()%>

<%=student.getSclass()%>

<%=student.getPhonenumber()%>

<%=student.getAddress()%>

<%

}

%>

添加学生信息

修改学生信息

删除学生信息

“savaStudent.jsp”用于填写要保存的课程信息,它的关键代码如下:

<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>

保存页面

编号:

学号:

姓名:

性别:

年龄:

所在班级:

手机号:

家庭住址:

2.工具类的实现

工具的类名为“DBConnection”,该类用于获得数据库的连接,它的实现代码如下:

packagecom.Student.util;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.SQLException;

publicclassDBConnection{

publicstaticConnectiongetConnection(){

finalStringdriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";

finalStringurl="jdbc:

microsoft:

sqlserver:

//localhost:

1433;databasename=mydb";

try{

Class.forName(driverName);

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}

try{

Connectioncon=DriverManager.getConnection(url,"sa","sa");

con.setAutoCommit(false);

returncon;

}catch(SQLExceptione){

e.printStackTrace();

}

returnnull;

}

}

3.实体类的实现

实体类的类名有“User”和“Student”,“User”类拥有用户名称和用户密码的私有属性及各个属性的set、get方法,它的实现代码如下:

packagecom.Student.domain;

publicclassUser{

privateStringname;

privateStringpassword;

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicStringgetPassword(){

returnpassword;

}

publicvoidsetPassword(Stringpassword){

this.password=password;

}

}

“Student”类拥有一些代表学生信息的私有属性以及各个属性的set、get方法,它的实现代码如下:

packagecom.Student.domain;

publicclassStudent{

privateintid;

privateStringsno;

privateStringname;

privateStringsex;

privateintage;

privateStringsclass;

privateStringphonenumber;

privateStringaddress;

publicintgetId(){

returnid;

}

publicvoidsetId(intid){

this.id=id;

}

publicStringgetSno(){

returnsno;

}

publicvoidsetSno(Stringsno){

this.sno=sno;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicStringgetSex(){

returnsex;

}

publicvoidsetSex(Stringsex){

this.sex=sex;

}

publicintgetAge(){

returnage;

}

publicvoidsetAge(intage){

this.age=age;

}

publicStringgetSclass(){

returnsclass;

}

publicvoidsetSclass(Stringsclass){

this.sclass=sclass;

}

publicStringgetPhonenumber(){

returnphonenumber;

}

publicvoidsetPhonenumber(Stringphonenumber){

this.phonenumber=phonenumber;

}

publicStringgetAddress(){

returnaddress;

}

publicvoidsetAddress(Stringaddress){

this.address=address;

}

}4.DAO类的实现

DAO类的类名为“StudentsDAO”,该类使用JDBC技术实现,用于和数据库交互,进行相关的增、删、改、查操作,它的实现代码如下:

packagecom.Student.dao;

importjava.sql.Connection;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.util.ArrayList;

importjava.util.List;

importcom.Student.domain.Student;

importcom.Student.util.DBConnection;

 

publicclassStudentsDAO{

publicListgetAllStudents(){

Connectioncon=DBConnection.getConnection();

Listlist=newArrayList();

try{

PreparedStatementps=con.prepareStatement("select*fromstudents");

ResultSetrs=ps.executeQuery();

while(rs.next()){

Studentstudent=newStudent();

student.setId(rs.getInt("id"));

student.setSno(rs.getString("sno"));

student.setName(rs.getString("name"));

student.setSex(rs.getString("sex"));

student.setAge(rs.getInt("age"));

student.setSclass(rs.getString("sclass"));

student.setPhonenumber(rs.getString("phonenumber"));

student.setAddress(rs.getString("address"));

list.add(student);

}

returnlist;

}catch(SQLExceptione){

e.printStackTrace();

}

returnnull;

}

publicbooleansaveStudent(Studentstudent)throwsException{

Connectioncon=DBConnection.getConnection();

PreparedStatementps=null;

 

try{

ps=con.prepareStatement("insertintostudentsvalues(?

?

?

?

?

?

?

?

)");

ps.setInt(1,student.getId());

ps.setString(2,student.getSno());

ps.setString(3,student.getName());

ps.setString(4,student.getSex());

ps.setInt(5,student.getAge());

ps.setString(6,student.getSclass());

ps.setString(7,student.getPhonenumber());

ps.setString(8,student.getAddress());

ps.executeUpdate();

mit();

returntrue;

}catch(SQLExceptione){

e.printStackTrace();

}finally{

con.close();

ps.close();

}

returnfalse;

}

publicvoiddeleteStudent(intsid){

Connectioncon=DBConnection.getConnection();

try{

PreparedStatementps=con.prepareStatement("deletefromstudentswhereid=?

");

ps.setInt(1,sid);

ps.executeUpdate();;

mit();

con.close();

}catch(Exceptione){

e.printStackTrace();

}

}

5.控制器类的实现

控制器类的类名有“LoginServlet”、“ListAllStudentServlet”“SaveServlet”类和“DeleteServlet”类,它们都继承了“HttpServlet”,用于接收页面表单中的数据和将DAO类传递的数据发送到页面中以及控制页面的转向,它们的实现代码分别如下:

publicclassLoginServletextendsHttpServlet{

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

Useruser=newUser();

user.setName(request.getParameter("username"));

user.setPassword(request.getParameter("password"));

UserServiceuserService=newUserService();

if(userService.checkLogin(user)){

HttpSessionsession=request.getSession();

session.setAttribute("username",user.getName());

request.getRequestDispatcher("/success.jsp").forward(request,response);

}

else

if(userService.checkLogin(user)){

HttpSessionsession=request.getSession();

session.setAttribute("username",user.getName());

request.getRequestDispatcher("/success1.jsp").forward(request,response);

}

request.getRequestDispatcher("/error.jsp").forward(request,response);

}

publicclassListAllStudentServletextendsHttpServlet{

 

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

StudentsServicestudentService=newStudentsService();

Listlist=studentService.getAllStudents();

request.setAttribute("allstudents",list);

request.getRequestDispatcher("/showallstudents.jsp").forward(request,response);

 

}

publicclassSaveServletextendsHttpServlet{

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

doPost(request,response);

publicvoiddoPost(HttpServletRequestrequest,HttpServletR

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1