版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业园区照明节能措施
- 幼儿成长规划协议
- 药品库房作业指导书
- 农业仓库彩钢瓦搭建合同
- 临时演员参演动作片合同
- 住宅区电力供应办法
- 2024年金融理财产品售后服务保障协议3篇
- 2024年车厂出口业务合同2篇
- 外交团队管理促进国际合作
- 社交媒体经营部管理办法
- 扫描电子显微镜(SEM)-介绍-原理-结构-应用
- 北京市海淀区2024-2025学年七年级上学期期中考试英语试卷(含答案)
- 中资企业出海报告:潮涌浪阔四海扬帆
- 老旧小区改造室外消火栓工程施工方案和技术措施
- 《地质灾害监测技术规范》
- 2024-2030年中国云母制品制造市场发展状况及投资前景规划研究报告
- 2025年上半年内蒙古鄂尔多斯伊金霍洛监狱招聘17名(第三批)易考易错模拟试题(共500题)试卷后附参考答案
- 24秋国家开放大学《农产品质量管理》形考任务1-2+形考实习1-3参考答案
- 2024-2025学年人教版八年级上册地理期末测试卷(二)(含答案)
- 80、沈阳桃仙机场二平滑工程冬期施工方案
- 一年级数学练习题-20以内加减法口算题(4000道)直接打印版
评论
0/150
提交评论