getParametername="location">
C、<%=request.getAttribute("location")%>
D、<%=request.getParameter("location")%>
35.可以在以下哪个(A)标记之间插入Java程序段?
A、<%%>B、<%=%>
C、<%!
%>D、<%----%>
36.下列选项中,哪个是正确的JSP表达式(C)
A、<%!
Inta=0;%>
B、<%inta=0;%>
C、<%=(3+5);%>
、
38.在Web应用程序中有以下的程序代码:
Mapmap=newHashMap();
map.put("user.name","admin");
request.setAttribute("login",map);
以下哪个选项可以正确地使用EL取得map中的值(D)
A、${map.user.name}
B、${login.user.name}
C、${map["user.name"]}
D、${login["user.name"]}
39.以下哪种类型的对象可用于执行存储过程(A)
A、StatementB、Preparedstatement
C、CallableStatementD、Connection
40.在JSTL核心标签库中,下列哪个是实现迭代操作的标签。
(C)
A、whenB、setC、forEachD、remove
41.关于JavaBean,下列的叙述哪一项是不正确的?
(C)
A、JavaBean的类必须是具体的和公共的,并且具有无参数的构造器
B、JavaBean的类属性是私有的,要通过公共方法进行访问
C、JavaBean和Servlet一样,使用之前必须在项目的web.xml中注册
D、JavaBean属性和表单控件名称能很好地耦合,得到表单提交的参数
42.在JSP中,使用过滤器时,可以在web.xml文件的(D)元素中包括元素。
A、B、
C、D、
43.在MVC设计模式体系结构中,(B)是实现控制器的首选方案。
A、JavaBeanB、ServletC、JSPD、HTML
44.关于JSPModel2模式的优点,下列的叙述哪一项是不正确的?
(D)
A、模型具有较高的通用性B、Servlet对象擅长控制
C、分离了视图层和业务层D、M、V、C之间的耦合性高
三、简答题
1.叙述用JDBC操作数据库的主要步骤。
(1).加载驱动程序:
Class.forName("oracle.jdbc.driver.OracleDriver");
(2)建立连接Connectionconn=DriverMananger.getConnection("jdbc:
oracle:
thin:
@127.0.0.1:
1521:
xe","用户名","密码”)
(3)执行查询/进行数据库操作
(4)关闭数据库连接
2.JSP有哪些内置对象?
分别有什么作用?
JSP共有以下9种基本内置组件
request用户端请求,此请求会包含来自GET/POST请求的参数
response网页传回用户端的回应
pageContext网页的属性是在这里管理
session与请求有关的会话期
applicationservlet正在执行的内容
out用来传送回应的输出
configservlet的构架部件
pageJSP网页本身
exception针对错误网页,未捕捉的例外
3.有几种方法实现页面的跳转,如何实现?
1、response.sendRedirect()
是在用户的浏览器端工作,sendRedirect()可以带参数传递,比如servlet?
name=lisi传至下个页面,同至不同的主机上。
2、RequestDispatcher.forward()
是在服务器端起作用,当使用forward()时,Servletengine传递HTTP请求从当前的ServletorJSPServlet,JSP或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,的所有信息在b.jsp都可以获得,参数自动传递
3、<jsp:
forwardpage=""/>
它的底层部分是由RequestDispatcher来实现的,因此它带有RequestDispatcher.forward()方法的印有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别意:
它不能改变浏览器地址,刷新的话会导致重复提交
4.简述servlet的特点,Servlet的生命周期。
高效、方便、功能强大、可移植性好
web容器加载servlet,生命周期开始。
通过调用servlet的init()方法进行servlet的初始化。
通过调用service()方法实调用不同的doXX()方法,结束服务,Web容器调用servlet的destroy()方法。
(1)Server创建一个Servlet的实例。
(2)Server调用Servlet中的init()方法。
(3)一个客户端的请求到达Servlet。
(4)Server创建一个请求对象。
(5)Server创建一个响应对象。
(6)Server激活Servlet中的service()方法,传递请求和响应对象作为参数;
(7)service()方法使用响应对象的方法,将响应传回Server,最终到达客户端。
5.简述文件的静态包含和动态包含的区别。
静态包含:
<%@includefile="被包含页面"%>
动态包含:
includepage="被包含页面"flush="true">
静态包含发生在:
JSP---->java文件阶段。
动态包含发生在:
执行class文件阶段。
动态加入。
静态包含:
只生成一个java文件,动态包含:
生成多个class文件。
<%@include...%>每次被加载进来的页面都需要单独编译;
include...>加载与被加载页面动态整合,一起编译,无须单独编译被加载
动态包含用jsp动作实现:
includepage="include.jsp">,它总是会检查所包含文件的变化,适合包含动态文件;
静态包含用inclued伪码实现:
<%@includefile="include.html"%>它不会检查所包含文件的变化,适合包含静态文件!
6.简述表单提交时,get和post的区别:
1.get是从服务器上获取数据,post是向服务器传送数据。
2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。
post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTMLHEADER内一起传送到ACTION属性所指的URL地址。
用户看不到这个过程。
3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4.get传送的数据量较小,不能大于2KB。
post传送的数据量较大,一般被默认为不受限制。
但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5.get安全性非常低,post安全性较高。