内容发布更新时间 : 2024/12/23 23:58:56星期一 下面是文章的全部内容请认真阅读。
什么是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文件使用
这里的最大超时时间是对整个应用程序的所有会话有效,
简述表达式语言的主要功能。
答:表达式语言是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