前言近几年来信息技术的快速发展给传统的旅游业带来了很大的冲击。
在过去的传统旅游中,信息的不发达和落后,已经是越来越不能够满足消费者的要求了,把旅游业进行信息化的改革的呼声已经越来越高。
那么是什么是旅游业的信息化呢?一般说来是利用现代的计算机技术,信息技术等相关的高手段及现代的传播媒体资源、旅游信息资源、旅游生产要素等资源进行深层次的管理、分配、组合、加工、传播、销售,以促进传统旅游业向现代旅游业的发展,加快旅游业的发展,提高旅游业的生产效率等。
在我国旅游资源非常丰富,但是旅游业的信息化基础建设一直是比较滞后的。
如何快速合理的开发丰富的旅游资源,管理纵多的旅游信息,以及强化旅游质量和意识,吸引海内外的广大的游客,更好的为旅客提供满意的服务显得很重要。
所以要开发一个旅游服务的网站系统,是广大的群众和国内外旅游者所期待的。
在网络技术发展到今天,随着WEB2.0时代的到来,Ajax、Api和Web Services等技术逐渐成熟,使得开发一个现代具有互联网等相关功能的旅游信息系统不再需要重复耗费巨大的财力和物力,在有效整合现有 web 服务的基础上,就能够在较短的时间内开发出功能完善的、适合于不同地区的旅游信息系统了。
关键词:计算机、浏览器、考勤管理、JSP目录前言 (1)正文 (1)1 需求分析 (1)1.1任务与分析 (1)1.2测试数据 (1)2 概要设计 (2)2.1系统设计 (2)2.2 数据库设计 (3)3详细设计 (6)3.1登录界面的实现 (6)3.2.管理员界面实现 (7)3.3.职工界面实现 (9)4 调试分析 (10)4.1用户登陆: (10)4.2 管理员界面 (12)4.3 职工界面 (12)5用户使用说明 (13)6测试结果 (13)结论 (16)参考文献 (17)正文1 需求分析程序需要以有好界面的形式设计。
有登录窗口,可以控制登录人员的级别。
程序界面分为职工与管理员。
职工界面给职工考勤,请假等操而设计,职工可方便的登记上班以及加班、申请请假和执行出差。
管理员界面为公司高层管理人员设计。
管理人员可查看职工所有信息,修改和删除职工信息。
轻松的查看职工在职情况(包括考勤、请假、加班和出差)。
1.1任务与分析1)任务:根据所学的数据库原理[1]与网络程序设计的知识,针对小型书店管理系统,进行系统需求分析,系统设计,数据库设计,编码,测试等,完成基本的数据的增加、查询、修改和删除的功能,从而达到掌握开发一个小型数据库的目的。
2)可行性分析:本系统采用的是MVC模式、SQL Sever 2008开发和Windows 操作系统开发,用JSP技术动态网页技术使用脚本语言(java)进行前台网页界面的设计、采用JDBC 方式与后台数据库进行连接,完成数据的添加、修改、删除、查询等功能[4]。
由于网络的快速发展,网页系统的应用越来越得到人们的青睐。
目前在大多数计算机上都装有浏览器,使用MVC模式做成的网页系统只需要放置在公司的服务器上,在局域网的所有用户可快速的访问该系统而并不需要安装任何软件。
系统的操作简单,对于没有开发经验的人员也可轻松使用,由此说明了该系统的操作方面可行性。
1.2测试数据1.登陆界面部分:该系统在登陆界面设有身份单选按钮,使用人员根据自己的身份选择登录。
职工与管理员均需要正确输入用户名与密码才可登录。
在页面设有管理员注册选项,管理员第一次使用需注册之后,方可登录对职工信息进行操作。
2.管理员界面部分1)职工基本信息:从数据库读取数据,进行查看、删除、修改操作。
2)增加职工:填写相应的项增加职工到数据库。
3)职工考勤:查看职工上班情况以及加班情况。
4)出差、请假查看:查看职工请假和出差情况。
3.职工界面部分1)考勤:通过职工选择上班下班按钮记录考勤情况。
2)出差、请假申请:职工填写申请表单,提出申请。
3)加班登记:若要加班,职工自行点击登记。
2 概要设计2.1系统设计该系统包括三大部分:登陆界面,管理员界面和职工界面。
1)登录界面,系统流程图如图2-1所示:图2-1 登陆界面2)管理员界面,流程图如图2-2所示:图2-2 管理员界面3)职工界面,流程图如图2-3所示:图2-3 职工界面2.2 数据库设计数据库在一个信息管理系统中占有非常重要的地位,一个数据库结构的好坏将直接对应用系统的效率,以及实现的效果产生影响。
合理的数据库结构可以提高数据存储的效率,保证数据的完整和一致。
本系统包含管理员登录表、职工登录、职工基本信息、出差表、加班表、请假表和考勤表。
1)管理员登录图2-4 登录表2)职工登录图2-5 职工登录表3)职工基本信息图2-6 职工基本信息表4)考勤表图2-7 考勤表5)出差表图2-8 出差表6)加班表图2-9 加班表表3详细设计3.1登录界面的实现该界面包含index.jsp和验证码image.jsp并使用CSS布局界面,以实现浏览器上WEB 页面的显示。
在用户使用时,通过表单跳转,将客户端数据传给后台服务器Servlet,在java 代码处理数据,并连接数据库验证用户的合法性。
最后返回客户端。
1)后台Servlet主要代码如下:String userName=request.getParameter("user");//接收form表单的值String passWord=request.getParameter("password");String rand = (String)request.getSession().getAttribute("rand");String input = request.getParameter("check");String str=request.getParameter("zhigong");PrintWriter out=response.getWriter();DBconn con=new DBconn();//数据库连接Statement stmt=null;Statement stmt1=null;Connection conn = con.conn();ResultSet rs=null;ResultSet rs1=null;out.println ( userName);out.println ( passWord);out.println ( rand);out.println ( input);if(rand.equals(input)){if(str.equals("管理员")){try {stmt=conn.createStatement();rs=stmt.executeQuery( "select * from 管理员登录 where name='" + userName+ "' and password = '" + passWord + "'");} catch (SQLException e1) {}try {request.getSession(true).setAttribute("username", userName);//将用户存入session response.sendRedirect("loginG.jsp");} catch (SQLException e) {e.printStackTrace();}}else if(str.equals("普通职工")){try {stmt1=conn.createStatement();rs1=stmt1.executeQuery( "select * from 职工登录 where name='" + userName+ "' and password = '" + passWord + "'");}3.2.管理员界面实现管理员界面由JSP进行布局,使用浮动框架显示各类信息。
此界面包含login.jsp、Gchuchai.jsp、linkG.css、linkG.jsp、showG1.jsp、showG2.jsp、Gkaoqing.jsp等页面进行显示1)增加职工的页面:<div class="div1"><form action="addZG"method="post"name="form1"onsubmit="return checkform()"><div><label for="Name">姓 名:</label><input type="text"name="Name"id="Name"size="20"/><span>*</span><br></div><div><label>职工号:</label><input type="text"name="number"></div><option>20</option><option>21</option><option>22</option><option> 23</option><option>24</option><option>25</option><option>26</option><option>27</option><option> 28</option><option>29</option><option>30</option><option>31</option></select></label><br></div><div>籍贯:<input type="text"name="where1"></div><div>所在部门:<select name="bumen"><option>销售部</option><option>技术部</option><option>研发部</option><option>人事部</option><option>售后部</option></select><br></div><div>职务:<select name="zhiwu"><option>销售代表</option><option>销售员</option><option>程序员</option><option>技术员</option><option>接待员</option></select><br></div><div>设置登录密码:<input type="text"name="pw"></div><div style="text-align:center"><input name="submit"type="submit"value="提交"/><input name="submit"type="reset"value="重置"/></div></form>2)后台处理数据用于显示、删除和增加职工信息(用Servlet实现)DBconn con=new DBconn();Statement stmt=null;Connection conn = con.conn();ResultSet rs=null;out=pageContext.getOut();try {stmt=conn.createStatement();rs=stmt.executeQuery("SELECT * FROM 职工基本信息 order by name");} catch (SQLException e1) {e1.printStackTrace();/* StringWriter sw = new StringWriter();PrintWriter pw = new PrintWriter(sw);e1.printStackTrace(pw);System.out.println(sw.toString().toUpperCase()); */ }r equest.setCharacterEncoding("UTF-8");%><tr><td>姓名</td><td></td><td>职工号</td><td></td><td>年龄<td>籍贯</td><td></td><td>部门</td><td></td><td>职务td>性别</td></tr><%while(rs.next()) {%><tr><td><%=rs.getString(1)%><td><td><%=rs.getString(2)%><td><td><%=rs.getString(3)%><td><td><%=rs.getString(4)%><td><td><%=rs.getString(5)%><td><td><%=rs.getString(6)%><td><td><%=rs.getString(7)%><td><% String name=rs.getString(1);tring number=rs.getString(2);String sex=rs.getString(7);<td><a href="update.jsp?name=<%=name%>&number=<%=number%>&sex=<%=s ex%>"target="a3">修改信息</a><td><td><a href="delete.jsp?number=<%=number%>"target="a3">删除信息</a><td><tr>/table></div>try {stmt=conn.createStatement();ret=stmt.executeUpdate( "insert into 职工基本信息(name,number,age,where1,bumen,zhiwu,sex) values('"+ name +"','" +number + "','" + age + "','" + where1 + "','" + bumen +"','" + zhiwu + "','" + sex+ "')");ret1=stmt1.executeUpdate( "insert into 职工登录(name,number,password) values('" + name +"','" +number + "','"+password + "')");et2=stmt2.executeUpdate( "insert into 考勤表 values('" + name +"','" +number + "','0','0','0')");ret3=stmt3.executeUpdate( "insert into 请假表 values('" + name +"','" +number + "','0','0','0','0','0')");ret4=stmt4.executeUpdate( "insert into 出差表 values('" + n ame +"','" +number + "','0','0','0','0','0')");ret5=stmt5.executeUpdate( "insert into 加班表 values('" + name +"','" +number + "','0','0','0','0')");if ( ret>0&&ret1>0&&ret2>0&&ret3>0&&ret4>0&&ret5>0)out.println ( "<html><head></head>");out.println ( ;out.println ( "</body></html>" );}} catch (SQLException e1) { StringWriter sw = new StringWriter();PrintWriter pw = new3.3.职工界面实现职工界面由JSP进行布局,使用浮动框架显示各类信息。