1、第二阶段测试出题要求测试方式:笔试试题类型:不定项选择题、简答题、 编程题题目分值标准:1、不定项选择题:20 个,40 分2、简答题:6 个,30 分3、编程题:2 个,30 分测试时长:120 分钟注意:在试卷名称后加上 _你的名字 即可第二阶段测试题1、不定项选择题(共 20 小题,每小题 2 分,少选得 1 分,多选或错选不得分共 40 分)371. 在 HTML 页面引入外部 CSS 文件(该文件 a.css 和页面在同级目录下)的正确写法是(C) 。A. B. C. D. 2. 在 HTML 中,用于在网页中插入图片文件的标记是(B) 。A. B. C. D. 3. 在 HTML
2、中,以下关于 CSS 样式中文本属性的说法,错误的是(D) 。A. font-size 用来设置文本的字体大小B. font-family 用来设置文本的字体类型C. color 用来设置文本的颜色D. text-align 用来设置文本的字体形状4. 在 JavaScript 的 var 关键字的含义是(A) 。A. 定义一个变量B. 对变量赋值C. 修改变量的值D. 修改变量的名称5. 在 JavaScript 中,当页面加载完成后,将触发的事件是(D) 。A. onblurB. onfocus C. onchange D. onload6. 在 JavaScript 中,有一个 id 为
3、 flower 的文本框,能正确获取 flower 的值的代码是(A) 。A. document.getElementById(“flower”).value;B. document.getElementById(“flower”).text;C. document.getElementByName(“flower”).value;D. document.getElementByName(“flower”).text;7. 在 CSS 中,设置元素水平居中的方法有(B) 。A. text-align:centerB. margin:0px auto 0pxC. 设置边距属性 D. 设置填充属性
4、8. 在浏览器对象模型(DOM)中,下列哪些不是 document 对象的函数(B,D) 。A. getElementById B. screenC. getElementByNameD. history9. 可以用来实现会话的是(B) 。A. IP 地址B. Session 对象C. 域名D. 请求头10. 下面哪一个标记与 Servlet 的配置无关(D) 。A. servlet-mappingB. servlet-classC. url-patternD. tag11. 下列哪个用于在 JSP 中表示注释(C) 。A. B. C. D. 12. 在 MVC 中,Servlet 用于实现(
5、A) 。A. ControllerB. ViewC. ModelD. 容器13. 在 JSP 中,哪个指令用来声明 JSP 欲使用的标签库(D) 。A. tldB. includeC. importD. taglib14. 在 Servlet 的生命周期中,容器只调用一次的方法是(C,D) 。A. serviceB. getServletConfigC. initD. destroy15. Servlet 在容器中经历的阶段,按顺序为(B) 。A. 服务、加载、初始化、卸载、销毁B. 加载、初始化、服务、销毁、卸载C. 初始化、服务、销毁、加载、卸载D. 服务、卸载、初始化、销毁16. HTM
6、L 下列选项中是表单元素 type 属性的值有(A,B) 。A. text B. button C. name D. value17. JavaScript 是一种脚本语言,下面对 JavaScript 语法规则的描述错误的是(B,C) 。A. JavaScript 语句以分号结束。B. JavaScript 语言不区分大小写。C. JavaScript 代码必须包含在 HTML 页面的标签内。D. JavaScript 中可以使用双斜线(/)注释代码。18. Http 缺省的请求方法是(B) 。A. PUTB. GETC. POSTD. TRACE19. 在 servlet 中如何发送 co
7、okie(B) 。A. 使用 new Cookie 语句。B. 调用 response.addCookie 方法。C. 使用 Cookie 的 setMaxAge 方法。D. 使用 Cookie 的 setCookie 方法。20. 下面哪一个指明向客户端发送文本的编码格式(A) 。A. Content-TypeB. Content-EncodingC. Content-LengthD. Allow2、简答题(共 6 小题,每小题 5 分,共 30 分)231. 简要说明 HTML 中标记的 target 属性的可以设置哪些值及其作用?5答:_blank:在新窗口中打开被链接文档_self:默
8、认选项,在相同的框架中打开被链接文档_parent:在父框架中打开被链接文档_top:在整个窗口中打开被链接文档framename:在指定的框架中打开被链接文档2. 简述 Session 和 Cookie 的区别和联系?3答:Cookie 是把用户的数据写给用户的浏览器。Session 技术把用户的数据写到用户独占的 session 中Session 对象由服务器创建,开发人员可以调用 request 对象的 getSession方法得到 session 对象3. 请描述客户端页面向服务端传值有几种方式?服务器端对象之间传值有几种方式?4答:客户端页面向服务器端传值:1, 通过 Form 表单
9、提交传值2, 通过隐藏域传值3, 通过地址栏输入 URL 时传值4, 通过超链接(同第三条)服务器端对象之间传值:1, 通过 Session 对象传值2, 通过 Application 对象传值3, 通过 Page 传值4, 通过 Request 传值4. 说明 html、css、javascript、jsp、servlet 的关系?2答:HTML,JSP 都是前台页面显示技术,HTML 是静态的,JSP 是动态的。JavaScript 是一种动态类型的基于对象的客户端脚本语言,常用来给 HTML 网页添加动态效果CSS 主要功能是修饰页面显示效果的样式,它能使页面更加绚丽。Servlet 是
10、一种后台服务器技术,它的主要功能是接收客户端的信息,在服务器端处理,然后把结果返回给客户端。5. 请描述 jsp 的工作过程?5答:当一个 JSP 文件第一次被请求时,JSP 引擎(本身也是一个 Servlet)把该 JSP文件转换成为一个 JAVA 源文件,在转换过程中如果发现错误,转换过程将中断,并向服务器和客户端输出错误信息,成功则把源文件编译成.class 文件并加载进内存,然后创建一个该 Servlet 的实例,并执行该实例得到一个 HTML 内容,最后服务器将 HTML 内容返回给客户端。6. Ajax 技术解决了什么问题?它和 servlet 技术有哪些异同点?4答:ajax 技
11、术解决的根本问题就是不用刷新整个页面就可以访问服务器处理数据,并根据处理结果动态的刷新页面Ajax 是异步请求模式,相应一般用 response,发送一个请求后不用等待服务器响应就可继续其他操作Servlet 是同步请求模式,也就是页面请求,响应可以是 Request,也可以说response 的,发送一个请求必须等待服务器返回数据后继续操作页面。3、编程题(共 2 小题,每小题 15 分,共 30 分)251. 参考下图编写一个注册页面,完成注册功能具体要求(1) 对用户名输入框进行非空验证;(2) 对在密码和再次输入密码输入框中输入的内容进行比较验证,要求两个框中输入的内容一致;(3) 单
12、选按钮需要将性别和职业进行分组。注:将 html 页面 body 中的代码写在卷子上,以及将非空验证 js 函数和密码判断 js 函数写在卷子上;按照上述页面中的注册内容,在数据库中创建一个用户信息表,将 sql 脚本写 在卷子上;后台要求使用 MVC 模式实现注册功能,也将代码拷贝在卷子上HTML 页面:用户注册用户名:密码:再次输入密码:性别:男女职业:教师工程师学生注册日期:年月日电子邮箱:非空验证 js 函数和密码判断 js 函数:function checkUname()var uname = document.getElementById(“uname“).value;var ch
13、e_name = document.getElementById(“che_name“);che_name.innerHTML = “;if(uname.match(“)che_name.innerHTML = “用户名不能为空“;function checkPassword()var password = document.getElementById(“password“).value;var repassword = document.getElementById(“repassword“).valueOf;var che_passord = document.getElementByI
14、d(“che_password“);che_password.innerHTML = “;if(password != repassword)che_password.innerHTML=“两次密码不一致“;SQL 脚本:create table users(u_id number,u_name varchar2(50),u_password varchar2(50),u_sex varchar2(2),u_job varchar2(2),u_re_date date,u_email varchar2(50);create sequence seq_user_sql start with 1
15、increment by 1 nocacheMVC 模式实现 Java 代码:public class RegisterServlet extends HttpServletpublic void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException DateFormat df = new SimpleDateFormat(“yyyy-MM-dd“);String uname = request.getParameter(“uname“);Str
16、ing password = request.getParameter(“password“);String sex = request.getParameter(“sex“);String job = request.getParameter(“job“);String indate=request.getParameter(“year“)+“-“+request.getParameter(“month“)+“-“+request.getParameter(“date“);String email = request.getParameter(“email“);UserService use
17、rService = new UserService();try User user = new User(uname,password,sex,job,df.parse(indate),email);userService.addUser(user); catch (ParseException e) / TODO Auto-generated catch blocke.printStackTrace();request.getRequestDispatcher(“query“).forward(request, response);public class UserService Dao
18、userDao = new Dao();public void addUser(User user) userDao.addUser(user);public class Dao public void addUser(User user) Connection conn = DBUtlils.getConnection();String sql = “insert into users values(seq_user_sql.nextval,user.getUname(),user.getPassword(),user.getSex(),user.getJob(),user.getRe_da
19、te(),user.getEmail()“;try PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.executeUpdate(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();public class DBUtlils private static Connection conn;private static String driver;private static String url;private static
20、 String username;private static String password;staticResourceBundle rb = ResourceBundle.getBundle(“oracle“);driver = rb.getString(“driver“);url = rb.getString(“url“);username = rb.getString(“username“);password = rb.getString(“password“);try Class.forName(driver); catch (ClassNotFoundException e) /
21、 TODO Auto-generated catch blocke.printStackTrace();public static Connection getConnection()try if(conn != null)if(conn.isClosed()conn = DriverManager.getConnection(url, username, password);elseconn = DriverManager.getConnection(url, username, password); catch (SQLException e) / TODO Auto-generated
22、catch blocke.printStackTrace();return conn;public static void close(ResultSet rs)if(rs != null)try rs.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();public static void close(Statement stmt)if(stmt != null)try stmt.close(); catch (SQLException e) / TODO Auto-gene
23、rated catch blocke.printStackTrace();public static void close(Connection conn)if(conn != null)try conn.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();public class User private int u_id;private String uname;private String password;private String sex;private Strin
24、g job;private Date re_date;private String email;public User() super();/ TODO Auto-generated constructor stubpublic User(String uname, String password, String sex,String job, Date reDate,String email) super();this.uname = uname;this.password = password;this.sex = sex;this.job = job;re_date = reDate;t
25、his.email = email;public User(int uId, String uname, String password, String sex,String job,Date reDate, String email) super();u_id = uId;this.uname = uname;this.password = password;this.sex = sex;this.job = job;re_date = reDate;this.email = email;public int getU_id() return u_id;public void setU_id
26、(int uId) u_id = uId;public String getUname() return uname;public void setUname(String uname) this.uname = uname;public String getPassword() return password;public void setPassword(String password) this.password = password;public String getSex() return sex;public void setSex(String sex) this.sex = s
27、ex;public String getJob() return job;public void setJob(String job) this.job = job;public Date getRe_date() return re_date;public void setRe_date(Date reDate) re_date = reDate;public String getEmail() return email;public void setEmail(String email) this.email = email;2. );上述注册功能完成后,要求跳转到查询页面,查询结果分页,
28、默认显示第一页数据;在该页面上有 用户名,性别,职业 三个查询条件,查询结果返回当前页。将相关代码拷贝到卷子上/UserService 里面的方法:根据页数查找数据库public List findByPage(String currentPage) List list = userDao.findByPage(currentPage);return list;/Dao 里面的方法:根据页数查找数据库public List findByPage(String currentPage) Connection conn = null;PreparedStatement pstmt = null;R
29、esultSet rs = null;User user = null;List lists = new ArrayList();try conn = DBUtlils.getConnection();String sql = “select * from (select u.*, rownum rn from users u) where rn“ + (Integer.parseInt(currentPage) - 1) * 5 + “ and rn = “+ Integer.parseInt(currentPage) * 5 ;pstmt = conn.prepareStatement(s
30、ql);rs = pstmt.executeQuery();while(rs.next()user = new User();user.setU_id(rs.getInt(“u_id“);user.setUname(rs.getString(“u_name“);user.setPassword(rs.getString(“u_password“);user.setSex(rs.getString(“u_sex“);user.setJob(rs.getString(“u_job“);user.setRe_date(rs.getDate(“u_re_date“);user.setEmail(rs.getString(“u_email“);lists.add(user); catch (SQLException e) e.printStackTrace();finallyDBUtlils.close(rs);DBUtlils.close(pstmt);DBUtlils.close(conn);return lists;