javaEE 学生个人成绩管理系统Word文件下载.docx
《javaEE 学生个人成绩管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《javaEE 学生个人成绩管理系统Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
长度
字段描述
id
int
4
主键,自增长
sno
学号
sname
varchar
50
姓名
cname
课程名
grade
成绩
2详细设计
程序流程图:
4.2.1各子系统的详细设计
1。
登录子系统
“index.jsp”用于用户登录,输入用户名和密码登录失败时跳转到“error。
jsp”页面,重新输入用户名和密码。
登录成功进入“success.jsp”页面,点击相应按钮进行相应操作。
2.查询子系统
“showAllScore.jsp”用于显示所有成绩信息包括:
学号,姓名,课程名,成绩。
建立超链接到其他三个子系统的页面。
3。
删除子系统
“delete。
jsp"
用于删除成绩,输入要删除的学号点击删除.
添加子系统
Add.jsp用于填加成绩,输入要添加的数据,点击添加。
5。
计算平均成绩子系统
“acc.jsp”用于计算平均成绩,点击进入所对应的servlet进行处理.
4.2。
2抽象数据类型的定义
所需要导入的包及建立的包
表4—1包定义表
包名
类名
功能
com。
scores.dao
scores.Dao.java
增加信息
显示信息
删除信息
平均成绩信息
scores.domain
scores.java
成绩属性
User。
java
用户属性
scores.service
ScoresService。
成绩服务
UserService.java
用户服务
com.scores。
servlet
AcctServlet。
计算平均成绩控制层
DeleteServlet.java
删除成绩控制层
UpdateServlet。
修改成绩控制层
LoginServlet。
登录控制层
AddServlet.java
添加成绩控制层
表4-2页面定义表
页面名称
作用
add。
jsp
添加页面
delete。
删除页面
update,jsp
修改页面
error.jsp
登陆失败页面,返回登录界面
index.jsp
用户界面
Sava.jsp
操作页面
ShowAllCost。
显示页面
success。
登陆成功页面,跳转至用户界面
acci.jsp
计算平均成绩页面
4.2.3运行界面
登录界面如下
登录成功和失败的页面如下:
增删改查操作的成绩表格:
添加后表为:
删除掉张思成绩后表格如下:
将李四的成绩改为99后表格如下:
4.2.4主要代码
1.登录的JSP代码:
<
formaction=”servlet/LoginServlet”method="
get"
>
用户名〈inputtype=”text"
name="
username”/>
密码〈inputtype="
password"
/〉〈br〉
<
inputtype="
submit"
value="
登录"
/>
登录失败进入error.jsp页面重新输入用户名和密码,登录成功进入success.jsp页面,进行相关操作.
2.SERVLET控制层代码:
添加成绩代码:
publicclassAddServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
ScoreServicescoreservice=newScoreService();
Listlist=scoreservice。
getAddScores();
request.setAttribute("
allscores"
,list);
request。
getRequestDispatcher("
/add。
jsp”)。
forward(request,response);
}
删除成绩代码:
publicclassDeleteServletextendsHttpServlet{
ScoreServicescoreservice=newScoreService();
Listlist=scoreservice.getDeleteScores();
setAttribute("
list);
getRequestDispatcher(”/delete。
forward(request,response);
}
修改成绩代码
publicclassUpdateServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
setAttribute(”allscores"
getRequestDispatcher(”/update。
jsp”).forward(request,response);
}
查询成绩代码:
publicclassScoreServletextendsHttpServlet{
throwsServletException,IOException{
getAllScores();
allscores”,list);
getRequestDispatcher(”/showAllScores。
)。
计算平均成绩代码:
publicclassScoreServletextendsHttpServlet{
Listlist=scoreservice.getAllScores();
,list);
request.getRequestDispatcher(”/acc。
).forward(request,response);
DAO层代码:
DAO类的类名为“ScoreDao"
,该类使用JDBC技术实现,用于和数据库交互,进行相关的增、删、改、查操作,它的实现代码如下:
publicclassScoreDAO{
privatestaticScorescores;
publicstaticListgetAllScores(){
Connectioncon=DBConnection。
getConnection();
try{
Listlist=newArrayList();
PreparedStatementps=con。
prepareStatement(”select*fromscores"
);
ResultSetrs=ps.executeQuery();
while(rs.next()){
Scorescore=newScore();
score.setSno(rs。
getInt(”sno”));
score。
setSname(rs.getString("
sname"
));
setCname(rs.getString("
cname"
score.setGrade(rs。
getInt(”grade”));
list.add(score);
}
con。
commit();
returnlist;
}
catch(SQLExceptione){
e。
printStackTrace();
returnnull;
publicstaticListgetAddScores()throwsSQLException{
Connectioncon=DBConnection.getConnection();
Listlist=newArrayList();
prepareStatement("
insertintoscores(sno,sname,cname,grade)values(?
?
?
,?
)”);
score.setSno(rs.getInt("
sno”));
score.setSname(rs。
getString(”sname"
));
score.setCname(rs。
getString("
score.setGrade(rs.getInt("
grade”));
list.add(score);
returnlist;
}
printStackTrace();
returnnull;
publicstaticListgetDeleteScores(){
Listlist=newArrayList();
PreparedStatementps=con.prepareStatement("
delete*fromscoreswhereid=?
”);
ResultSetrs=ps。
executeQuery();
while(rs。
next()){
Scorescore=newScore();
score。
setSno(rs.getInt(”sno”));
score.setSname(rs.getString("
sname”));
score.setCname(rs.getString(”cname"
setGrade(rs.getInt("
grade"
list。
add(score);
e.printStackTrace();
}
publicstaticListgetUpdateScores(){
Connectioncon=DBConnection。
Listlist=newArrayList();
PreparedStatementps=con.prepareStatement(”update*scoressetsno=?
sname=?
cname=?
grade=?
”);
executeQuery();
Scorescore=newScore();
setSno(rs.getInt("
setSname(rs。
getString(”sname”));
score.setCname(rs。
getString(”cname"
setGrade(rs。
getInt(”grade"
add(score);
catch(SQLExceptione){
e。
publicstaticListgetAccScores(){
Connectioncon=DBConnection.getConnection();
try{
PreparedStatementps=con。
prepareStatement(”select*fromscores”);
ResultSetrs=ps.executeQuery();
Scorescore=newScore();
score.setSno(rs。
getInt("
sno”));
setCname(rs.getString(”cname”));
setGrade(rs.getInt(”grade"
add(score);
returnlist;
SERVICE层代码:
publicclassScoreService{
publicListgetAllScores(){
ScoreDAOsoreDAO=newScoreDAO();
returnScoreDAO。
getAllScores();
publicListgetAddScores(){
returnScoreDAO.getAddScores();
publicListgetDeleteScores(){
returnScoreDAO.getDeleteScores();
publicListgetUpdateScores(){
returnScoreDAO.getUpdateScores();
publicclassUserService{
publicstaticbooleanCheckLogin(Useruser){
if(user。
getUsername().equals("
admain”)&&user.getPassword()。
equals("
123456”)){
returntrue;
}
returnfalse;
}
实体类代码:
Score实体:
User实体:
publicclassScore{publicclassUser{
privateintsno;
privateStringusername;
privateStringsname;
privateStringpassword;
//生成set和get方法
privateStringcname;
privateintgrade;
6.连接数据库代码:
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”);
setAutoCommit(false);
System。
out。
println(con);
returncon;
catch(SQLExceptione){
returnnull;
7.JSP页面:
showAllScores.jsp:
body>
tableborder=1〉
〈tr〉
〈td>
学号〈/td>
〈td〉姓名<
/td>
课程名<
/td〉
td>
成绩<
/tr>
〈%
Listlist=(List)request.getAttribute("
if(list!
=null){
for(Iteratorit=list.iterator();
it.hasNext();
)
{Scorescore=(Score)it.next();
%>
〈td〉<
%=score。
getSno()%〉〈/td〉
getSname()%〉〈/td>
〈td〉〈%=score.getCname()%>
〈%=score.getGrade()%>
〈%}
}%〉
〈ahref=”add。
jsp”〉添加成绩<
/a>
〈ahref="
〉删除成绩<
〈ahref=”update。
〉修改成绩〈/a〉
ahref=”acc.jsp”〉计算平均成绩<
/body>
Save.jsp:
body〉
〈formaction="
servlet/servlet?
arg=3"
method=”get”>
tableborder=1>
tr>
学号<
inputtype=”text”name="
sno”>
/tr〉
tr〉<
姓名<
inputtype=”text"
/td〉〈/tr>
td〉课程名<
td〉<
name=”cname”>
〈/tr>
〈tr〉<
td〉成绩〈/td>
〈inputtype="
text”name=”grade"
/td〉<
/table〉
submit”value=”提交”〉〈/body〉
增删改查操作jsp页面:
〈tr〉
<
th〉学号〈/th>
〈th>
/th〉
〈th〉课程〈/th〉
th〉成绩〈/th〉
allscores”);
if(list!
=null){
for(Ite