JSP复习题

更新时间:2024-01-31 04:57:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

JSP复习题

一、选择题

1、JSP页面经过编译之后,将创建一个(B)。 A. appletB. servlet

C. application D. exe文件 2、在JSP中,( A )动作用于将请求转发给其他JSP页面。 A.forwardB.include C.useBeanD.setProperty

3、对于声明<%!声明%>的说法错误的是:C A、一次可声明多个变量和方法 B、一个声明仅在一个页面中有效 C、声明的变量将作为局部变量

D、声明的变量将在JSP页面初始化时初始化 4、当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个(B) A、进程 B、线程 C、程序D、服务。 5、阅读下面代码片段:

RequestDispatcher dispatcher=request.getRequestDispatcher(\dispatcher.forward(request,response);

关于该段代码的作用,下列叙述哪项是正确的?( B ) A、页面重定向到a.jsp页面B、将请求转发到a.jsp页面 C、从a.jsp定向到当前页面D、从a.jsp转发到当前页面 6.(A)注释可以在服务器和客户端都可见。 A.HTML B.JSP

C.JavaScript D.page

7、以下对象中的( D )不是JSP的内置对象。 A、request B、session C、application D、bean

8、对数据库表中记录的字段值进行更新,可以使用( B )方法 A、executeQuery() B、executeUpdate() C、next() D、getConnection() 9、下面哪一项对Servlet描述错误?( C )

A. Servlet是一个特殊的Java类,它必须直接或间接实现Servlet接口 B. Servlet接口定义了Servelt的生命周期方法

C. 当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程 D. Servlet客户线程调用service方法响应客户的请求

10、以下哪个对象提供了访问和放置页面中共享数据的方式(D) A、pageContext B、response C、request D、session

2、当服务器上的第一个JSP页面被第一次请求执行时,服务器上的JSP引擎首

先将JSP页面转译成一个(C)文件。 A.ServletB.JSP C.JavaD.HTML

3、JSP的编译指令标记通常是指:(D)。 A.Page指令、Param指令和Taglib指令 B.Page指令、Include指令和Plugin指令 C.Forward指令、Include指令和Taglib指令 D. Page指令、Include指令和Taglib指令

4、可以利用request对象的哪个方法获取客户端的表单信息(A)。 A.request.getParameter() B. request.outParameter() C. request.writeParameter() D. request.handlerParameter()

5、在JDBC中,下列哪个接口不能被Connection创建(C)。 A. Statement

B. PreparedStatement C. RowsetStatement D.CallableStatement

1、在JSP中,要定义一个方法,需要用到以下(C)元素。 A. <%= %> B. <% %> C. <%! %>

D. <%@ %>

3、page指令的import属性的作用是(C ) A、定义JSP页面响应的HTML类型 B、定义JSP页面使用的脚本语言 C、为JSP页面引入JAVA包中的类 D、定义JSP页面字符的编码

4、下述选项中不属于JDBC基本功能的是:(D ) A. 与数据库建立连接 B. 提交SQL语句 C. 处理查询结果

D.数据库维护管理

5、在传统的HTML页面中加入(D)就构成了一个JSP页面文件。 A、JAVA程序片 B、JSP标签 C、用“<%”、“%>”标记符号括起来的程序

D、JAVA程序片和JSP标签

6、在JSP中,内置对象( B)封装了用户提交的信息,使用该对象可以获取用户提交的信息。

A、session B、request

C、response D、out

7. 下边哪个不是MVC中的组成部分?(B) A. JavaBeanB. FrameWork C. JSPD. Servlet

8、在javaScript中window对象的(D)方法用于打开一个新窗口。 A.openWindow() B.window() C.close() D.open() 9、Servlet程序的入口点是:(A ) A、init()B、main() C、service()D、doGet()

10、不能在不同用户之间共享数据的方法是(A) A、通过cookie B、利用文件系统 C、利用数据库 D、通过ServletContext对象

3、调用getCreationTime()可以获取session对象创建的时间,该时间的单位是(C)。

A、 秒 B、分秒 C 、毫秒 D、微秒

4、当response的状态行代码为哪个时,表示用户请求的资源不可用?(D) A、101 B、202 C、303 D、404

6 配置JSP运行环境,若WEB应用服务器选用TOMCAT,以下说法正确的是:( B )

A、先安装TOMCAT,再安装 JDK B、先安装JDK,再安装TOMCAT C、不需安装JDK,安装TOMCAT就可以了

D、JDK和TOMCAT只要都安装就可以了,安装顺序没关系

7. 对于“<%!”、“%>”之间声明的变量,以下说法正确的是:( B ) A、不是JSP页面的成员变量

B、多个用户同时访问该页面时,任何一个用户对这些变量的操作,都会影响到其他用户

C、多个用户同时访问该页面时,每个用户对这些变量的操作都是互相独立的,不会互相影响

D、是JSP页面的局部变量

8.out对象是一个输出流,其输出换行符的方法是(B) A、out.print( ) B、out.newLine( ) C、out.println( ) D、out.write( ) 小结:print() 输出各种类型数据 println()输出各种类型数据并换行 newline() 输出一个换行符

10.Form表单的method属性能取下列哪项的值( C ) A、submit B、puts C、post D、out

2.下列关于JSP的说法错误的是(B)。 A.JSP可以处理动态内容和静态内容; B.JSP是一种与Java无关的程序设计语言; C.在JSP中可以使用脚本控制HTML的标签生成; D.JSP程序的运行需要JSP引擎的支持。 3.下列不适合作为JSP程序开发环境是(D)。 A.JDK+Tomcat; B.JDK+Apache+Tomcat; C.JDK+IIS+Tomcat; D..NET Framework+IIS1 4.下列不属于JSP动作的是(D)。 A.

B.; C.

D.<%@include file=“relativeURL”%>。 5.使用response对象进行重定向时使用的方法为(B)。 A、getAttribute B、sendRedirect C、setContentType D、setAttribute 6.以下关于JDBC的描述错误的是(D)。

A.JDBC是一种用于执行SQL语句的Java API;

B.JDBC API既支持数据库访问的两层模型,也支持3层模型; C. JDBC由一组用Java编程语言编写的类和接口组成; D. 使用JDBC只能连接SQL Server数据库。

7.在Statement接口中,能够执行给定的SQL语句并且可能返回多个结果的方法是(A)。

A.execute方法 B.executeQuery方法 C.executeUpdate方法 D.getMaxRows方法。

8.在下列实现数据库连接的语句中,用来指定JDBC驱动程序的语句是(A)。 A.Class.forName(“com.microsoft.sqlserver.JDBC.SQLServerDriver”) B.String strConn=

“JDBC:sqlserver//LIUZC:1433DatabaseName=ShopSystem”; C.String strUser=“sa”

D.conn=DriverManagement.getConnection(strConn,strUser,strPassword)

2、修改服务端口时,需要修改的文件是( B )。 A. web.xml B. server.xml C. config.xml D. bin.xml

5、在一个JSP文件中,有表达式<%=2+3 %>,它将输出( B )。 A.2+3B.5

C.23D.不会输出因为表达式错误

8、在开发Java Web应用程序的时候,HTTP请求消息使用Get或POET方法以

Response对象用于响应客户端请求,向客户端输出信息。 5. 简述jsp与servlet的不同。

(1)编程方式不同:jsp遵循脚本语言的编制标准,一个jsp文件;servlet严格遵循java 语言的编程标准,一个java文件+web.xml文件;(2)运行速度的不同: Jsp比servlet运行慢,jsp必须转换成servlet 再运行;(3)运行方式不同: Servlet是java程序,必须编译成 .class 文件执行,然后通过web.xml文件部署之后由Tomcat执行,而jsp直接由Tomcat直接执行; 6.请写出三种两个页面之间(first.jsp和second.jsp)的数据传递方式。 (1)表单控件:用form表单 ; (2)用超级链接跳转; (3)利用结合或者

1.在jsp页面中如何声明变量、java程序段、java表达式以及jsp注释? 答:变量:<%! 变量声明 %>

java程序段:<% java程序段%> java表达式:<%= java表达式%> jsp注释:<%-- 注释内容 --%> HTML注释: JAVA注释:// 、/**/

3.form表单提交数据的方式有get和post方式,他们的区别是什么? 答:get方式会将传递的信息在浏览器地址框里面显示出来, post方式则不会显示出来,保证了数据不外泄。 4.两种跳转方式sendRedirect与forward区别

答:一:两者跳转之后在浏览器上显示的信息不同:forward显示的跳转前的url,sendRedirect显示的跳转后的url。

二,两者在页面间的参数传递方式不同

通过传递参数;

response.sendRedirect则是用更直接的方式传递参数,举例:response.sendRedirect(“exam.jsp?id=28\三,两者对数据的共享不同

forward方式两个页面之间可以通过request对象分享数据,而sendRedirect( )方法不支持数据共享。

5.“/”,“./”,“../”表示的含义是什么?

答:对于“/”若是在客户机端,“/”代表服务器根目录,即http://127.0.0.1:8080/ 若是在服务器端,“/”代表项目根目录,即http://127.0.0.1:8080/servletdemo/ 对于“./”,“../”

一般出现在相对路径的表示方法中,前者就表示当前目录,后者表示上一级目录。 6.在上面服务器上,有某个项目名称为servletdemo,则该项目的根目录为http://127.0.0.1:8080/servletdemo/,该项目根目录下有个images文件夹,里有一个good.jpg图片,它的绝对地址是什么?项目根目录底下有文件good.html,里面有一个img标签,其src的值指向good.jpg图片,那么它的相对地址的表示方式是什么?

答:good.jpg的绝对地址是:http://127.0.0.1/servletdemo/images/good.jpg。img标签里面的地址的相对地址表示为:

1. 请说出JSP中常用的内置对象

jsp有九大内置对象:1、request 2、response 3、session 4、out、 5、page 6 、application 7、excption 8、pagecontext 9、config 3.使用servlet的一般步骤:

编写、编译、存放Servlet文件; 编写配置文件web.xml

启动支持Servlet的服务器程序; 浏览器访问Servlet

5.说几条XHTML规范的内容(至少3条) 属性加引号,不能有不匹配的标签,加定义 6.连接数据库的常用方式。

建立JDBC-ODBC桥接器和加载Java数据库驱动程序。

1. jsp有哪些内置对象?作用分别是什么?

application对象代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息。

Config对象允许将初始化数据传递给一个JSP页面

Exception对象含有只能由指定的JSP“错误处理页面”访问的异常数据。 Out对象代表提供输出流的访问

Page对象代表JSP页面对应的Servlet类实例

PageContext对象是Jsp页面本身的上下文,它提供唯一一组方法来管理具有不同作用域的属性

Request对象提供对Http请求数据的访问,同时还提供用于加入特定请求数据的上下文

Response对象允许直接访问HttpServletResponse对象 Session对象可能是状态管理上下文中使用最多的对话

2.JSP有哪些内置对象?作用分别是什么? 答:JSP共有以下9种基本内置组件:

1. request用户端请求,此请求会包含来自GET/POST请求的参数 2. response网页传回用户端的回应 3. pageContext网页的属性是在这里管理 4. session与请求有关的会话期 5. Application servlet正在执行的内容 6. out用来传送回应的输出 7. configservlet的构架部件 8. pageJSP网页本身

9. exception针对错误网页,未捕捉的例外

2jsp有哪些动作?作用分别是什么?

被用来以“名—值”队的形式为其他标签提供附加信息 允许在请求是在现成的JSP页面里包含静态或者动态资源 允许将请求转发到另一个JSP、servlet或静态资源文件 用来在JSP页面中创建一个JavaBean实例并指定他的名字以及作用范围

和setBean一起协作,用来设置JavaBean的属性

是对操作的补充,用来访问一个Bean的属性

用来产生客户端浏览器的特别标签,可以使用它来插入Applet和JavaBean

3.jsp有哪些基本动作?作用分别是什么? 答:JSP共有以下6种基本动作

1. jsp:include:在页面被请求的时候引入一个文件。 2. jsp:useBean:寻找或者实例化一个JavaBean。

3. jsp:setProperty:设置JavaBean的属性。 4. jsp:getProperty:输出某个JavaBean的属性。 5. jsp:forward:把请求转到一个新的页面。

6. jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记

3.JSP中动态INCLUDE与静态INCLUDE的区别?

如果文件仅仅是静态文件,那么这种包含仅仅是把包含文件的内容加到JSP文件中去,但这个被包含文件不会被JSP编译器执行。相反,如果这个被包含文件是动态的文件,那么他将被JSP编译器执行。如果是动态文件还可以用传递参数

4.简述内置对象session与application的区别

Session对象和用户会话相关,不同用户的session是完全不同的对象,而用户的application对象都是相同的一个对象,即共享这个对象。

3、简述jsp页面的基本组成部分

1、普通的html标记

2、jsp标记,动作,指令标记等 3、变量方法的声明 4、java程序片<%%>

5、java表达式<%=var>,等号前不能有空格 4、简述session的作用是什么 Session 是用于保持状态的基于 Web 服务器的方法。Session 允许通过将对象存储在 Web 服务器的内存中在整个用户会话过程中保持任何对象。

4. 说明MVC设计模式中,M、V、C分别代表什么,有什么作用。

答案: M代表Model(模型),该组件是对软件所处理问题逻辑的一种抽象,封装了问题的核心数据,逻辑和功能实现,独立于具体的界面显示以及I/O操作。

V代表View(视图),该组件将表示模型数据,逻辑关系以及状态信息,以某种形式展现给用户。视图组件从模型组件获得显示信息,并且对于相同的显示信息可以通过不同的显示形式或视图展现给用户。

C代表Controller(控制器),该组件主要负责用户与软件之间的交互操作,控制模型状态变化的传播,以确保用户界面与模型状态的统一。

2. 两种跳转方式分别是什么?有什么区别?

操作允许在请求是在现成的JSP页面里包含静态或者动态资源 操作允许将请求转发到另一个JSP、servlet或静态资源文件 4.servlet运行的生命周期图.

装载ServletServlet类 Servlet初始化(调用init方法)实例对象被回收 提供服务(调用Service方法) 销毁Servlet实例(调用destroy方法) 5.在程序里怎样注册servlet.

displayChart

org.jfree.chart.servlet.DisplayChart

displayChart /displayChart

五、程序题

1、用 response 编写一个刷新页面,实现每两秒种刷新一次。 <%

response.setHeader(\设置每 2 秒刷新一次刷新 out.println(new Date().toLocaleString()); //获得当前时间 %>

2、统计访问量

<%! int num=0;

synchronized void add(){ num++; } %> <% add(); %><%-- 方法的调用 --%>

%>

<%=rs.getString(1) %><%=rs.getString(2) %><%=rs.getString(3) %><%=rs.getDouble(4) %> &name=<%=rs.getString(2) %>&from=<%=rs.getString(3) %>&price=<%=rs.getDouble(4) %>\> 购买 <% }

rs.close(); stat.close(); con.close(); %>

addcart.jsp

……………………. <%

String goodsID= (\); String name=(\);

byte b[]=name.getBytes(\); name=new String(b); String from=(\);

byte a[]=from.getBytes(\); from=new String(a);

String aprice=(\);

double price=(aprice);//获取信息

if(session.getAttribute(goodsID)==null) {

goods gd=new goods(goodsID,name,from,price); session.setAttribute(goodsID,gd); }

else {

goods gg=(goods)session.getAttribute(goodsID); int number=gg.getNumber(); gg.setNumber(++number); } %>

1、 开发页面分页功能,涉及到两个页面。

Pagehall.jsp <%

String pageCurrent = request.getParameter(\); String pageTotal = request.getParameter(\); int pageSize=5; int pageC; int pageT;

ArrayList list=new ArrayList(); if(pageCurrent==null){ pageC = 1;

Connection conn=DBUtil.getConn();

Statement stat=conn.createStatement(); ResultSet rs=stat.executeQuery(\count(*) from goods \);

int rowT=0;

while(rs.next()){

rowT = rs.getInt(1); }

pageT = rowT%pageSize==0?rowT/pageSize:rowT/pageSize+1; DBUtil.closeConn(conn,null,rs,null); } else {

pageC = Integer.parseInt(pageCurrent); pageT = Integer.parseInt(pageTotal); if(pageC<1){

pageC = 1; }

if(pageC>pageT){

pageC = pageT; } }

Connection conn = DBUtil.getConn();

Statement stat = conn.createStatement();

//mysql语句中 select * from goods (order by id) limit [返回记录行的偏移量],[返回记录行的最大数目];

//(sql server中使用的sql语句)String sql=\

top\top\from goods order by id)) order by id\ ResultSet rs = stat.executeQuery(\by id limit \+(pageC-1)*pageSize+\+pageSize); while(rs.next()){

goods good = new

goods(rs.getString(1),rs.getString(2),rs.getString(3),rs.getDouble(4));

list.add(good); }

