资源描述
信息学院
课程综合实训汇报
课程名称
Javaweb程序设计
姓 名
范浩
专 业
计算机应用
班 级
14-2
指导老师
王伟、宫明明
学 期
-秋季学期
课 时
40
学 分
2
信息学院
二〇一六年十二月
一、实训目标
经过对Java语言、JavaWeb、Oracle数据库应用设计及SQL语言复习和锻 炼,而且经过使用MyEclipse 开发平台设计库存管理系统项目,以达成充足熟悉开发平台及其应用设计。同时掌握并实践软件项目设计规范及其开发步骤:需求分析、概要设计、具体设计、代码编写、系统测试及软件手册编写,方便提前适应软件企业开发步骤、环境和工作要求
二、实训内容
1.描述
.用户输入服务器网址后,首先显示登录界面,用户输入用户名和密码登录,登录错误提醒错误信息,登录成功依据不一样类型用户进入不一样界面。用户总共有三类:学生、老师、管理员;学生账号是全部数字学号,老师账号是qtc+数字,管理员账号也是老师账号,但管理员有特殊权限。
2.管理员操作: ,关键是对学生、老师、课程信息进行增删改查。制订课程任课老师、制订班级开课课程等。
3.老师操作:录入学生成绩,修改学生成绩
4.学生操作:成绩查询
2.需求分析
在现代化教育技术模式下,计算机已经广泛应用于学校教育管理,给传统教学方法带来了重大革命。怎样有效管理学生成绩是摆在我们面前一个新课题。
本文在研究现在中国外作业管理情况基础上,从学校实际需求出发,采取目前较为流行javaweb开发技术, SQL Server 数据库,设计并实现了一个功效较为完善CRP管理系统。经过对系统进行一系列需求分析、设计、编码、测试等工作
1).数据描述
SMSuser:,userId(用户账号,用户类型不一样,账号格式不一样),userName, userPassword,userSex,userType(用户类型:学生,老师,管理员) courseId(统计外键) classId(统计外键)
score:Sid(统计主键),userId(学生Id),score(分数) courseId(统计外键)
course:courseId(统计主键),courseName(课程名)
class1:classId(统计主键), className(班级名称名)
出现一个bug 应该把classid放到user里面
3.分工描述
姓名
完成模块
完成情况
备注
范浩
学生查询 及添加学生查看全部课程,查看班级基础信息
好
李文哲
学生查询 及添加学生查看全部课程,查看班级基础信息
好
王玮
学生查询 及添加学生查看全部课程,查看班级基础信息
好
四.关键部分源代码
此处罗列设计中关键类代码,列出类组员变量和组员方法,类请加上以下注释
用户类:private String userId;
private String userName;
private String userPassword;
private String userSex;
private String userType;
private String courseId;
private String classId;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String getUserSex() {
return userSex;
}
public void setUserSex(String userSex) {
this.userSex = userSex;
}
public String getUserType() {
return userType;
}
public void setUserType(String userType) {
this.userType = userType;
}
public String getCourseId() {
return courseId;
}
public void setCourseId(String courseId) {
this.courseId = courseId;
}
public String getClassId() {
return classId;
}
public void setClassId(String classId) {
this.classId = classId;
}
分数类 private String Sid;
private String userId;
private String score;
private String courseId;
public String getSid() {
return Sid;
}
public void setSid(String sid) {
Sid = sid;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getScore() {
return score;
}
public void setScore(String score) {
this.score = score;
}
public String getCourseId() {
return courseId;
}
public void setCourseId(String courseId) {
this.courseId = courseId;
}:
课程类private String courseId;
private String courseName;
public String getCourseId() {
return courseId;
}
public void setCourseId(String courseId) {
this.courseId = courseId;
}
public String getCourseName() {
return courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
班级表: private String classId;
private String className;
public String getClassId() {
return classId;
}
public void setClassId(String classId) {
this.classId = classId;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
登录处理:String userid=request.getParameter("userid");
String userpassword=request.getParameter("userpassword");
String usertype=request.getParameter("usertype");
SMSuser user=new SMSuser();
user.setUserId(userid);
user.setUserPassword(userpassword);
user.setUserType(usertype);
ResultSet rs=new SMSuserdaoImpl().LoginJudgmentType(user);
try {
if(rs.next()){
HttpSession session=request.getSession();
session.setAttribute("user", user);
String useid=rs.getString("userId");
String pwd=rs.getString("userPassword");
String userType=rs.getString("userType");
if("1".equals(userType)){
request.getRequestDispatcher("students.jsp").forward(request, response);
}
else
if("2".equals(userType)){
response.sendRedirect("teacher.jsp");
}
else
if("3".equals(userType)){
response.sendRedirect("adminnistrator.jsp");
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
数据库:
public ResultSet LoginJudgmentType(SMSuser user) {
// TODO Auto-generated method stub
con=db.getconnection();
String sql="select * from SMSuser where userId=? and userPassword=? and userType=?";
try {
ps=con.prepareStatement(sql);
ps.setString(1, user.getUserId());
ps.setString(2, user.getUserPassword());
ps.setString(3, user.getUserType());
rs=ps.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
}
学生查分:
<form action="studentsToSearchScore" method="post">
<table align="center" broder="1" wudth="100">
<tr>
<td class="2" align="center" colspan="2">
<h2>你好同学,请输入:</h2>
</td>
</tr>
<tr>
<td align="high">学号:</td>
<td>
<input type="text" name="userid">
</td>
</tr>
<tr>
<td align="high">姓名:</td>
<td>
<input type="text" name="username">
</td>
</tr>
<tr>
<td align="high">课程:</td>
<td>
<input type="text" name="usercourse">
</td>
</tr>
<tr>
<td class="2" align="center" colspan="2">
<input type="submit" value="开始查询">
</td>
</tr>
</table>
查分处理:
String scoreId=request.getParameter("scoreId");
String userId=request.getParameter("userId");
String coursecourseId=request.getParameter("coursecourseId");
String score=request.getParameter("score");
Score sc=new Score();
sc.setSid(scoreId);
sc.setUserId(userId);
sc.setCourseId(coursecourseId);
sc.setScore(score);
boolean flag=new ScoreDaoImpl().TeacherTOInsertStudentScore(sc);
if(flag){
request.getRequestDispatcher("ScoreInsertSuccessfully.jsp").forward(request, response);
}
数据库
public ResultSet StudentsTosearchScore(SMSuser user) {
// TODO Auto-generated method stub
con=db.getconnection();
String sql="select SMSuser.userId,userName,courseName,score from SMSuser,course,score where SMSuser.courseId=course.courseId and course.courseId=score.courseId and SMSuser.userId=?";
try {
ps=con.prepareStatement(sql);
ps.setString(1, user.getUserId());
rs=ps.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
五、实训结果
、实训总结
经过这次实训 ,我们收获太多了,不仅仅是知识上,还有团体配合方面,我们这次实训目标是已明年考试为主,所以我们界面没有太炫耀,只有代码,这不影响美观,经过两个星期实训,很快乐,我们组写完了。经历种种困难最终成功。当中写程序时候 很多地方全部是自己微弱地方,不会 全部标识了下来,立即问老师,或问同学,有时候一个知识点不会,需要半天甚至一天时候去琢磨,深刻印象是sql语句,我把数据库原理书翻了一遍,最终掌握了,经过2周实训,对javaweb了解更深了一步,对JDBC链接数据库熟练程度愈加好了,在这谢谢老师帮助,谢谢同学支持,实训完成,下次争取做愈加好
七、指导老师评语
八、实训成绩
实训指导老师署名:
年 月 日
展开阅读全文