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

下载本文档

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

文档简介

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

2、除学生信息,普通用户只能添加、查看和修改学生信息;(2)添加学生信息:合法用户可以添加学生信息(包括学号、姓名、性别、年龄、所在班级、手机号、家庭住址);(3)查看学生信息:合法用户可以查看学生信息;(4)修改学生信息:合法用户可以修改学生信息;(5)删除学生信息:合法用户可以删除学生信息。4 设计内容 4.1 抽象数据类型的定义4.1.1程序所建立的包com.Student.daocom.Student.domaincom.Student.servicecom.Student.servletcom.Student.util4.1.2程序所需要导入的包import java.sql.*;imp

3、ort java.util.A*t;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;4.2数据库部分的实现4.2.1 逻辑设计1.关系模式课程信息(学号、姓名、性别、年龄、所在班级、手机号、家庭住址)2. 系统表表1 数据包course列名数据类型长度是否为空含义idint4N学生编码,主键,自动增长sonVarchar50Y学号namevarchar50Y姓名sexvarchar50Y性别ageint4Y年龄sclassvarchar50Y所在班级phonenumbervarchar50Y手机号addre

4、ssvarchar50Y家庭住址4.3程序流程开始图登录界面输入用户名称和用户密码是否成功成功页面错误页面对数据库进行操作显示课程信息NY结束图1 程序流程图4.4 系统代码实现 1.页面的实现本程序有四个主要页面:“login.jsp”,“success.jsp”“error.jsp”,“showallstudents.jsp”,“savaStudent”和“deleteStudent”, “login.jsp”用于用户登录,它的关键代码如下:<% page language="java" import="java.util.*" pageEnc

5、oding="GBK"%><html> <head> <title>My JSP 'login.jsp' starting page</title> </head> <body> <form action="servlet/LoginServlet" method="post"> 用户名称:<input type="text" name="username"></br>

6、; 用户密码:<input type="password" name="password"/></br> <input type="submit" value="登录"/> <input type="reset" value="重写"/> </form> </body></html> “success.jsp”当登录成功时,跳转到本页面,然后超链接到显示页面,它的关键代码如下:<% pa

7、ge language="java" import="java.util.*" pageEncoding="GBK"%><html><body> 欢迎管理员<%=session.getAttribute("username")%><a href="servlet/ListAllStudentServlet">进入管理页面<a/> </body></html>“error.jsp”当登录失败时,跳转到本页面,

8、然后超链接到登录页面,它的关键代码如下:<% page language="java" import="java.util.*" pageEncoding="gbk"%><html> <head> </head> <body> 用户名密码错误!<a href="/Student/login.jsp">重新登录<a/> </body></html> “showallstudents.jsp”用于显示所有的课程信

9、息和学分统计,它的关键代码如下:<% page language="java" import="java.util.*,comStudent.domain.*" pageEncoding="GBK"%><html> <head> </head> <body> <table border=1> <tr> <th>学号</th> <th>姓名</th> <th>性别</th> <

10、th>年龄</th> <th>所在班级</th> <th>手机号</th> <th>家庭住址</th> </tr> <% List list=(List)request.getAttribute("allstudents"); for(Iterator it=list.iterator();it.hasNext();) Student student=(Student)it.next(); %><tr> <td><%=student

11、.getSno() %></td> <td><%=student.getName() %></td> <td><%=student.getSex() %></td> <td><%=student.getAge() %></td> <td><%=student.getSclass() %></td> <td><%=student.getPhonenumber() %></td> <td>&

12、lt;%=student.getAddress() %></td> </tr> <% %> <a href="saveStudent.jsp">添加学生信息</a> <a href="UpdateStudent.jsp">修改学生信息</a> <a href="deleteStudent.jsp">删除学生信息</a> </table> </body></html> “savaStude

13、nt.jsp”用于填写要保存的课程信息,它的关键代码如下:<% page language="java" import="java.util.*" pageEncoding="GBK"%><html> <head> <title>保存页面 </title> </head> <body> <form action="servlet/SaveServlet" method="post"> <tabl

14、e> <tr><td>编号:</td><td><input type="text" name="id"/></td></tr> <tr><td>学号:</td><td><input type="text" name="sno"/></td></tr> <tr><td>姓名:</td><td><

15、;input type="text" name="name"/></td></tr> <tr><td>性别:</td><td><input type="text" name="sex"/></td></tr> <tr><td>年龄:</td><td><input type="text" name="age"/&

16、gt;</td></tr> <tr><td>所在班级:</td><td><input type="text" name="sclass"/></td></tr> <tr><td>手机号:</td><td><input type="text" name="phonenumber"/></td></tr> <tr>&l

17、t;td>家庭住址:</td><td><input type="text" name="address"/></td></tr> <tr><td><input type="submit" value="添加"/></td></tr> </table> </form> </body></html>2.工具类的实现工具的类名为“DBConnecti

18、on”,该类用于获得数据库的连接,它的实现代码如下:package com.Student.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBConnection public static Connection getConnection()final String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver"final String url=

19、"jdbc:microsoft:sqlserver:/localhost:1433;databasename=mydb"tryClass.forName(driverName);catch(ClassNotFoundException e)e.printStackTrace();tryConnection con=DriverManager.getConnection(url,"sa","sa");con.setAutoCommit(false);return con;catch(SQLException e)e.printStack

20、Trace();return null;3.实体类的实现实体类的类名有“User”和“Student”,“User”类拥有用户名称和用户密码的私有属性及各个属性的set、get方法,它的实现代码如下:package com.Student.domain;public class User private String name;private String password;public String getName() return name;public void setName(String name) = name;public String getPassword

