java web课本课后简答题 - 图文 下载本文

什么是URL,什么是URI,它们都由哪几个部分组成,URL和URI之间有什么关系 ?

答:URL称为统一资源定位符, URL通常由4部分组成:协议名称、页面所在主机的DNS名、可选的端口号和资源的名称。

URI称为统一资源标识符,是以特定语法标识一个资源的字符串。URI由模式和模式特有的部分组成,它们之间用冒号隔开,一般格式如下:

schema:schema-specific-part

URI是URL和URN的超集。

动态web文档技术有哪些?服务器端动态文档技术的客户端动态文档技术有何不同?

答:动态Web文档技术包括服务器端动态文档技术和客户端动态文档技术,前者包括CGI技术、服务器扩展技术和HTML页面中嵌入脚本技术。其中HTML页面中嵌入脚本技术包括ASP、PHP和JSP技术。

最流行的客户端动态文档技术是在HTML页面中嵌入JavaScript脚本代码。使用JavaScript可以设计交互式页面。与服务器端动态文档不同,JavaScript脚本是在客户端执行的。

动态web文档技术有哪些?服务器端动态文档技术的客户端动态文档技术有何不同?

答:动态Web文档技术包括服务器端动态文档技术和客户端动态文档技术,前者包括CGI技术、服务器扩展技术和HTML页面中嵌入脚本技术。其中HTML页面中嵌入脚本技术包括ASP、PHP和JSP技术。

最流行的客户端动态文档技术是在HTML页面中嵌入JavaScript脚本代码。使用JavaScript可以设计交互式页面。与服务器端动态文档不同,JavaScript脚本是在客户端执行的。

什么是MVC设计模式?它有什么优点? 答:MVC模式称为模型-视图-控制器模式。该模式将Web应用的组件分为模型、视图和控制器,每种组件完成各自的任务。

优点:将业务逻辑和数据访问从表示层分离出来。

简述实现MVC设计模式的一般步骤 答:实现MVC模式的一般步骤: (1)定义JavaBeans表示数据; (2)使用Servlet处理请求; (3)填写JavaBeans对象数据; (4)将结果存储在作用域对象中; (5)将请求转发到JSP页面;

(6)最后在JSP页面中从JavaBeans中取出数据。

通过哪两种方法可以获得ServletConfig对象?

答:使用响应对象(即HttpServletResponse接口)的encodeURL()方法或encodeRedirectURL()方法。

HTTP请求结构由哪几部分组成?请求行由哪几部分组成? 答:HTTP请求结构由请求行、请求头、空行和请求数据组成。

请求行由方法名、请求资源的URI和使用的HTTP版本3部分组成。

HTTP响应结构由哪几部分组成?状态行由哪几部分组成? 答:HTTP响应结构由状态行、响应头和响应数据3部分组成。 状态行由HTTP版本、状态码和简短描述3部分组成。

GET请求和POST请求有什么异同?

GET请求主要用来从服务器检索资源,请求读取一个web页面 POST请求主要用来向服务器发送数据。

使用RequestDispatcher的forward()转发请求和使用响应对象的sendRedirect()重定向有何异同?

答:forward()方法转发请求是服务器端控制权的转向,客户端地址栏中不显示转发后的资源地址。

sendRedirect()方法是服务器向浏览器发送302状态码,它使浏览器连接到新的位置,浏览器地址栏可看到地址的变化。使用重定向,资源不能位于WEB-INF目录中。

在Servlet中如果需要获得一个页面的表单中的请求参数,又不知道参数名时如何做?

答:可先通过请求对象的getParameterNames()方法得到Enumeration对象,然后在其上得到每个请求参数名,再通过getParameter()得到请求参数值。

是否能够通过客户机的IP地址实现会话跟踪?

答:不能。因为许多用户是通过代理服务器访问Internet的,此时服务器得到的是代理服务器的IP地址而不是实际用户的IP地址,因此这些用户的IP地址不唯一。

