学生管理系统登录子模块开发安徽工商职业学院电子系开发任务开发学生管理系统登录子模块完成如下功能:把登录页的用户登录信息发送到我们设计好的信息校验页连接后台数据库,验证用户的登录信息对验证结果进行服务器跳转处理防止匿名用户的恶意登陆使用Cookie技术保存用户的登录信息,使用户不用输入账户密码直接登录掌握From表单的发送信息方式掌握Request对象获取用户填写的登录信息掌握如何连接数据库(两种方法、四种数据库)掌握如何对用户登录信息进行校验开发重点熟练掌握JDBC-ODBC连接数据库,数据库文件路径的获取深刻理解匿名恶意登录的处理对策熟练使用Cookie存储用户的登录信息掌握调用Cookie中存储的用户信息的相关方法开发难点项目前台界面设计复习项目前台界面设计复习套用现有模板进行设计(企业开发模板最好)使用FireworksCS4进行切片设计使用DreamweaverCS4进行布局设计使用IEtest软件进行多浏览器测试。(企业级开发必备步骤)项目前台界面设计复习前台界面两个细节的处理:如何将模板中文字、图像进行移位处理背景图像的渐进色处理(切片的选取、背景色的设置、repeat参数的使用)项目前台界面设计复习经过以上分析,基本上可以得到一个比较“正常”的页面。希望同学们注意的是:前台界面设计的美工很重要,内容多而繁杂,有些操作甚至远远超出了我们的课程范围,本课程主要讲解的后台程序的开发,要努力学习后台处理机制的设计。在公司中一个正规的WEB项目开发,必须有三类人员共同协作才能完成:前台美工人员(艺术设计专业人员:对色彩敏感)后台程序开发人员(主要负责内部处理机制和服务器处理)数据库设计人员(负责关系型数据库的设计)本次项目开发,同学们将会将这三类人员的角色全部体验一遍。后台登陆流程图login.jsp输入帐号、密码。Logincheck.jsp进行验证根据验证结果进行转发Login.jsp(用户登录页)Logincheck.jsp(用户登录信息校验页)登录成功页DBServer登录失败页根据处理结果进行跳转后台程序开发-----发送用户登录信息使用Form表单提交用户的登录信息:(login.jsp)formid=“logform”name=“logform”method=“post”action=“logincheck.jsp”inputtype=textname=log_user/inputtype=textname=log_pass//form使用request.getParameter()方法获取用户填写的登录信息(logincheck.jsp)Stringname=request.getParameter(log_user);Stringpass=request.getParameter(log_pass);后台程序开发----连接数据库操作数据库连接一般有3种方法:利用JDBC-ODBC(第一类)专用驱动程序(第二类)利用数据库厂家提供的函数库,直接编程。(很少使用)连接效率增高JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力。是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一的访问接口。在这里我们介绍一种通用的数据库连接方法:连接四种数据库(ACCESS、MYSQL、SQLSERVER、ORACLE)为什么不直接使用ODBCODBC不适合在Java中直接使用:ODBC是一个C语言实现的API,从Java中调用本地的C程序在安全性、完整性、健壮性方面都有缺点。无法精确实现从ODBCAPI到JavaAPI的翻译(语言的限制:指针支持)。ODBC很难学不再是纯JavaJDBC连接数据库的两大类基本操作JDBC驱动由数据库厂商提供在个人开发与测试中,可以使用JDBC-ODBC桥连方式在生产型开发中,推荐使用纯Java驱动方式DBServerDBServerJDBCAPIJDBCDriverManager纯Java驱动JDBC–ODBC桥Java应用程序ODBCJDBC程序的工作原理JDBCAPI提供者:sun公司(Oracle公司)内容:供程序员调用的接口与类,集成在java.sql和javax.sql包中,如:DriverManager类Connection接口Statement接口ResultSet接口DriverManager提供者:sun公司(Oracle公司)作用:载入各种不同的JDBC驱动JDBC驱动提供者:数据库厂商作用:负责连接各种不同的数据库SqlServerOracleJDBCAPIJDBCDriverManagerJDBC驱动JDBC驱动Java应用程序JDBCAPIJDBCAPI可做三件事:与数据库建立连接、执行SQL语句、处理结果ConnectionDriverManagerPreparedStatementResultSetDriverManager:依据数据库的不同,管理JDBC驱动Connection:负责连接数据库并担任传送数据的任务PreparedStatement:由Connection产生、负责执行SQL语句ResultSet:负责保存Statement执行后所产生的查询结果客户端数据库服务器1234JDBC-ODBC方式连接Access数据库桥连将对JDBCAPI的调用,转换为对另一组数据库连接API的调用优点:可以访问所有ODBC可以访问的数据库缺点:执行效率低、功能不够强大(Access例外)JDBC-ODBC桥Java应用程序JDBCAPIODBCAPIODBC层DBServer课本上介绍的方式使用JDBC-ODBC进行桥连1、在控制面板ODBC数据源系统DSN中配置数据源2、编程,通过桥连方式与数据库建立连接------语法------Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connectioncon=DriverManager.getConnection(jdbc:odbc:DataBase,,);JDBC-ODBC桥驱动类的完全限定类名数据源名称本项目推荐使用的方式使用JDBC-ODBC进行桥连1、定义基本的数据库驱动信息与数据库登录信息2、编程,数据库建立连接------语法------publicstaticfinalStringDBDRIVER=sun.jdbc.odbc.JdbcOdbcDriver;publicstaticStringDBURL=jdbc:odbc:Driver={MicrosoftAccessDriver(*.mdb)};DBQ=;publicstaticfinalStringDBUSER=;publicstaticfinalStringDBPASS=;Class.forName(DBDRIVER);conn=DriverManager.getConnection(URL,DBUSER,DBPASS);DBURL+真实的路径本项目推荐使用的方式使用JDBC-ODBC进行桥连------语法------publicstaticfinalStringDBDRIVER=sun.jdbc.odbc.JdbcOdbcDriver;publicstaticStringDBURL=jdbc:odbc:Driver={MicrosoftAccessDriver(*.mdb)};DBQ=;publicstaticfinalStringDBUSER=;publicstaticfinalStringDBPASS=;Class.forName(DBDRIVER);conn=DriverManager.getConnection(URL,DBUSER,DBPASS);Stringdbpath=application.getRealPath(\\Database\\Database.mdb);StringURL=DBURL+dbpath;DBURL+真实的路径JDBC驱动连接数据库纯Java驱动由JDBC驱动直接访问数据库优点:100%Java,快又可跨平台缺点:访问不同的数据库需要下载专用的JDBC驱动JDBC驱动Java应用程序JDBCAPIDBServerJDBC驱动连接数据库使用纯Java驱动方式进行直连1、下载数据库厂商提供的驱动程序包2、将驱动程序包引入工程中3、编程,通过纯Java驱动方式与数据库建立连接4、基本书写格式与JDBC-ODBC方式完全一致------语法------publicstaticfinalStringDBDRIVER=“………….;publicstaticfinalStringDBURL=“………………..”publicstaticfinalStringDBUSER=“………………;publicstaticfinalStringDBPASS=“………………...;Class.forName(DBDRIVER);conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);JDBC驱动连接Oracle数据库使用纯Java驱动方式进行直连1、下载数据库厂商提供的驱动程序包ojdbc12.jar2、将驱动程序包引入工程中3、编程,通过纯Java驱动方式与数据库建立连接------语法------publicstaticfinalStringDBDRIVER=“oracle.jdbc.driver.OracleDriver;publicstaticfinalStringDBURL=“jdbc:oracle:thin:@localhost:1521:huyp”;publicstaticfinalStringDBUSER=“数据库登录用户名(默认scott);publicstaticfinalStringDBPASS=“数据库登录用户密码(默认tiger);Class.forName(DBDRIVER);conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);IP端口号用户名JDBC驱动连接MYSQL数据库使用纯Java驱动方式进行直连1、下载数据库厂商提供的驱动程序包mysql-connector-java-5.1.7-bin.jar2、将驱动程序包引入工程中3、编程,通过纯Java驱动方式与数据库建立连接------语法------publicstaticfinalStringDBDRIVER=“com.mysql.jdbc.Driver;publicstaticfinalStringDBURL=“jdbc:mysql://localhost:3306/数据库名称”;publicstaticfinalStringDBUSER=“数据库登录用户名;publicstaticfinalStringDBPASS=“数据库登录用户密码;Class.forName(DBDRIVER);conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);六步使用JDBC1.加载JDBCDriver2.获取与数据库Connection3.创建PreparedStatement对象4.执行SQL语句5.处理ResultSet(针对查询语句)6.关闭ConnectionDriverManagerConnectionStatementResultSetJDBC驱动程序数据库创建创建创建数据SQL已建立到DB的链接JDBC程序编写过程JDBC程序的工作模板try{Class.forName(JDBC驱动类);}catch(ClassNotFoundExceptione){System.out.println(无法找到驱动类);}try{Connectioncon=DriverManager.getConnection(JDBCURL,数据库用户名,密码);Statementstmt=con.crea