
A. applet B. severlet C. application D. exe文件
2.以下对象中的( D)不是JSP的内置对象。
A.request B.session C.application D.bean
3.下边哪个不是FORM的元素?(D )。
A.Input B.textarea C.select D.table
4.page指令的import属性的作用是:(C )。
A.定义JSP页面响应的MIME类型
B.定义JSP页面使用的脚本语言
C.为JSP页面引入JAVA包中的类
D.定义JSP页面字符的编码
5.关于JavaBean的说法,哪个是正确的?(D )
A.JavaBean的具体类可以不是public的。 B.JavaBean可以只提供一个带参数的构造器。
C.jsp:userBean可以向HTML标记一样不关闭。 D.JavaBean可以保存状态。
6.JavaBean的生命周期中,哪个是用来跟踪用户的会话的?( A )
A.session B.request C.page D.application
7.在JSP中,要定义一个方法,需要用到以下(C )元素。
A.<%= %> B.<% %> C.<%! %> D.<%@ %>
8.下面的说法错误的是:(D )
A.JSP可以处理动态内容和静态内容
B.在JSP最终会编译成字节码后执行
C.在JSP中可以使用脚本控制Html的标签生成
D.JSP中不能使用//注释Java脚本中的代码
9.不能在不同用户之间共享数据的方法是:(A )
A.通过cookie B.利用文件系统 C.利用数据库 D.通过ServletContext对象
10.( B )指令指定自定义标签的描述器所在位置?
A.page B.taglib C.include D.config
11.在J2EE中,${2 + “4”}将输出( B )。
A.2 + 4 B.6 C.24 D.不会输出,因为表达式是错误的
12.Java EE中,JSP EL 表达式:${user.loginName}执行效果等同于(a)。
A.<% = user.getLoginName()%> B.<%user.getLoginName();%>
C.<% = user.loginName%> D.<% user.loginName;%>
13.以下是部署在主机www.briup.com 80口上的web应用webdev的部署描述文件web.xml的一部分:
…
…
一个客户在浏览器的地址栏输入了如下URL:
http://www.briup.com/webdev/account/deposit?accno=1212&amt=1000
调用 (13)G 或 (14)E 的方法 (15)F 可以获得初始参数interestRate的值。在accountServlet中调用HttpServletRequest的getRequestURI返回 (16)H , 调用getQueryString返回__ (17)B ___,调用getContextPath返回 (18)A , 调用getServletPath返回 (19)C ,调用getPathInfo返回 (20) D 。
A. /webdev B. accno=1212&amt=1000 C. /account
D. /deposit E. Servletconfig F. getInitParameter
G. HttpServlet H. /webdev/account/deposit
二、简答题
1. JSP页面是如何被执行的?JSP执行效率比Servlet低吗?
当客户端向一个JSP页面发出请求时,Web Container将JSP转化成Servlet的源代码(只在第一次请求时),然后编译转化后的Servlet并加载到内存中执行,执行的结果Response到客户端。
JSP只在第一次执行的时候会转化为Servlet,以后每次执行Web容器都是直接执行编译后的Servlet,所以JSP和Servlet只是在第一次执行的时候不一样,JSP慢一点,以后的执行都是相同的
2. 如何避免JSP页面自动生成session对象?为什么要这么做?
在默认情况下,在对一个JSP页面发出请求时,如果session还没有建立,JSP页面会自动为请求建立一个session对象,但是session是比较消耗资源的,如果没必要保持和使用session,就不应该创建session, 例如一些只是用来宣传产品的网站,往往没必要使用session来保存信息,可以使用jsp页面指令session=”false”来避免JSP页面为每个请求都自动创建session.实例代码如下:
<%@ page session=”false”>
3. jsp:forward>只能在本网站内跳转 response.sendRedirect跳转到任何一个地址的页面 4. 简述JSP常用的内置对象。 request,请求对象 response,响应对象 pageContext,页面上下文对象 session,会话对象 application,应用程序对象 out,输出对象 page, 页面对象 config,页面配置对象 exception,异常对象 5. 简述解决汉字乱码问题的常用方法。 request.setCharacterEncoding(“GB2312”); name=new String(name.getBytes(“ISO8859_1”), “gb2312”); 6. 简述http协议数据提交方式。 http协议提交时默认为get. 用get方式提交时,地址栏中可见且有长度(225); 用post方式提交时,地址栏不可见,无长度,使用方式为:method="post" 7. 简述MVC设计模式 1、模型(Model) 模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑. 2、视图(View) 视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。 3、控制器(controller) 控制器工作就是根据用户的输入,控制用户界面数据显示和更新model 对象状态。 MVC不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可 维护性、可扩展性、可移植性和组件的可复用性 8. 简述Servlet生命周期 Servlet是一种可以 在Servlet容器中运行的组件,那么理所当然就应该有一个从创建到销毁的过程,这个过程我们可以称之为Servlet生命周期。Servlet的生命 周期可以分为加载、实例化、初始化、处理客户请求和卸载五个阶段,体现在方法上主要是init()、service()和destroy()三个方法。生 命周期的具体说明如下: · Servlet容器完成加载Servlet类和实例化一个Servlet对象 · init()方法完成初始化工作,该方法由Servlet容器调用完成 · service()方法处理客户端请求,并返回响应结果 · destroy()方法在Servlet容器卸载Servlet之前被调用,释放一些资源 三、程序设计题 1. 第一个Servlet1文件,读取两个请求参数first和second,将其转换为int值后相加,和存放在请求范围内,然后把请求转发第二个Servlet2.。第二个Servlet2文件(url为output),向客户输出Servlet1计算的结果。根据注释补充下列代码。 public class Servlet1 extends HttpServlet { public void service(ServletRequest request,ServletResponse response) throws ServletException, IOException { //读取两个请求参数,并将其转换为int值 int first = Integer.valueOf(request.getParameter("first")).intValue(); int second= 1 Integer.valueOf(request.getParameter("second")).intValue(); __ //将两个数字相加 int sum=first+second; //在request对象中添加sum属性 request.setAttribute("sum", String.valueOf(sum)); /*把请求转发给Servlet2 */ ServletContext context = getServletContext(); RequestDispatcher dispatcher =context.getRequestDispatcher("/output"); dispatcher.forward(request, response); }} public class Servlet2 extends HttpServlet { public void service(ServletRequest request,ServletResponse response) throws ServletException, IOException { //读取请求范围内Servlet1计算出的和 String sum=(String)request.getAttribute("sum"); //向客户端输出和 PrintWriter out=response.getWriter(); out.print("the sum is "+sum); }} 2。写一个JSP访问MySQL数据库的userT表,并完成查询和修改操作;JDBC数据源名为test,驱动类名为:"com.mysql.jdbc. Driver",连接数据库的url为:"jdbc:mysql://localhost:3306/test"。user表中id字段为主键数据类型为整型,name字段为文本类型,password为数字类型。数据库数据如下所示: 完成数据库的连接 create database uset Use useT 插入一条记录(”赵六”,001122)到userT表中 Insert into useT(name,password) values(“赵六”,001122) 查询所有记录,并将结果集显示到客户端 Select *from useT
