javaEE-学生基本信息管理系统_第1页
javaEE-学生基本信息管理系统_第2页
javaEE-学生基本信息管理系统_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件学院课程设计报告书课程名称JavaEE课程设计设计题目学牛基本信息管理系统专业班级学号姓名指导教师2011年12月1设计时间2011/12/12-2011/12/162设计目的JavaEE课程设计是对所学JavaEE与中间件课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。要求同学们对课程中所学习到的知识综合运用,开发有一定规模的JavaWeb程序。3设计任务一必备功能说明:1功能描述:用户以合法身份登录系统后,才能进行所有操作;登录系统时,有两种权限:管理员权限和普通用户权限。管理员用户可以添加、查看、修改和删除学生信息,普通用户只能添加、查看和修改学生信息;

2、2添加学生信息:合法用户可以添加学生信息包括学号、性别、年龄、所在班级、号、家庭住址;3查看学生信息:合法用户可以查看学生信息;4修改学生信息:合法用户可以修改学生信息;5删除学生信息:合法用户可以删除学生信息。4设计内容4.1抽象数据类型的定义程序所建立的包com.Student.daocom.Student.domaincom.Student.servicecom.Student.servletcom.Student.util程序所需要导入的包importjava.sql.*;importjava.util.A*t;importjava.io.*;importjavax.servlet.*

3、;importjavax.servlet.*;4.2.1逻辑设计课程信息学号、性别、年龄、所在班级、号、家庭住址2.系统表表1数据包course列名数据类型长度是否为空含义idint4N学生编码,主键,自动增长sonVarchar50Y学号namevarchar50Ysexvarchar50Y性别ageint4Y年龄sclassvarchar50Y所在班级phonenumbervarchar50Y号addressvarchar50Y家庭住址图1程序流程图4.4系统代码实现1.页面的实现本程序有四个主要页面:“”,"showallstudents.jsp',“savaStude

4、nt和“deleteStudent,“l”用丁用户登录,它的关键代码如下:<%pagelanguage="java"import="java.util.*"pageEncoding="GBK"%><html><head><title>MyJSP'login.jsp'startingpage</title></head><body><formaction="servlet/LoginServlet"method=

5、"post">用户名称:<inputtype="text"name="username"></br>用户密码:<inputtype="password"name="password"/></br><inputtype="submit"value="登录"/><inputtype="reset"value="重写"/></form>

6、;</body></html>当登录成功时,跳转到本页面,然后超链接到显示页面,它的关键代码如下:<%pagelanguage="java"import="java.util.*"pageEncoding="GBK"%><html><body>欢送管理员<%=session.getAttribute("username")%><ahref="servlet/ListAllStudentServlet">进入管理页

7、面<a/></body></html>当登录失败时,跳转到本页面,然后超链接到登录页面,它的关键代码如下:<%pagelanguage="java"import="java.util.*"pageEncoding="gbk"%><html><head></head><body>用户名密码错误!<ahref="/Student/login.jsp">重新登录<a/></body><

8、/html>“showallstudents.jsp'用丁显示所有的课程信息和学分统计,它的关键代码如下:<%pagelanguage="java"import="java.util.*,comStudent.domain.*"pageEncoding="GBK"%><html><head></head><body><tableborder=1><tr><th>学号</th><th></th>