DBUtil.closeConn(conn,null,rs,null); request.setAttribute(\,list);

request.getRequestDispatcher(\+pageC+\pageTotal=\+pageT).forward(request,response);%>

hall2.jsp …………………… <%

int pageCurrent =

Integer.parseInt(request.getParameter(\));

String pageTotal = request.getParameter(\); ArrayList list =

(ArrayList)request.getAttribute(\); %>

本商城可以购买的商品有:

red;font-size:12px;text-align:center;border-collapse:collapse\border=\>

商品编号名称价格生产地点击购买 <%

for(int i=0;i

<%=good.getGoodsID() %><%=good.getName() %><%=good.getPirce() %><%=good.getFrom() %>&name=<%=good.getName() %>&price=<%=good.getPirce() %>&produce=<%=good.getFrom() %>\>购买 <% } %>

&pageTotal=<%=pageTotal%>\>上一页第<%=pageCurrent %>页共<%=pageTotal %>页

&pageTotal=<%=pageTotal %>\>下一页

2、请完成以下程序(代码直接填在横线上): <%

Connection con=null; Statement stat=null; ResultSet rs=null;

Class.forName

(com.microsoft.sqlserver.jdbc.SQLServerDriver\注册驱动

Con=DriverManager.getConnection(\baseName=myshop\建立连接

stat = con. createStatement(); ;//创建执行sql的语句 rs = stat. executeQuery(\执行sql语句

%>

本商城可以购买的商品有:

red;font-size:12px;text-align:center;border-collapse:collapse\border=\

商品编号名称价格生产地点击购买 <%

while( rs.next() ){//判断执行后结果集是否为空 %> <%= rs.getString(1) %>//取出String型数据

<%=rs.getString(2) %><%=rs.getDouble(3) %><%=rs.getString(4) %>

href=\ice=<%=rs.getString(3) %>&produce=<%=rs.getString(4) %>\购买 <% }

rs.close();

stat.close();

con.close(); //释放连接 %>

2、编写程序reg.htm和reg.jsp,做一用户注册界面,包括:用户名,年龄,性别。然后提交到reg.jsp进行注册检验,若用户名为admin,就提示“欢迎你,管理员”,否则,显示“注册成功”并显示出注册信息。

Reg.htm参考代码 :

<%@ page contentType=\ ex8-01.jsp : <% String str1=request.getParameter(\String str2=request.getParameter(\String str3=request.getParameter(\楷体\姓名文本框信息:<%=str1%>
电话文本框信息:<%=str2%>
提交按钮的面值

本文来源:https://www.bwwdw.com/article/8tjw.html

Top