标签:
一、 找出函数中存在的问题。以下题目均在Lab05项目中完成。
1、 请给MySQLConnBean.java中的类和每个方法都加上注释
2、 package org.easybooks.bookstore.jdbc;
3、
4、 import java.sql.*;
5、
6、 public class MySQLConnBean {
7、 private Statement stmt=null;
8、 private Connection conn=null;
9、 private ResultSet rs=null;
10、
11、
12、 public void openConn() throws Exception {//连接数据库
13、 Class.forName("com.mysql.jdbc.Driver");
14、 String url="jdbc:mysql://localhost:3306/test";
15、 String user="root";
16、 String password="123456";
17、 conn=DriverManager.getConnection(url, user, password);
18、 }
19、
20、
21、 public ResultSet execQuery(String sql){///执行sql语句
22、 rs=null;
23、 try{
24、 stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
25、 rs=stmt.executeQuery(sql);
26、 }catch (SQLException e) {
27、 System.err.println("Data.executeQuery:"+e.getMessage());
28、 }
29、
30、 return rs;
31、 }
32、
33、 public void closeStmt(){// 关闭Statement对象
34、 try{
35、 stmt.close();
36、 }catch(SQLException e){
37、 System.err.println("Data.executeQuery:"+e.getMessage());
38、 }
39、 }
40、
41、 public void closeConn(){//关闭数据库连接对象
42、 try{
43、 conn.close();
44、 }catch(SQLException e){
45、 System.err.println("Data.executeQuery:"+e.getMessage());
46、 }
47、 }
48、 }
49、
50、 找出项目中存在的缺陷,并给出解决的方案(至少3个,不包含下面那个举例)。
说明:这里所说的缺陷不一定都是错误,而是明显需要改进的地方。
如:不可以无限输入密码,容易被暴力破解,存在安全隐患。
解决方案:密码输入3次错误,关闭浏览器。最好再加上验证码。
缺陷:用户可以直接登录welcome.jsp页面。
解决方案:将用户名设置到session 属性中,验证用户的sessionid是否为空。
缺陷:错误页面没有做任何处理
解决方案:设置错误页面的相应处理,跳转回登录页面。
缺陷:没有对输入数据是否为空的验证
解决方案:增加输入数据为空的操作
二、 请按要求对下面的Java代码进行测试。代码的功能是:用折半查找法在元素呈升序排列的数组中查找值为key的元素。
(1) 要求采用基本路径法给出程序控制流图;
(2) 算出环路复杂性
16-14+2=4
(3) 给出所有的独立路径,以及对应的测试用例和预期结果
路径1:1-2-3-13-14
测试用例: 满足low>hign 的用例(array[]=3,2,1 key=1) 预期结果:将跳出while语句
路径2:1-2-3-4-5-6-7-12-13-14
测试用例:满足 key==array[mid] 的用例 (array[]=1,2,3 key=2) 预期结果:将执行5.6
路径3:1-2-3-4-5-8-9-12-13-14
测试用例:满足 key<array[mid] 的用例 (array[]=1,2,3 key=1) 预期结果:将跳出8.9语句
路径4:1-2-3-4-5-10-11-12-13-14
测试用例:满足 key>array[mid] 的用例 (array[]=1,2,3 key=2) 预期结果:将跳出10.11语句
标签:
原文地址:http://www.cnblogs.com/guan0714/p/5498492.html