4、给定某程序的片断如下,用户在浏览器地址栏中键入正确的请求URL并回车后,在控制台上显示的结果是( A )
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ System.out.println(“get”); }
Public void doPost(HttpServletRequest request,HttpServletResponse response) Throws ServletException,IOException{ System.out.println(“post”); }
A)get B)post C)get D)post Post Get
5.Within a web application deployment descriptor, which maps the com.example.LoginServlet servlet to/utils/LoginServlet? ( D ) A)
B)
6.Which retrieves all cookies sent in a given HttpServletRequest request?( A ) A)request.getCookies() B)request.getAttributes()
C)request.getSession().getCookies() D)request.getSession().getAttributes() 7.Given the service method of an HttpServlet:
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ Httpsession s=request.getSession(); //insert code here. line 16 }
Which statement, inserted at line 16, unbinds an attribute from a session?( C ) A)session.unbind(“key”); B)session.remove(“key”);
C)session.removeAttribute(“key”); D)session. unbindAttribute (“key”);
8.Given an HttpServletRequest request, which retrieves an object of type Account with Id of “account”?( E )
A)Account account=request.getResource(“account”) B)Account account=request.getAttribute(“account”) C)Account account=request.getParameter(“account”)
D)Account account=(Account)request.getResource(“account”) E)Account account=(Account)request.getAttribute (“account”) F)Account account=(Account)request.getParameter (“account”) 二、判断
1.Servlet是一种用java语言编写的客户端程序。( F ) 三、问答
1.什么是JavaBean?使用JavaBean的优点是什么?
答:将java代码单独封装成一个处理某种业务逻辑的类,然后再JSP页面中调用此类。这种与HTML代码分离,而使用java代码封装的类,就是一个JavaBean组件。优点:降低HTML代码与Java代码之间的耦合度,简化JSP页面,提高Java程序代码的重要性及灵活性。
2.请简述Servlet的生命周期及其相关的方法。
答:Servlet的生命周期可以分为4个阶段:载入、初始化、执行、删除。 载入是指Servlet容器将Servlet载入并实例化的过程;Servlet被载入后必须要对它进行初始化,初始化时init()方法将被调用;初始化后Servlet处于等待请求处理状态,此时服务器会调用Servlet的Service()方法,而Service()依据请求的不同来调用doGet()或doPost()方法;当不再需要Servlet时,调用destroy()方法进行删除。
3.jsp和servlet有哪些相同点与不同点,它们之间的联系是什么?
答:不同点:JSP是在HTML中嵌入Java代码,通过Web容器将其转换为Servlet而进行运行,Servlet不需要这种转换,因为其本身就是一个Servlet,可由容器直接调用。 相同点:JSP/Servlet实际都是服务器端程序。
联系:JSP实际是上在Servlet的原理上实现的,且两者可以相互调用。 四、编程
1.看懂P217的例9-4的代码,尝试将修改功能改成图书数据添加功能
第九章练习 一、选择
1.从 “员工” 表的“姓名”字段中找出名字包含“玛丽”的人,下面哪条select语句正确:( D )
A)Select * from员工 where 姓名 =?_玛丽_? B)Select * from员工 where 姓名 =?%玛丽_? C) Select * from员工 where 姓名 like ?_玛丽%? D) Select * from员工 where 姓名 like ?%玛丽%? 2.J2EE中,JSP的EL表达式语言的语法是( B )。
A) {EL expression} B) ${EL expression} C) @{EL expression} D) &{EL expression}
3.Statement类提供了3种执行方法,用来执行更新操作的方法是( B )
A)executeQuery() B) executeUpdate() C) execute()
4.以下哪个选项正确创建了一个PreparedStatement对象?( D ) A)prepStmt = con.createStatement(sql); B)prepStmt = con.prepareStatement(); C)prepStmt = con.createStatement();
D)PrepareStatement prepStmt = con.prepareStatement(sql);
5.JSP标准标签库(JSTL)的标签库描述符文件的后缀是( A )。 A).tld B).jar C).properties D).xml 二、问答
1.简述一下JDBC直接访问SQL Server数据库的几个关键步骤?
(1)加载驱动程序。(2)创建指定数据库的URL。(3)建立数据库连接:通过数据库的URL对象,利用DriverManager的getConnection方法建立的。(4)访问数据库。(5)读写数据库。6)关闭数据库连接,释放资源。三、编程 1.请编程实现以下要求:
下图是viewdata.jsp读取一个数据库表后显示数据的效果图。已知数据库连接方式为jdbc-odbc,odbc数据源名为book,请完成程序。 书号 1 书名 JSP程序设计教程 作者 郭真 出版社 人民邮电出版社 出版日期 2008年
图1 数据显示效果
<%@ page language=\ contentType=\ pageEncoding=\%>
<%@ page import=\%>
<%@ page import=\%> <%
Connection conn=null; Statement stmt=null; ResultSet rs=null; String strSQL=””; try{
Conn=DriverManager.getConnection(“jdbc:odbc:Username,password”); stmt.conn.createStatement();
strSQL = \
rs = stmt.executeQuery(sql); // 执行查询
List
while(rs.next()){ // 光标向后移动,并判断是否有效
BookBean book = new BookBean(); // 实例化Book对象
book.setId(rs.getInt(\ // 对id属性赋值 book.setName(rs.getString(\// 对name属性赋值
book.setPrice(rs.getDouble(\ // 对price属性赋值 book.setBookCount(rs.getInt(\// 对bookCount属性赋值
book.setAuthor(rs.getString(\// 对author属性赋值
list.add(book); // 将图书对象添加到集合中
}
request.setAttribute(\ // 将图书集合放置到request中
rs.close(); // 关闭ResultSet stmt.close(); // 关闭Statement conn.close(); // 关闭Connection } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }
// 请求转发到bookList.jsp
request.getRequestDispatcher(\response);
} } }