1、 《Web程序设计》 课程设计报告 课程设计题目:职工信息管理系统 专 业 信息管理与信息系统 职工信息管理系统 课程设计目的: 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。 我使用JSP和Java Bean来构建一个职工信息管理系统。介绍的例
2、子可以分成两大部分,第一部分是普通程序,用于登录系统,第二部分是实现职工信息的增,删,查。 企业信息管理系统由以下几个部分构成: 第一部分home.jsp:登入界面 index.jsp:检测登录代码和密码是否一致,根据由JavaBean返回的结果显示不同的信息。dbBean:会员的合法性检验所用的Bean; (1)Left.jsp (2)Right.jsp (3)Top.jsp (4)Left.htm (5)Logout.jsp (6)Login.htm 第二部分 职工信息的增删查功能 1) dealdelete.jsp 2) deal
3、insert.jsp 3) dealupdate.jsp 4) delete.jsp 5) insert.htm 6) process.jsp 功能结构图 登入 添加 删除 查询 具体功能 本例的数据库采用Access(.MDB数据库),对数据库的访问采用便于理解的JDBC-ODBC方式,在使用本例前先在本地数据库建立一个ODBC数据源:user。 设置步骤如下: (1)在开始->设置->控制面版(Win98、NT4.0)中选取“数据源(ODBC
4、在Win 2000 Professional和Server中分别位于“开始->设置->控制面版->管理工具”和“开始->程序->管理工具”下。 (2) 启动“数据源(ODBC)”配置程序,界面如图15-1所示。 图 ODBC数据源管理界面 (3)在图15-1中“系统DSN”选项下单击“添加”按钮,来添加一个系统的数据源(DSN),则出现如图15-2所示数据源驱动程序选择界面: (3) 图 数据源驱动程序选择界面 (4)在图15-2中选择“Microsoft Access Driver (*.mdb)”单击“完成”加载Access数据库的驱动,则出现如图15-3所示数
5、据库ODBC安装界面: 数据库 登入界面 登入成功首页 增加功能 增加成功 删除功能 删除成功 查询功能 登入核心代码 1) Left.htm
9、esultSet rs, int p, int size,int logId) { str = ""; try {for(int k=0;k<(p-1)*size;k++) rs.next(); } catch(SQLException e) { } for(int iPage=1; iPage<=size; iPage++) { str += printRow(rs,iPage,p,logId); try { if(!rs.next()) break; } catch(Exception e)
10、 { } } return str; } public String printRow( ResultSet rs ,int i,int p,int logId) { String temp = ""; try { if(i%2==1) temp+="
11、'update.jsp?updateid="+id+"&p="+p+"' target='left'>"+id+"
12、 temp += "
13、t.getParameter("skey")!=null) { key=request.getParameter("skey"); session.setAttribute("skey",key); } ResultSet rs=null; String sql="select * from user"; if(session.getAttribute("stype")!=null) type=(String)session.getAttribute("stype"); if(session.getAttribute("skey")!=null)
14、 key=(String)session.getAttribute("skey"); if(type!=null && key!=null && !type.equals("") && !key.equals("")) { if(type.equals("id")||type.equals("age")) sql += " where "+type+"="+key; else sql += " where "+type+"='"+key+"'"; } sql+=" order by id asc"; rs=conn.executeQuery(s
15、ql); %>
| 职工号 | 职工名 | 性别 | 年龄 | 薪水 | <% ResultSet rsTmp=null; String sql2="select count(*) from user"; if(type!=null && key!=nu
|---|
21、tml;charset=gb2312"%> <%@ include file="check.jsp"%>
欢迎进入职工信息管理系统22、Attribute("loginId"); int i=Integer.parseInt(id); if(i<10001) { out.println("添加职工信息"); out.println("删除职工信息"); } else out.println("添加职工信息"); %> <
23、a href="logout.jsp" target="_top">退出
26、"session"/>
<%
request.setCharacterEncoding("gb2312");
String[] delid=request.getParameterValues("isdel");
if(delid!=null)
{
for(int i=0;i
27、dealinsert.jsp
<%@ page contentType="text/html;charset=gb2312" import="java.sql.*"%>
<%@ include file="checkadmin.jsp"%>
28、"; String phone=""; int id=10000; if(request.getParameter("username")!=null) name=request.getParameter("username"); if(request.getParameter("password")!=null) password=request.getParameter("password"); if(request.getParameter("sex")!=null) sex=request.getParameter("sex"); if(request.
29、getParameter("age")!=null && !(request.getParameter("age").equals(""))) age=request.getParameter("age"); if(request.getParameter("phone")!=null) phone=request.getParameter("phone"); ResultSet rs=null; rs = conn.executeQuery("select max(id) from user"); if(rs.next()) id=rs.getInt(1
30、); id++; rs.close(); String sql="insert into user values("+id+",'"+name+"','"+password+"','"+sex+"',"+age+",'"+phone+"')"; conn.executeUpdate(sql); conn.close(); response.sendRedirect("right.jsp"); %> 3) dealupdate.jsp <%@ page contentType="text/html;charset=gb2312" import="jav
31、a.sql.*"%>
32、"updateid"); if(request.getParameter("username")!=null) name=request.getParameter("username"); if(request.getParameter("password")!=null) password=request.getParameter("password"); if(request.getParameter("sex")!=null) sex=request.getParameter("sex"); if(request.getParameter("age")!=null
33、 !(request.getParameter("age").equals(""))) age=request.getParameter("age"); if(request.getParameter("phone")!=null) phone=request.getParameter("phone"); String sql="update user set name='"+name+"',password='"+password+"',sex='"+sex+"',age="+age+",phone='"+phone+"', where id="+id; con
34、n.executeUpdate(sql);
conn.close();
response.sendRedirect("right.jsp");
%>
4) delete.jsp
<%@ page contentType="text/html;charset=gb2312" import="java.sql.*"%>
<%@ include file="checkadmin.jsp"%>
35、 //当前页号 int p = 1; //全部的页数 int totalPage = 1; String str = ""; //显示页号为p的一页 public String printPage(ResultSet rs, int p, int size) { str = ""; //将访问游标定位到页号为p的页要显示的第一条记录的位置 try { for(int k=0;k<(p-1)*size;k++) rs.next(); } catch(SQLException e) { } for(int
36、iPage=1; iPage<=size; iPage++) { str += printRow(rs,iPage); try { if(!rs.next()) break; } catch(Exception e) { } } return str; } //显示单行记录 public String printRow( ResultSet rs ,int i) { String temp = ""; try { if(i%2==1) temp+="
37、'#e7e7e7'>"; else temp+="
38、")+"
45、示的记录个数 int size = 8; //当前页号 int p = 1; //全部的页数 int totalPage = 1; String str = ""; //显示页号为p的一页 public String printPage(ResultSet rs, int p, int size) { str = ""; //将访问游标定位到页号为p的页要显示的第一条记录的位置 try { for(int k=0;k<(p-1)*size;k++) rs.next(); } catch(SQLException e
46、) { } for(int iPage=1; iPage<=size; iPage++) { str += printRow(rs,iPage); try { if(!rs.next()) break; } catch(Exception e) { } } return str; } //显示单行记录 public String printRow( ResultSet rs ,int i) { String temp = ""; try { if(i%2==1)
47、 temp+="
48、>"+rs.getString("age")+"
49、