JSP考试考试试题.docx
- 文档编号:23248542
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:13
- 大小:19.48KB
JSP考试考试试题.docx
《JSP考试考试试题.docx》由会员分享,可在线阅读,更多相关《JSP考试考试试题.docx(13页珍藏版)》请在冰豆网上搜索。
JSP考试考试试题
一.选择题:
(20个)
范围:
除《tag文件与tag标记》之外的所有章节
二。
填空题:
1当在JSP文件中要使用到Vector对象时,应在JSP文件中加入<%@pageimport=”java.util.*”%>
2_response_对象封装了对客户端的响应。
3HTML一种标记语言,使用各种标记格式化文本信息。
在HTML页面里以_
_标记页面的起始,_6假设在helloapp应用中有一个HelloServlet类,它在web.xml文件中的配置如下:
那么在本地浏览器端访问HelloServlet的URL是_
7下面date1.jsp程序要求在网页中显示当前日期,请将补充程序。
<%@_pageimport=”java.util.*”%>
<%DatemyDate=newDate();
out.println(myDate.toLocaleString());%>
8JDBC的主要任务是:
建立与数据库的连接、向数据库发起查询请求、处理数据库返回结果。
9Servlet的生命周期分三个时期:
装载Servlet、创建一个Servlet实例、销毁
11File类是Object的直接子类,它既可以对文件进行读操作,又可以对文件进行写操作。
12在Tomcat中创建自己的开发目录BW文件夹,需要在BW文件夹中创建_WEB_INF文件夹,还需要_classes文件夹来存放class文件。
13调用request的getRemoteAddr()方法可以_获取客户机的IP地址
三。
简答题:
(5个)
1简述在程序开发中,JSP的运行原理。
1.Web服务器上的JSP引擎将JSP文件转换为Java文件
2.JSP引擎调用Java编译器对Java文件进行编译
3.Java虚拟机执行编译文件,并将结果返回给客户端
注:
Web服务器执行JSP的三个过程不是客户端每次请求一个JSP页面时都被执行的.当Web服务器启动后,客户端第一次请求一个JSP页面时,需要完全执行上述三个过程,此后Servlet的代码便驻留在内存当中,因此当客户端再次请求这个JSP页面时,就可以非常快的得到返回结果.
2列举出九个JSP的内置对象,并简述request、response和session的作用。
request,response,out,session,application,config,pagecontext,page,exception
request作用
内置对象request封装了用户提交的信息,该对象调用相应的方法可以获取封装的信息。
request对象是实现了ServletRequest接口的类的一个实例
response作用
response对象与request对象相对应,服务器可以用response对象对客户端的请求进行动态的响应。
session作用
HTTP是一种无状态协议,服务器在响应了客户端的请求后,服务器与客户端的连接就关闭了,服务器不会保存连接的有关信息。
Tomcat可以使用内置session对象记录有关连接的信息,它是实现了HttpSession接口类的一个实例。
3简述 includepage=”uri”/>与<%@includefile=”uri”%>的区别。 (1)前者动态包含;后者静态插入且被插入页面和插入页面不能有不同的contentType属性值 (2)include指令标记与include动作标记比较: 二者都是在当前JSP页面处理所需要的文件,前者是在编译阶段处理,逻辑和语法上依赖于当前JSP页面,但执行速度快;而后者是在运行阶段处理,逻辑和语法上独立于当前页面,速度慢,但可以使用param子标记 4jsp有哪些动作指令作用分别是什么 include (1)动态包含 (2)在当前JSP页面处理所需要的文件,在运行阶段处理,逻辑和语法上独立于当前页面,速度慢,但可以使用param子标记 param param标记不能独立使用,需要作为jsp: include、jsp: forward、jsp: plugin标记的子标记来使用。 格式为: paramname=“名字”value=“值”> param标记与jsp: include标记一起使用的时候,可以将参数传递到要加载的文件中去,被加载的文件可以通过request内置对象的getParameter()方法获取传递过来的参数。 forward 从该指令处停止当前页面的执行,而转向page属性指定的JSP页面 plugin plugin标记保证客户浏览器能执行Javaapplet程序 5简述编写JavaBean要满足的条件 编写JavaBean就是编写一个java类,只是方法的命名上有一些规则: (1)对应于类的成员变量名xxx,获取及设置xxx的值的两个方法应为getXxx()和setXxx() (2)对于boolean类型的成员变量,允许使用is代替上面的get和set (3)方法的访问控制符必须都是public (4)类中声明的构造函数必须是public,无参数的 6描述JSP和Servlet的区别、共同点、各自应用的范围 JSP在本质上就是SERVLET,但是两者的创建方式不一样。 Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观。 JSP由HTML代码和JSP标签构成,可以方便地编写动态网页。 因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页。 在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层。 JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。 JSP编译后是“类servlet”。 Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。 而JSP是Java和HTML组合成一个扩展名为.jsp的文件。 JSP侧重于视图,Servlet主要用于控制逻辑。 7.简述重定向与转发的实现方式以及区别(实现方式可用代码举例) 重定向的功能是将用户从当前页面或servlet重定向到另一个页面或servlet;转发的功能是将用户对当前JSP页面或servlet对象的请求转发给另一个JSP页面或servlet对象。 转发后用户在地址栏中不能看到forward方法转发的页面或servlet的地址,只能看到该页面或servlet的地址。 重定向: voidsendRedirect(Stringlocation) 实现转发需要两个步骤: (1)得到RequestDispatcher对象 RequestDispatcherdispatcher=request.getRequestDispatcher(“a.jsp”); 其中a.jsp是要转发的JSP页面或servlet的地址 (2)转发: dispatcher.forward(request,response); 8.简述MVC模式的基本思想。 模型-视图-控制器(model-view-controller),简称MVC.MVC是一种先进的设计模式,是一种通过三个不同部分构造一个软件或组建的理想方法: 模型(model): 用于存储数据的对象 视图(view): 显示模型中的数据,向控制器提交所需数据 控制器(controller): 负责具体的业务逻辑操作,即控制器根据视图提出的要求对数据作出处理,将有关结果存储到模型中,并负责让模型和视图进行必要的交互,当模型中的数据变化时,让视图更新显示。 9.简述数据库连接池的思想以及使用连接池的好处。 连接池的思想: Tomcat服务器预先准备好若干个连接对象, 将这些对象保存在一个称为连接池的容器中(通常为链表), 当某个用户需要操作数据库时,只要从连接池中取出一个连接 对象,当用户使用完该连接对象后,再将该对象放回连接池。 若 连接池中没有连接对象可用,那么用户必须等待。 连接池的好处: 1.资源复用2.更快的系统响应速度3.新的资源分配手段4.统一的连接管理,避免数据库连接泄漏 四。 程序设计题: (1个) 范围: 对mysql数据库的连接及增删改查的操作 inquire.jsp <%@pagelanguage="java"contentType="text/html;charset=gb2312" pageEncoding="gb2312"%> <%@pageimport="database.select.*"%> setPropertyname="score"property="name"param="name"/> setPropertyname="score"property="number"param="number"/> setPropertyname="score"property="math"param="math"/> setPropertyname="score"property="english"param="english"/> --设计数据库school,数据库中建表student, 字段name,number,math,english,编写inquire.jsp, 查找数学和英语成绩都在90分以上的同学的记录,显示在页面上--> 学生成绩查询(按条件查询) 英语成绩: 按条件查询: 数学成绩是 getPropertyname="score"property="math"/>, 英语成绩是 getPropertyname="score"property="english"/>的记录: getPropertyname="score"property="queryResultByScore"/> 学生成绩添加 姓名: 学号: 数学成绩: 英语成绩: getPropertyname="score"property="addResult"/> 学生成绩修改 姓名: 数学成绩: 英语成绩: getPropertyname="score"property="updateResultByName"/> 学生成绩删除 姓名: getPropertyname="score"property="delResultByName"/> getPropertyname="score"property="queryResultByAll"/> SelectME.java packagedatabase.select; importjava.sql.*; publicclassSelectME{ intmath=90,english=90; Stringname=""; intnumber; StringBufferqueryResultByScore,queryResultByAll,addResult,updateResultByName,delResultByName; publicSelectME() { //queryResultByScore=newStringBuffer(); //queryResultByAll=newStringBuffer(); //updateResultByName=newStringBuffer(); //delResultByScore=newStringBuffer(); } catch(Exceptione){} } publicintgetMath(){ returnmath; } publicvoidsetMath(intmath){ this.math=math; //queryResultByScore=newStringBuffer(); } publicintgetEnglish(){ returnenglish; } publicvoidsetEnglish(intenglish){ this.english=english; //queryResultByScore=newStringBuffer(); } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicintgetNumber(){ returnnumber; } publicvoidsetNumber(intnumber){ this.number=number; } //按条件查询 publicStringBuffergetQueryResultByScore() {Stringcondition="SELECT*FROMstudentWheremath>="+math +"AND"+"english>="+english; queryResultByScore=f(condition); returnqueryResultByScore; } //查询所有 publicStringBuffergetQueryResultByAll() {Stringcondition="SELECT*FROMstudent"; queryResultByAll=f(condition); returnqueryResultByAll; } //添加 publicStringBuffergetAddResult() { Stringcondition="insertintostudent(name,number,math,english)value("+name+","+number+","+math+","+english+")"; addResult=AddOrUpd(condition); returnaddResult; } //按条件修改 publicStringBuffergetUpdateResultByName() {Stringcondition="updatestudentsetmath="+math+",english="+english+"wherename="+name; updateResultByName=AddOrUpd(condition); returnupdateResultByName; } //按条件删除(删除条件看情况具体写) publicStringBuffergetDelResultByName() {Stringcondition="deletefromstudentwherename="+name; delResultByName=AddOrUpd(condition); returndelResultByName; } privateStringBufferf(Stringcondition) {StringBufferstr=newStringBuffer(); Connectioncon; Statementsql; ResultSetrs; con=DriverManager.getConnection(uri,"root","123456"); sql=con.createStatement(); rs=sql.executeQuery(condition); str.append(" str.append(" str.append(" str.append(" str.append(" while(rs.next()) {str.append(" str.append(" (1)+" str.append(" (2)+" str.append(" str.append(" str.append(" } str.append(" con.close(); } catch(SQLExceptione) } returnstr; } privateStringBufferAddOrUpd(Stringcondition) {StringBufferstr=newStringBuffer(); Connectioncon; Statementsql; ResultSetrs; introws=0; con=DriverManager.getConnection(uri,"root","123456"); sql=con.createStatement(); rows=sql.executeUpdate(condition); if(rows>0){ } con.close(); } catch(SQLExceptione) } returnstr; } }
数学成绩:
查询所有:"); ");"+rs.getString ");"+rs.getInt ");"+rs.getInt(3)+" ");"+rs.getInt(4)+" ");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 考试 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)