资源描述:
《002_基于数据库的登陆程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、登陆模块案例1、程序要求:完成用户登陆功能。用户名及密码保存在数据库之中,可以使用数据库完成验证。2、输出页面:2.1、页面总体流程:2.2、具体演示:A、登陆首页:B、登陆成功页:E-Mail:mldnqa@163.comC、登陆失败页:3、数据库创建脚本:CREATETABLEPerson(idvarchar(32)notnullprimarykey,namevarchar(20),passwordvarchar(20))4、测试数据:INSERTINTOperson(id,name,password)values('
2、LXH','LiXingHua','ffffff');INSERTINTOperson(id,name,password)values('MLDN','mole','admin');E-Mail:mldnqa@163.com5、Oracle驱动程序:驱动程序:oracle.jdbc.driver.OracleDriver连接地址:jdbc:oracle:thin:@localhost:1521:mldn数据库用户名:scott数据库密码:tiger之前范例的问题:1、用户名及密码固定,不适合于更多人使用2、用户修改密码必须
3、修改JSP页面解决之道:使用数据库,让所有的用户名及密码保存在数据库中。使用Oracle9i版本数据库保证数据库服务打开数据库:mldn在数据库操作中必须使用JDBC,回顾JDBC基本操作步骤:1、加载驱动程序Class.forName("数据库驱动程序")://由各数据库厂商提供要将Oracle的驱动程序存放到:%TOMCAT_HOME%/common/lib中将驱动程序包拷贝完成之后,如果服务器已经启动,则需要重新启动。2、连接数据库(Connection)Connectionconn=DriverManager.ge
4、tConnection("数据库连接url","用户名","密码");3、操作数据库(CRUD)使用Statement、PreparedStatement·更新数据库:
5、-INSERT(插入)
6、-UPDATE(更新)
7、-DELETE(删除)·查询数据库:(ResultSet)
8、-SELECT4、关闭数据库连接修改代码:登陆验证页:login_conf.jsp使用Statement进行数据库操作:<%E-Mail:mldnqa@163.com//定义数据库操作的常量、对象//数据库驱动程序finalStringDBDRIVE
9、R="";//数据库连接地址finalStringDBURL="";//数据库用户名finalStringDBUSER="";//数据库连接密码finalStringDBPASSWORD="";//声明一个数据库连接对象Connectionconn=null;//声明一个数据库操作对象Statementstmt=null;//声明一个结果集对象ResultSetrs=null;//声明一个SQL变量,用于保存SQL语句Stringsql=null;%><%//进行数据库操作try{//加载驱动程序Class.forName
10、(DBDRIVER);//连接数据库conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);//实例化数据库操作对象stmt=conn.createStatement();//编写SQL语句sql="";//查询记录rs=stmt.executeQuery(sql);//判断是否有记录if(rs.next()){//如果有记录,则执行此段代码}//依次关闭rs.close();stmt.close();conn.close();}catch(Exceptione)
11、E-Mail:mldnqa@163.com{}%>在使用Oracle数据库时必须注意事务问题commit进行提交forward跳转属于服务器端的跳转:forward之后的代码不再被执行此时的登陆是基于Statement完成,所有SQL语句是通过拼凑完成的。存在安全问题:SQL注入漏洞SELECTnameFROMpersonWHEREid='lxh'andpassword='fsadfds'or'x'='x'密码输入:fsadfds'or'x'='x在程序中使用PreapredStatement来代替Statement使用在
12、开发中基本上都是使用PreapredStatement来操作数据库的。E-Mail:mldnqa@163.com