如何理解会话失效与超时?如何通过程序设置最大失效时间?如何通过web应用程序部署描述文件设置最大超时时间?二者有什么区别? 答:如果客户在指定时间内没有访问服务器,则该会话超时。对超时的会话对象,服务器使其失效。

通过会话对象的setMaxInactiveInterval()方法设置会话最大超时时间。

web.xml文件使用元素的子元素设置最大超时时间,如下所示。

20

这里的最大超时时间是对整个应用程序的所有会话有效,元素指定的时间单位是分钟。setMaxInactiveInterval()方法参数单位是秒。

简述表达式语言的主要功能。

答:表达式语言是JSP页面中使用的一种简洁的数据访问语言。它定义了运算符实现算术、关系等运算;可以对作用域变量、JavaBeans对象、集合的元素、请求参数、Cookie等进行简单的访问;还可以访问Java语言定义的函数(静态方法)。

属性与集合的访问运算符的点(.)运算符与方括号([])运算符有什么不同? 答:使用点(.)运算符可以访问Map对象一个键的值和bean对象的属性值。 使用方括号([])运算符还可以List对象和数组对象的元素。

简述Java数据库访问的两层和三层模式

答:两层模型即客户机/服务器模型,在两层模型中应用程序直接通过JDBC驱动程序访问数据库。三层模型是浏览器/应用服务器/数据库服务器结构,在该结构中浏览器向应用服务器发出请求,应用服务器通过JDBC驱动程序访问数据库。

简述传统的数据库连接的步骤,这种方法有什么缺点? 答:传统的数据库连接的一般步骤是: (1)加载JDBC驱动程序。 (2)建立连接对象。

(3)创建语句对象,语句对象有3种:Statement、PreparedStatement和CallableStatement。

(4)执行SQL语句得到结果集对象,调用ResultSet的有关方法就可以完成对数据库的操作。

(5)关闭建立的各种对象。

缺点是每次访问数据库都要建立连接对象,请求结束需关闭连接对象。这将耗费大量的时间,可能导致增大请求的响应时间。

程序如果要连接Oracle数据库,请给出连接代码。数据库驱动程序名是什么?数据库JDBC URL串的内容是什么? 答:连接Oracle数据库代码如下。

Class.forName(\

String dburl = \Connection conn = Drivermanager.getConnection(dburl,

\上述代码中,oracle.jdbc.driver.OracleDriver为JDBC驱动程序名,jdbc:oracle:thin:@ 127.0.0.1:1521:ORCL为JDBC URL。

试说明使用数据源对象连接数据库的优点是什么?通过数据源对象如何获得连接对象?

答:使用数据源是目前Web应用开发中建立数据库连接的首选方法。这种方法是事先建立如干连接对象,存放在连接池中。当应用程序需要一个连接对象时就从连接池中取出一个,使用完后再放回连接池。这样就可避免每次请求都创建连接对象,从而降低请求的响应时间,提高效率。

使用数据源建立连接是通过JNDI技术实现的。这需要首先配置数据源(可以是局部数据源或全局数据源),然后在应用程序中通过Context对象查找数据源对象。假设已经配置了名为sampleDS的数据源,建立连接代码如下:

Context context = new InitialContext();

DataSource dataSource = context.lookup(\Connection dbConnection = dataSource.getConnection();

试说明什么是可滚动和可更新的结果集对象,如何得到可更新且可滚动的ResultSet对象? 答:可滚动的ResultSet是指在结果集对象上不但可以向前访问结果集中的记录,还可以向后访问结果集中的记录。

可更新的ResultSet是指不但可以访问结果集中的记录,还可以通过结果集对象更新数据库。

要创建可滚动、可更新的ResultSet对象,必须使用Connection对象的带两个参数的createStatement()方法创建的Statement,第一个参数用下面两个常量之一:

? ResultSet.TYPE_SCROLL_SENSITIVE ? ResultSet.TYPE_SCROLL_INSENSITIVE

第二个参数使用下面常量: ResultSet.CONCUR_UPDATABLE