广东海洋大学JSP程序的设计期末复习总结与模拟试题Word下载.docx
《广东海洋大学JSP程序的设计期末复习总结与模拟试题Word下载.docx》由会员分享,可在线阅读,更多相关《广东海洋大学JSP程序的设计期末复习总结与模拟试题Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
%variablename-given=”time”variable-class=”java.util.Date”scope=”AT_END”%>
JSP置对象
pageContext.setAttribute(“page”,”hello”);
getParameter(Strings)方法获取表单提交过来的信息。
request.setCharacterEncoding(“utf-8”);
response.setContentType(“utf-8”);
request对象获取请求所提交的各类信息。
getMethod():
获取用户提交信息的方式。
例如post或get.
getSchema():
获得当前页面使用的协议:
例如http.
getRemoteHost():
获取用户机的名称(如果获取不到,就获取IP地址)。
getParameterNames():
获取用户提交的信息体部分中name参数值的一个枚举。
INPUT>
标记
复选框checkbox
inputtype=“checkbox“name=“ch”value=“pink”align=“top“checked=“java”>
隐藏hidden
inputtype=“hidden”name=“h”value=“123”>
response对象的sendRedirect(URLurl)方法实现用户的重定向。
response对象调用encodeURL()或encodeRedirectURL()方法实现URL重写。
使用Java数据库驱动程序
1.加载Java数据库驱动程序
try{Class.forName(“.microsoft.sqlserver.jdb-
c.SQLServerDriver”);
}catch(Exccptione){
System.out.println(e);
}
2.建立连接
try{Stringuri=“jdbc:
sqlserver:
//192.168.100.1:
1433;
Database-Name=Warehouser”;
Stringuser=””;
Stringpassword=”sa”;
con=DriverManager.getConnection(uri,user,passw-
ord);
随机查询
Statementstmt=con.createStatement(inttype,intconcurrency);
ResultSetre=stmt.executeQuery(SQL语句);
type的取值决定滚动方式,取值可以是:
ResultSet.TYPE_FORWORD_ONLY;
ResultSet.TYPE_SCROLL_INSENSITIVE;
ResultSet.TYPE_SCROLL_SENSITIVE;
concurrency取值决定是否可以用结果集更新数据库,取值可以是:
ResultSet.CONCUR_READ_ONLY;
ResultSet.CONCUR_UPDATABLE;
获取和修改bean的属性
useBeanid=”apple”class=”tom.jia-
fei.Circle”scope=”page”/>
jsp:
getPropertyname=“aplle”property=“radius”/>
setPropertyname=”zhang”property=”number”value=”1999001”/>
通过HTTP表单的参数的值来设置bean的相应属性的值
setPropertyname=”zhang”property=”*”/>
setPropertyname=”zhang”property=”name”param=”xingming”/>
编写web.xml
servlet>
servlet-name>
hello<
/servlet-name>
servlet-class>
china.dalian.Hello<
/servlet-class>
/servlet>
servlet-mapping>
servletname>
url-pattern>
/lookHello<
/url-pattern>
/servlet-mapping>
getInitParameter(“”);
获得配置文件web.xml中的参数.
重定向与转发
重定向方法:
voidsendRedirect(Stringlocation),对于浏览器来说是将不同的请求。
RequestDispatcher对象
RequestDispatcherdispatcher=request.getRequesDispatcher(“a.jsp”);
dispatcher.forward(request,response);
HttpSessionsession=request.getSession(true);
MVC模式
模型:
一个或多个Javabean对象,用于存储数据。
视图:
一个或多个JSP页面,其作用是向控制器提交必要的数据和为模型提供数据显示,JSP页面使用HTML标记和Javabean标记来显示数据。
控制器:
一个或多个servlet对象,根据视图提交的要求进行数据处理操作,并将有关的结果存储到Javabean中,然后servlet使用转发的方式请求视图中的某个JSP页面更新显示。
一、选择题
1.在JSP中如果要导入java.io.*包,应该使用(A)指令。
A.page
B.taglib
C.include
D.forward
2.下面哪一个不是JSP本身已加载的基本类?
(B)
A.java.lang.*B.java.io.*
C.javax.servlet.*D.javax.servlet.jsp.*
3.如果当前JSP页面出现异常时需要转到一个异常页,需要设置page指令的(B)属性。
A.Exception
B.isErrorPage
C.error
D.errorPage
4.对于预定义<
%!
预定义%>
的说法错误的是:
(C)
A、一次可声明多个变量和方法,只要以“;
”结尾就行
B、一个声明仅在一个页面中有效
C、声明的变量将作为局部变量
D、在预定义中声明的变量将在JSP页面初始化时初始化
5.Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:
(D)
A.<
%page%>
作用于整个JSP页面。
B.可以在一个页面中使用多个<
指令。
C.为增强程序的可读性,建议将<
指令放在JSP文件的开头,但不是必须的。
D.<
指令中的属性只能出现一次。
6.JSP中的隐式注释为(C)。
A.//注释容
B.<
!
—注释容-->
C.<
%--注释容--%>
D./*注释容*/
7.在JSP中,(A)动作用于将请求转发给其他JSP页面。
A.forwardB.includeC.useBeanD.setProperty
8.使用response对象进行重定向时使用的方法为(B)。
A.getAttribute()
B.sendRedirect()
C.setContentType()
D.setAttribute()
9.如果把用户名变量UserName放在session对象中,下面语句正确的是()
A.session.setName(UserName)
B.session.setName(“name”,UserName)
C.session.setAttribute(UserName)
D.session.setAttribute(“name”,UserName)
10.在JSP中,test.jsp文件中有如下一行代码:
useBeanid=”user”scope=”_____”type=”.UserBean”/>
要使user对象中一直存在于对话中,直至其终止或被删除为止,下划线中应填入(C)。
A.pageB.requestC.sessionD.application
11.下述选项中不属于JDBC基本功能的是:
(D)。
A.与数据库建立连接B.提交SQL语句
C.处理查询结果D.数据库维护管理
12.在JSP中,使用<
useBean>
动作可以将javaBean嵌入JSP页面,对JavaBean的访问围不能是(C)。
A.pageB.requestC.responseD.application
13.在JSP中调用JavaBean时不会用到的标记是(A)。
A.<
javabean>
B.<
C.<
setProperty>
D.<
getProperty>
14.关于JavaBean正确的说法是:
(A)
A.Java文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写
B.在JSP文件中引用Bean,其实就是用<
语句
C.被引用的Bean文件的文件名后缀为.java
D.Bean文件放在任何目录下都可以被引用
15.JSP中使用<
标记时,不会出现的属性是:
(C)。
A.nameB.propertyC.valueD.以上皆不会出现
16.在<
c:
choose>
标记中包含哪个标记(D)?
A.caseB.chooseC.checkD.when
17.下面哪个标记产生的结果同<
%=var%>
(C)。
setvalue=var>
varout=${var}>
outvalue=${var}>
D.<
outvar="
var"
>
18.每次传递请求或响应时调用Filter的(B)方法。
A.init()B.doFilter()C.destroy()D.getInitParameter
19.StrutsBean的(C)标记从已定义的资源包中检索某键的值。
A.defineB.parameterC.messageD.write
20.Servlet程序的入口点是:
(A
)
A.init()
B.main()
C.service()
D.doGet()
30.不能在不同用户之间共享数据的方法是(A)
A.通过cookieB.利用文件系统
C.利用数据库D.通过ServletContext对象
二、填空题
1.Tomcat服务器的默认端口是
8080
。
2.Servlet的生命周期分三个时期:
装载Servlet
、
创建一个Servlet实例
、
销毁
3.在JSP中,当执行了查询操作时,一般将查询结果保存在ResultSet对象中。
4.在JSP置对象中,与请求相关的对象是Request对象。
5.在JSP中,可以使用<
SetProperty>
操作来设置Bean的属性,也可以使用<
GetProperty>
操作来获取Bean的值。
6.异常的处理,可在该方法的代码段中包含3类代码:
try、catch和finally代码块。
7.在JSP中,连接数据库的方式通常有两种:
一种是通过JDBC-ODBC桥连接;
另一种是通过JDBC驱动程序连接。
8.JDBC中为Statement接口提供了3种执行方法,它们是:
executeUpdate方法、executeQuery方法、execute方法。
9.取表单(<
form>
)提交的参数,通常使用的部对象是request方法是getParameter。
10.JSP置对象共有四种Scope,它们是page、request、session、application。
11.事务处理技术包括数据查询和数据更新。
12.在JSP中使用Javabean可以通过<
usebean>
动作元素。
13.如果你只希望你的Javabean在当前页面有效,应该设置scope=”page”。
14.如果你想使用Javabean设计一个计数器,那么该bean的scope应当设为application。
15.从本质上讲,Servlet是Java类。
16.JavaBean一般将属性设置成私有的,通过使用getXXX()方法和setXXX()方法来进行属性的取得和设置。
17.可以通过response对象的sendRedirect方法设置页面重定向,实现页面跳转,
18.JavaBean的应用语言是Java。
三、简答题
1.JSP有哪些置对象?
作用分别是什么?
答:
JSP共有以下9种基本置组件:
1.request用户端请求,此请求会包含来自GET/POST请求的参数
2.response网页传回用户端的回应
3.pageContext网页的属性是在这里管理
4.session与请求有关的会话期
5.Applicationservlet正在执行的容
6.out用来传送回应的输出
7.configservlet的构架部件
8.pageJSP网页本身
9.exception针对错误网页,未捕捉的例外
2.说明MVC设计模式中,M、V、C分别代表什么,有什么作用。
答案:
M代表Model(模型),该组件是对软件所处理问题逻辑的一种抽象,封装了问题的核心数据,逻辑和功能实现,独立于具体的界面显示以及I/O操作。
V代表View(视图),该组件将表示模型数据,逻辑关系以及状态信息,以某种形式展现给用户。
视图组件从模型组件获得显示信息,并且对于相同的显示信息可以通过不同的显示形式或视图展现给用户。
C代表Controller(控制器),该组件主要负责用户与软件之间的交互操作,控制模型状态变化的传播,以确保用户界面与模型状态的统一。
5.JavaBean的主要规是什么?
3.如何连接数据库?
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
);
Stringurl="
jdbc:
odbc:
数据源名称"
;
DriverManager.getConnection(url,"
sa"
"
"
4.简述使用JDBC技术的主要步骤?
1.注册和加载驱动器;
2.与数据库建立连接;
3.发送SQL语句;
4.处理结果;
5.关闭连接;
5.简述JavaBean的书写规。
(1)JavaBean是一个public的类。
(2)类要实现Serializable接口
(3)要有一个默认构造函数,以便任何一个容器都可以创建JavaBean的实例。
(4)存放属性的变量为protected或private特性。
(5)设置和获取属性时,使用setXXX()和getXXX()方法。
56、读下列程序并写出程序的结果
%pagelanguage="
java"
autoFlush="
false"
%>
html>
head>
title>
out对象print/println方法应用案例<
/title>
/head>
body>
center>
fontsize=5color=blue>
print/println方法应用<
/font>
/center>
%
out.println("
你好!
out.clear();
afterclear:
br>
chara='
h'
intm=8;
doublef=3.1415926;
out.print("
a="
+a+"
"
m="
+m+"
f="
+f+"
BufferSize:
+out.getBufferSize()+"
Remaining:
+out.getRemaining()+"
/body>
/html>
结果为:
a=hm=8f=3.1415926
8192
8131
1.本程序段完成每隔5秒刷新一下页面,并在页面上显示系统当前时间。
%pagecontentType="
text/html;
charset=GB2312"
%>
%pageimport="
java.util.Date"
BODYbgcolor=#FFFCCC>
Fontsize=3>
b>
本页用来说明response对象<
/b>
P>
当前时间为:
%response.setHeader("
Refresh"
"
5"
out.println("
+newDate());
/Font>
2.本程序用于获取用于访问页面的次数。
pagelanguage="
HTML>
BODYbgcolor=#CCCFFF>
intNum=0;
Objectobj=session.getAttribute("
Num"
if(obj==null)
{session.setAttribute("
Num);
else
{Num=Integer.parseInt(obj.toString());
Num+=1;
session.setAttribute("
String.valueOf(Num));
session中的Num的值为:
%=Num%>
/BODY>
/HTML>
四、编程题
1.创建一个名为worker.java的Bean,用来描述工人的信息,分别是,工号,身高,体重,在一个名为work.jsp的页面中使用这个Bean,通过<
动作设置Bean的各个属性,通过<
动作显示出Bean的各个属性的值。
Work.java
packageccc;
publicclassWorker{
Stringname=null;
longnumber;
doubleheight,weight;
publicStringgetName(){returnname;
}
/*publicStringgetName()
{try{byteb[]=name.getBytes("
ISO-8859-1"
name=newString(b);
returnname;
catch(Exceptione)
{returnname;
}}*/
publicvoidsetName(StringnewName){name=newName;
publiclonggetNumber(){returnnumber;
publicvoidsetNumber(longnewNumber){number=newNumber;
publicdoubleget