web系统与技术复习题讲解Word文档下载推荐.docx
《web系统与技术复习题讲解Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《web系统与技术复习题讲解Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
D.HttpSession、getSession
给定一个Servlet的doGet方法中的代码片段,如下:
request.setAttribute(“name”,”zhang”);
response.sendRedirect(“http:
//localhost:
8080/servlet/MyServlt”);
那么在Servlet中可以使用()方法把属性name的值取出来。
A.Stringstr=request.getAttribute(“name”);
B.Stringstr=(String)request.getAttribute(“name”);
C.Objectstr=request.getAttribute(“name”);
D.无法取出来
下边哪个不是JSP的内置对象?
()
A.session
B.request
C.cookie
D.out关于get和post两种请求,下列说法正确的是?
A.Form表单默认请求是get请求。
B.get请求处理的数据量大小不受到限制。
C.post请求地址栏里是能看到数据的,所以传送用户信息尽量避免使用。
D.post请求可以由doGet方法处理。
下面哪一个是正确使用JavaBean的方式?
jsp:
useBeanid="
address"
class="
AddressBean"
/>
useBeanname="
/>
useBeanbean="
useBeanbeanName="
在JavaWeb开发中,不同的客户端需要共享数据,则数据应该存储在()中。
A.session
B.application
C.request
D.response
在WEB应用程序的目录结构中,在WEB-INF文件夹外的文件为()。
A.jsp文件
B.class文件
C.jar文件
D.web.xml文件
以下()可用于检索session属性userid的值。
A.session.getAttribute(“userid”);
B.session.setAttribute(“userid”);
C.request.getParameter(“userid”);
D.request.getAttribute(“userid”);
在JSP中,有EL表达式${10*10ne10},结果是()。
A.100
B.true
C.fasle
D.以上都不对
有关会话跟踪技术描述不正确的是()。
A.Cookie是Web服务器发送给客户端的一小段信息,客户端请求时,可以读取该信息发送到服务
器端
B.关闭浏览器意味着会话ID丢失,但所有与原会话关联的会话数据仍保留在服务器上,直至会话过期
C.在禁用Cookie时可以使用URL重写技术跟踪会话
D.隐藏表单域将字段添加到HTML表单并在客户端浏览器中显示
在JSP页面中使用<
c:
forEach>
标签,对session中集合对象arr进行迭代时,items属性赋值正确的是()。
forEachvar=”bean”items=”session.arr”/>
forEachvar=”bean”items=”${session.arr}”/>
forEachvar=”bean”items=”sessionScope.arr”/>
forEachvar=”bean”items=”${sessionScope.arr}”/>
在Servlet过滤器的生命周期方法中,每当传递请求或响应时,web容器会调用()方法。
A.init
B.service
C.doFilter
D.destroy
利用MVC结构搭建某网上书店系统,设计用户登陆界面,如果你是设计人员,你将
在三层结构的()中实现。
A.模型层
B.视图层
C.数据访问层
D.控制层
Servlet/JSP主要是属于哪个Java平台的规范之中?
(A)JavaSE(B)JavaME(C)JavaEE(D)其他
在JSP中,要直接输出一个值,需要用到以下()写法。
Servlet/JSP必须基于哪一类型的容器才能提供服务?
(A)Applet容器(B)应用程序客户端容器
(c)web容器(D)其他
关于get和post两种请求,下列说法正确的是?
A.get请求处理的数据量大小不受到限制。
B.post请求可以由doGet方法处理。
C.Form表单默认请求是get请求。
D.post请求地址栏里是能看到数据的,所以传送用户信息尽量避免使用。
在Web应用程序的档案与目录结构中,web.xml是直接放置在哪个目录之中?
(A)WEB-INF目录(B)conf目录
(C)lib目录(D)classes目录
何者可以实作使用者的自动登入机制?
(A)HttpSession(B)Cookie
(C)HttpServletRequest(D)URL重写
关于JSP的描述,哪个正确?
(A)JSP是直译式的网页,与Servlet无关
(B)JSP会先转译为.java,然后编译为.class载入容器(C)JSP会直接由容器动态生成Servlet实例,无需转译(D)JSP是丢到浏览器端,由浏览器进行直译
使用Statement的executeQuery()方法,会传回哪个型态?
(A)int(B)boolean
(C)ResultSet(D)Table
若要针对HTTP请求撰写Servlet类别,以下何者是正确的作法?
(A)实作Servlet界面
(B)继承GenericServlet
(C)继承HttpServlet
(D)直接定义一个结尾名称为Servlet的类别
续上题,如何针对HTTP的GET请求进行处理与响应?
(A)重新定义service()方法
(B)重新定义doGet()方法
(C)定义一个方法名称为doService()
(D)定义一个方法名称为get()
HttpServlet是定义在哪个套件之中?
(A)javax.servlet
(B)javax.servlet.http
(C)java.http
(D)javax.http
你在web.xml中定义了以下的内容:
servlet>
servlet-name>
Goodbye<
/servlet-name>
servlet-class>
cc.openhome.LogutServlet<
/servlet-class>
<
/servlet>
servlet-mapping>
GoodBye<
url-pattern>
/goodbye<
/url-pattern>
/servlet-mapping>
哪个URL可以正确的要求Servlet进行请求处理?
(A)/GoodBye
(B)/goodbye.do
(C)/LoguotServlet
(D)/goodbye
在Web应用程序中,何者负责将HTTP请求转换为HttpServletRequest物件?
(A)Servlet物件
(B)HTTP服务器
(C)Web容器
(D)JSP网页
(A)WEB-INF目录
(B)conf目录
(C)lib目录
(D)classes目录
在MVC架构中,谁负责通知应用程序客户端,应用程序本身有状态改变?
(A)模型(Model)
(B)视图(View)
(C)控制器(Controller)
MVC与Model2架构最大的差别在于?
(A)Model2架构的视图是由HTML组成
(B)Model2架构中的模型无法通知视图状态已更新
(C)MVC架构是基于请求/响应模型
(D)MVC架构只能用于单机应用程序
填空题:
JSP有三种类型的元素,分别为:
脚本元素、指令元素、动作元素
get请求的数据会附在URL之后,以?
分割URL和传输数据,参数之间以&
相连。
Servlet生命周期可分为四个阶段:
加载和实例化、初始化、处理请求、销毁。
JDBC的主要任务是:
与数据库建立连接、执行SQL语句、处理结果。
PreparedStatement接口中executeUpdate()方法用于执行INSERT等更新语句,并且返回一个整数。
JSP中,常用的会话跟踪技术有Cookie技术、Session技术、隐藏表单域技术、URL重写技术。
JSTL中,<
标签用于遍历集合或迭代指定的次数。
if>
标签用于进行条件判断。
完善以下登录后台代码
ResultSetrs=null;
PreparedStatementpsmt=null;
booleanisLogin=false;
Stringsql="
SELECT*FROMuserWHEREu_name=?
ANDu_password=?
"
;
Connectionconn=JDBCUtil.getConnection();
try{
psmt=conn.prepareStatement(sql);
psmt.setString(1,user.getUname());
psmt.setString(2,user.getUpassword());
rs=psmt.executeQuery();
isLogin=rs.next();
}catch(SQLExceptione){
e.printStackTrace();
}finally{
JDBCUtil.close(conn,psmt,rs);
}
判断题
JSP从本质上讲可以看成是一个servlet对象。
√
表单提交数据时,用name属性标记传送名称,value属性承载传送值。
Include动作和Include指令执行的过程是相同的。
×
HTTP协议是一种无状态协议。
JDBC用于实现Java与数据库的交互,但是不可以在jsp中使用。
forward动作可以把当前网页重新导向另外的一个服务器。
超链接不可以传递参数。
简答题
简述JSP四种作用域的生命周期和可访问性?
页面域(pageContex),页面域的生命周期是指页面执行期间。
存储在页面域的对象只对于它所在页面是可访问的。
请求域(request),请求域的生命周期是指一次请求过程。
存储在请求域中的对象只有在此次请求过程中才可以被访问。
会话域(session),会话域的生命周期是指某个客户端与服务器所连接的时间;
客户端在第一次访问服务器时创建会话,在关闭浏览器或主动退出后,会话结束。
存储在会话域中的对象在整个会话期间(可能包含多次请求)都可以被访问。
应用域(application),应用域的生命周期是指从服务器开始执行服务到服务器关闭为止,是四个作用域中时间最长的。
存储在应用域中的对象在整个应用程序运行期间可以被所有JSP和Servlet共享访问。
简述转发(forword)与重定向(sendRedirect)的区别?
1)转发只能将请求转发给同一个Web应用中的组件;
而重定向不仅可以重定向到
当前应用程序中的其他资源,还可以重定向到其他站点的资源;
2)重定向的访问过程结束后,浏览器地址栏中显示的URL会发生改变;
而转发过
程结束后,浏览器地址栏保持初始的URL地址不变;
3)重定向对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出对
另外一个URL的访问请求;
转发在服务器端内部将请求转发给另外一个资源,
浏览器并不知道在服务器程序内部发生了转发行为;
4)转发调用者与被调用者之间共享相同的request对象和response对象,它们属于
同一个访问请求和响应过程;
而重定向调用者与被调用者使用各自的request对象和response对象,它们属于两个独立的访问请求和响应过程。
谈谈你对MVC分层开发模式的理解?
MVC模式包含:
模型层(Model)、视图层(View)、控制层(Controller)三个层级。
1)模型层主要负责封装数据和业务操作。
包括对用户请求的数据和数据库查询的数
据进行封装,以及对业务处理逻辑进行封装。
2)视图层主要指与用户交互的界面,如:
html,jsp等。
这层主要用于让用户输入数
据和显示数据处理后的结果。
3)控制层主要的工作就是控制整个系统处理的流程,其角色通常是介于视图层和模
型层之间,进行数据传递和流程转向。
4)控制层将用户请求数据和业务处理逻辑交给相应的模型,视图层从模型中获取数
据,并跟随模型层数据的更新而更新。
开发人员在后期对项目的业务逻辑维护时,只需要对模型层做更新、变动,而不需要牵扯到视图层,这样一来,即可将网页
设计和程序处理完整的分离,又可使日后的维护更具弹性。
简述include指令元素与include动作元素的相同点与不同点?
答:
共同点:
两者的作用都是在一个JSP中引入其他的页面,实现页面的复用。
不同点:
对包含文件的处理方式和处理时间不同。
include指令元素(静态引入),是在翻译阶段就引入所包含的文件,被处理的文件在逻辑和语法上依赖于当前JSP页面,其优点是页面的执行速度快。
include动作元素(动态引入),是在JSP页面运行时才会引入该文件,被包含的文件在逻辑和语法上独立于当前JSP页面,其优点是可以使用子元素更加灵活地处理所需要的文件,缺点是执行速度要慢一些。
简述JSP的运行原理(也可画图说明)。
答案一:
(画图说明)
答案二:
(文字说明)
JSP引擎首先查找该请求的jsp文件是否存在,若存在,则判断该文件是否修改或首次调用;
若不存在,则返回报错信息,
被修改过的或首次调用的JSP文件,JSP引擎先将该JSP文件转换成一个Java源文件(Servlet),然后再把该Java源文件编译成相应的class字节码文件。
执行class字节码文件,并将处理的结果返回给Web服务器,再返回给客户端浏览器进行显示。
编写一个动态显示用户列表的页面。
已知的信息为:
后台已通过request对象将用户(User.java)列表信息传至前台,传值的参数名称为“userList”,其中User对象的属性包含:
id、name、status;
且page指令已导入相关包和类。
要求:
1)使用table布局实现截图中所有内容(无需写css样式、js脚本);
2)列表内容必须使用JSP脚本形式实现。
3)列表内容必须使用JSTL标签+EL表达式实现。
%List<
User>
userList=(List<
)request.getAttribute("
userList"
);
table>
tr>
th>
用户ID<
/th>
用户名<
状态<
操作<
/tr>
%for(Useru:
userList){%>
td>
%=u.getId()%>
/td>
%=u.getName()%>
%=u.getStatus()==1?
正常"
:
不可用"
%>
ahref="
#"
>
修改<
/a>
删除<
%}%>
/table>
forEachitems="
${requestScope.userList}"
var="
user"
${user.id}<
${user.name}<
${user.status==0?
}<
/c:
.jsp有哪些内置对象?
作用分别是什么?
application对象代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息。
Config对象允许将初始化数据传递给一个JSP页面
Exception对象含有只能由指定的JSP“错误处理页面”访问的异常数据。
Out对象代表提供输出流的访问
Page对象代表JSP页面对应的Servlet类实例
PageContext对象是Jsp页面本身的上下文,它提供唯一一组方法来管理具有不同作用域的属性
Request对象提供对Http请求数据的访问,同时还提供用于加入特定请求数据的上下文Response对象允许直接访问HttpServletResponse对象
Session对象可能是状态管理上下文中使用最多的对话
jsp有哪些动作?
param>
操作被用来以“名—值”队的形式为其他标签提供附加信息
include>
操作允许在请求是在现成的JSP页面里包含静态或者动态资源
forward>
操作允许将请求转发到另一个JSP、servlet或静态资源文件
useBean>
标签用来在JSP页面中创建一个JavaBean实例并指定他的名字以及作用范围
setProperty>
此操作和setBean一起协作,用来设置JavaBean的属性
getProperty>
操作是对<
操作的补充,用来访问一个Bean的属性<
plugin>
用来产生客户端浏览器的特别标签,可以使用它来插入Applet和JavaBean<
fallback>
两种跳转方式分别是什么?
有什么区别?
includepage="
included.jsp"
flush="
true"
forwardpage="
nextpage.jsp"
5.servlet运行的生命周期图.
装载ServletServlet类Servlet初始化(调用init方法)实例对象被回收提供服务(调用Service方法)销毁Servlet实例(调用destroy方法)
8.在程序里怎样注册servlet
displayChart<
org.jfree.chart.servlet.DisplayChart<
/displayChart<