9、;<th>性另U</th><th>年龄</th><th>所在班级</th><th>号</th><th>家庭住址</th></tr><%"allstudents");<%"allstudents");"allstudents");"allstudents");%></td>Listlist=(List)request.getAttribute(for(Ite

10、ratorit=list.iterator();it.hasNext();)Studentstudent=(Student)it.next();%><tr><td><%=student.getSno()<td><%=student.getName()%x/td><td><%=student.getSex()%></td><td><%=student.getAge()%></td><td><%=student.getSclass()%x/td>

11、;%X/td><td><%=student.getPhonenumber()<td><%=student.getAddress()%></td></tr><%><ahref="saveStudent.jsp”添加学生信息/a><ahref="UpdateStudent.jsp"修改学生信息</a><ahref="deleteStudent.jsp”删除学生信息</a></table></body>&l

12、t;/html>“savaStudent.js用丁填写要保存的课程信息,它的关键代码如下:<%pagelanguage="java"import="java.util.*"pageEncoding="GBK”%><html><head><title>保存页面</title></head><body><formaction="servlet/SaveServlet"method="post"><tab

13、le><tr><td>编号:</td><td><inputtype="text"name="id"/></td></tr><tr><td>学号:</td><td><inputtype="text"name="sno"/></td></tr><tr><td>:</1td><td><inputt

14、ype="text"name="name"/></td></tr><tr><td>性别:</td><td><inputtype="text"name="sex"/></td></tr><tr><td>年龄:</td><td><inputtype="text"name="age"/></td>&

15、lt;/tr><tr><td>所在班级:</td><td><inputtype="text"name="sclass"/></td></tr><tr><td>号:</td><td><inputtype="text"name="phonenumber"/></td></tr><tr><td>家庭住址:</td>

16、<td><inputtype="text"name="address"/></td></tr><tr><td><inputtype="submit"value="添加"/></td></tr></table></form></body></html>2.工具类的实现工具的类名为“DBConnection”,该类用丁获得数据库的连接,它的实现代码如下:packag

17、ecom.Student.util;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;publicclassDBConnectionpublicstaticConnectiongetConnection()finalStringdriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver”;finalStringurl="jdbc:microsoft:sqlserver:/localhost:1433;dat

18、abasename=mydb”;tryClass.forName(driverName);catch(ClassNotFoundExceptione)e.printStackTrace();tryConnectioncon=DriverManager.getConnection(url,"sa”,"sa”);con.setAutoCommit(false);returncon;catch(SQLExceptione)e.printStackTrace();returnnull;3.实体类的实现实体类的类名有“User”和“Student',“User”类拥有用户名称

19、和用户密码的私有届性及各个届性的set、get方法,它的实现代码如下:packagecom.Student.domain;publicclassUserprivateStringname;privateStringpassword;publicStringgetName()(returnname;)publicvoidsetName(Stringname)(=name;)publicStringgetPassword()(returnpassword;)publicvoidsetPassword(Stringpassword)(this.password=password;)

20、“Student”类拥有一些代表学生信息的私有届性以及各个届性的set、get方法,它的实现代码如下:packagecom.Student.domain;publicclassStudent(returnidprivateintid;privateStringsno;privateStringname;privateStringsex;privateintage;privateStringsclass;privateStringphonenumberprivateStringaddress;publicintgetId()()publicvoidsetId(intid)(this.id=id;

21、)publicStringgetSno()(returnsno;)publicvoidsetSno(Stringsno)(this.sno=sno;)publicStringgetName()(returnname;)publicvoidsetName(Stringname)(=name;)publicStringgetSex()(returnsex;)publicvoidsetSex(Stringsex)(this.sex=sex;)publicintgetAge()(returnage;)publicvoidsetAge(intage)(this.age=age;)pub

22、licStringgetSclass()(returnsclass;)publicvoidsetSclass(Stringsclass)(this.sclass=sclass;)publicStringgetPhonenumber()(returnphonenumber;)publicvoidsetPhonenumber(Stringphonenumber)(this.phonenumber=phonenumber;)publicStringgetAddress()(returnaddress;)publicvoidsetAddress(Stringaddress)(this.address=

23、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

24、;importcom.Student.util.DBConnection;publicclassStudentsDAOpublicListgetAllStudents()Connectioncon=DBConnection.getConnection();Listlist=newArrayList();tryPreparedStatementps=con.prepareStatement("select*fromstudents");ResultSetrs=ps.executeQuery();while(rs.next()Studentstudent=newStudent(

25、);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.ge

26、tString("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

27、.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.

28、setString(8,student.getAddress();ps.executeUpdate();conmit();returntrue;catch(SQLExceptione)(e.printStackTrace();finally(con.close();ps.close();returnfalse;publicvoiddeleteStudent(intsid)(Connectioncon=DBConnection.getConnection();try(PreparedStatementps=con.prepareStatement("deletefromstudents

29、whereid=?”);ps.setInt(1,sid);ps.executeUpdate();conmit();con.close();catch(Exceptione)(e.printStackTrace();5.控制器类的实现控制器类的类名有“LoginServlet”、“ListAllStudentServlet”“SaveServlef类和“DeleteServlet”类,它们都继承了“Servlet”,用丁接收页面表单中的数据和将DAO类传递的数据发送到页面中以及控制页面的转向,它们的实现代码分别如下:publicclassLoginServletextendsServlet(pu

30、blicvoiddoGet(ServletRequestrequest,ServletResponseresponse)throwsServletException,IOException(Useruser=newUser();user.setName(request.getParameter("username");user.setPassword(request.getParameter("password");UserServiceuserService=newUserService();if(userService.checkLogin(user

31、)Sessionsession=request.getSession();session.setAttribute("username",user.getName();request.getRequestDispatcher("/success.jsp").forward(request,publicvoiddoGet(ServletRequestrequest,ServletResponseresponse)throwsServletException,IOExceptionStudentsServicestudentService=newStuden

32、tsService();response);elseif(userService.checkLogin(user)Sessionsession=request.getSession();session.setAttribute("username"request.getRequestDispatcher(response);,user.getName();"/success1.jsp").forward(request,response);request.getRequestDispatcher("/error.jsp").forwa

33、rd(request,publicclassListAllStudentServletextendsServletListlist=studentService.getAllStudents();request.setAttribute("allstudents",list);request.getRequestDispatcher("/showallstudents.jsp").forward(request,response);publicclassSaveServletextendsServletpublicvoiddoGet(ServletReq

34、uestrequest,ServletResponseresponse)throwsServletException,IOExceptiondoPost(request,response);publicvoiddoPost(ServletRequestrequest,ServletResponseresponse)throwsServletException,IOExceptionrequest.setCharacterEncoding("gbk");intid=Integer.parseInt(request.getParameter("id");St

35、ringsno=(String)request.getParameter("sno");Stringname=(String)request.getParameter("name");Stringsex=(String)request.getParameter("sex");intage=Integer.parseInt(request.getParameter("age");Stringsclass=(String)request.getParameter("sclass");Stringph

36、onenumber=(String)request.getParameter("phonenumber");Stringaddress=(String)request.getParameter("address");Studentstudent=newStudent();student.setId(id);student.setSno(sno);student.setName(name);student.setSex(sex);student.setAge(age);student.setSclass(sclass);student.setPhonenu

37、mber(phonenumber);student.setAddress(address);StudentsDAOstudentDao=newStudentsDAO();trystudentDao.saveStudent(student);catch(Exceptione)e.printStackTrace();studentDao.getAllStudents();StudentsServicestudentService=newStudentsService();Listlist=studentService.getAllStudents();request.setAttribute(&q

38、uot;allstudents",list);request.getRequestDispatcher("/showallstudents.jsp").forward(request,response);publicclassDeleteServletextendsServletpublicvoiddoGet(ServletRequestrequest,ServletResponseresponse)throwsServletException,IOExceptiondoPost(request,response);publicvoiddoPost(Servlet

39、Requestrequest,ServletResponseresponse)throwsServletException,IOExceptionintid=Integer.parseInt(request.getParameter("id");StudentsDAOstudentsDao=newStudentsDAO();trystudentsDao.deleteStudent(id);catch(Exceptione)e.printStackTrace();)e.printStackTrace();)e.printStackTrace();)StudentsServic

40、estudentService=newStudentsService();Listlist=studentService.getAllStudents();request.setAttribute("allstudents",list);request.getRequestDispatcher("/showallstudents.jsp”response);).forward(request,6.Servic类的实现Service类的类名有“UserServied'和“StudentsServiece类,是用丁控制器类和DAO类之间的数据传递的连接,它们的

41、实现代码分别如下:publicclassUserService(publicbooleancheckLogin(Useruser)(if(user.getName().equals("111")&&user.getPassword().equals("111")returntrue;elsereturnfalse;)publicclassStudentsService(publicListgetAllStudents()(StudentsDAOstudentsDAO=newStudentsDAO();returnstudentsDAO.g

42、etAllStudents();7.配置文件文件中配置servlet元素和servlet-mappingx素,配置的关键代码如下:<servlet><servlet-name>LoginServlet</servlet-name><servlet-class<servlet-class<servlet-class></servlet-class</servlet><servlet><servlet-name>ListAllStudentServlet</servlet-name><servlet-class></servlet-class</servlet><servlet-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论