21、() return password;public void setPassword(String password) this.password = password; “Student”类拥有一些代表学生信息的私有属性以及各个属性的set、get方法,它的实现代码如下:package com.Student.domain;public class Student private int id;private String sno;private String name;private String sex;private int age;private String sclass;priv

22、ate String phonenumber;private String address;public int getId() return id;public void setId(int id) this.id = id;public String getSno() return sno;public void setSno(String sno) this.sno = sno;public String getName() return name;public void setName(String name) = name;public String getSex

23、() return sex;public void setSex(String sex) this.sex = sex;public int getAge() return age;public void setAge(int age) this.age = age;public String getSclass() return sclass;public void setSclass(String sclass) this.sclass = sclass;public String getPhonenumber() return phonenumber;public void setPho

24、nenumber(String phonenumber) this.phonenumber = phonenumber;public String getAddress() return address;public void setAddress(String address) this.address = address;4.DAO类的实现DAO类的类名为“StudentsDAO”,该类使用JDBC技术实现,用于和数据库交互,进行相关的增、删、改、查操作,它的实现代码如下:package com.Student.dao;import java.sql.Connection;import j

25、ava.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.Student.domain.Student;import com.Student.util.DBConnection;public class StudentsDAO public List getAllStudents()Connection con=DBConnection.getConnection();Li

26、st list=new ArrayList();tryPreparedStatement ps=con.prepareStatement("select * from students"); ResultSet rs=ps.executeQuery(); while(rs.next() Student student=new Student(); student.setId(rs.getInt("id"); student.setSno(rs.getString("sno"); student.setName(rs.getString

27、("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); retu

28、rn list;catch(SQLException e)e.printStackTrace();return null;public boolean saveStudent(Student student) throws ExceptionConnection con=DBConnection.getConnection();PreparedStatement ps=null;try ps=con.prepareStatement("insert into students values(?,?,?,?,?,?,?,?)");ps.setInt(1, student.ge

29、tId();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();return true;catch(SQLExce

30、ption e)e.printStackTrace();finallycon.close();ps.close();return false;public void deleteStudent(int sid)Connection con=DBConnection.getConnection();tryPreparedStatement ps=con.prepareStatement("delete from students where id=?");ps.setInt(1, sid);ps.executeUpdate();mit();con.close();catch(

31、Exception e)e.printStackTrace(); 5.控制器类的实现控制器类的类名有“LoginServlet”、“ListAllStudentServlet” “SaveServlet”类和“DeleteServlet”类,它们都继承了“HttpServlet”,用于接收页面表单中的数据和将DAO类传递的数据发送到页面中以及控制页面的转向,它们的实现代码分别如下:public class LoginServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletRespo

32、nse response)throws ServletException, IOException User user=new User(); user.setName(request.getParameter("username"); user.setPassword(request.getParameter("password"); UserService userService=new UserService(); if(userService.checkLogin(user) HttpSession session=request.getSess

33、ion(); session.setAttribute("username",user.getName(); request.getRequestDispatcher("/success.jsp").forward(request, response); else if(userService.checkLogin(user) HttpSession session=request.getSession(); session.setAttribute("username",user.getName(); request.getRequ

34、estDispatcher("/success1.jsp").forward(request, response); request.getRequestDispatcher("/error.jsp").forward(request, response); public class ListAllStudentServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletExcept

35、ion, IOException StudentsService studentService=new StudentsService();List list=studentService.getAllStudents();request.setAttribute("allstudents", list);request.getRequestDispatcher("/showallstudents.jsp").forward(request, response);public class SaveServlet extends HttpServlet p

36、ublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request,response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding("gbk");int i

37、d=Integer.parseInt(request.getParameter("id");String sno=(String)request.getParameter("sno");String name=(String)request.getParameter("name");String sex=(String)request.getParameter("sex");int age=Integer.parseInt(request.getParameter("age");String s

38、class=(String)request.getParameter("sclass");String phonenumber=(String)request.getParameter("phonenumber");String address=(String)request.getParameter("address");Student student=new Student();student.setId(id);student.setSno(sno);student.setName(name);student.setSex(se

39、x);student.setAge(age);student.setSclass(sclass);student.setPhonenumber(phonenumber);student.setAddress(address);StudentsDAO studentDao=new StudentsDAO();trystudentDao.saveStudent(student);catch(Exception e)e.printStackTrace();studentDao.getAllStudents();StudentsService studentService=new StudentsSe

40、rvice();List list=studentService.getAllStudents();request.setAttribute("allstudents", list);request.getRequestDispatcher("/showallstudents.jsp").forward(request, response); public class DeleteServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletRes

41、ponse response)throws ServletException, IOException doPost(request,response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException int id=Integer.parseInt(request.getParameter("id");StudentsDAO studentsDao=new StudentsDAO();trystud

42、entsDao.deleteStudent(id);catch(Exception e)e.printStackTrace();StudentsService studentService=new StudentsService();List list=studentService.getAllStudents();request.setAttribute("allstudents", list);request.getRequestDispatcher("/showallstudents.jsp").forward(request, response)

43、; 6.Servic类的实现Service类的类名有“UserServiec”和“StudentsServiece”类,是用于控制器类和DAO类之间的数据传递的连接,它们的实现代码分别如下:public class UserService public boolean checkLogin(User user)if(user.getName().equals("111")&&user.getPassword().equals("111")return true;elsereturn false;public class StudentsS

44、ervice public List getAllStudents()StudentsDAO studentsDAO=new StudentsDAO();return studentsDAO.getAllStudents(); 7.配置“web.xml”文件在“web.xml”文件中配置<servlet>元素和<servlet-mapping>元素,配置的关键代码如下: <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.Student.servlet.LoginServlet</servlet-class> </

温馨提示

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

评论

0/150

提交评论