JSP复习资料 8页

  • 83.00 KB
  • 2022-07-28 发布

JSP复习资料

  • 8页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
JSP复习资料一、填空:1、Tomcat服务器的默认端口是8080。2、jsp主要内置对象有:application 、config  、exception  、out  、 page    、pageContext、request、response、session。3、application(application,session)对象是  所有客户共同拥有     ,而session(application,session)对象则是每个客户专用的。4、JDBC的主要任务是:    建立与数据库的连接  、   向数据库发起查询请求     、      处理数据库返回结果5、一个Bean由三部分组成实现java,io.serializable接口  、提供地参数的构造方法    、提供getter()和setter()方法访问它的属性  。6、Servlet的生命周期分三个时期:   初使化 、 服务  、销毁  。7、JSP开发网站的两种模式分为JSP+JavaBean和JSP+JavaBean+Servlet8、对于同一用户,要想在不同的页面之间共享数据,可有以下几种方法:把数据保存的session中,  通过Cookie            ,通过隐含的表单把数据提交到下一页面,      通过ServletContext对象             ,    通过Application对象             ,   通过文件系统或数据库       。9、运行servlet需要在___web.xml注册。10、JSP是Html和Java的结合。11、JSP是运行在Web服务器上的JSP语言。*12、Web服务器是一个servlet容器,它的作用是发布网页。13、JSP的内部对象可以直接使用,它是由servlet容器创建的。14、获取表单
提交的参数,通常使用的内部对象是request,常用的方法是getParameter。15、JavaBena是一个java类,它必须有一个public且无参数方法。16、在JSP中使用JavaBean的标签是,其中id的用途是实例化一个Bean对象。17、加载数据库驱动的方法是Class.forName(),连接数据源的方法是DriverManager.getConnection()。18、Statement对象的两个常用方法是executeUpdate()和executeQuery()。19、JSP的全称是JavaServerPages,是由Sun公司倡导、许多公司参与一起建立的一种动态(动态、静态)网页技术标准。20、在传统的网页HTML文件(*.htm,*.html)中加入Java程序段(Scriptlet)和JSP标记(tag),就构成了JSP网页。21、JSP网页文件的扩展名是.jsp。22、所有的JSP程序操作是在服务器端执行。23、三种常用的动态网页技术是ASP、PHP、JSP。24、Tomcat脚本Startup用于启动服务器;Shutdown用于关闭服务器。25、Java中的Exception是当程序中出现不同寻常的情况时生成的一个对象。26、解决汉字问题最简单的方法就是在文件头加入<%@pagecontentType="text/html;charset=GBK"%>。27、page指令的语法格式为<%@page%>。28、Include指令的语法格式为<%@includefile=“relativeURL”%>,其中relativeURL的意思为相对地址。29、id和scope属性是每一个JSP动作都具有的属性,其中id表示一个动作的名称,scope表示一个动作的作用域。\n30、)动作用于向Bean的属性赋值。31、request对象的方法getAttribute()返回请示的给出名字的属性值。32、response对象的类型是javax.servlet.ServletResponse类的实例,JSP引擎会根据客户端的请求信息建立一个默认的response对象。*33、application对象保存了一个应用系统中的一些公用数据。34、Out对象用于输出数据,其范围是Page。35、out对象的方法close()用于关闭流并输出;getBuffersize()方法用于获得缓冲区的大小。36、JDBC为各种常用数据库提供了无缝连接的技术。37、JavaBean是运行在服务器端,用来响应客户端请示的java代码模块。*38、当一个servlet接收来自客户端的调用请求,它接收两个对象ServletRequest、ServletResponse。39、四个对象有效范围是pageContext:在一个页面设置的属性,在其他页面就不行了、request:在JSP跳转中有效,完成请求后此范围结束。、session:在客户端同服务器相连接的时间,直到其连接中断为止、application:起始于服务器开始运行,终止于服务器关闭。40、作用域最大的JSP内置对象是application。41、注释是描述部分功能或整个程序一段文字说明,不会被解释器执行,而是直接跳过。43、page指令通过ContentType属性指定当前页面的内容类型和字符集。44、page指令的import属性为JSP页面引入java包中的类。45、在JSP中,内置对象request封装了用户提交的信息,使用该对象可以获取用户提交的信息。二、选择题:1、下面哪一个不是JSP本身已加载的基本类?(B  )A、java.lang.*  B、java.io.*  C、javax.servlet.*  D、javax.servlet.jsp.*2、对于预定义<%!预定义%>的说法错误的是:( C )A、一次可声明多个变量和方法,只要以“;”结尾就行       B、一个声明仅在一个页面中有效C、声明的变量将作为局部变量         D、在预定义中声明的变量将在JSP页面初始化时初始化3、从 “员工” 表的“姓名”字段中找出名字包含“玛丽”的人,下面哪条select语句正确:(D  )A、 Select * from员工 where 姓名 =’_玛丽_’  B 、Select * from员工 where 姓名 =’%玛丽_’C、 Select * from员工 where 姓名 like ‘_玛丽%’  D、 Select * from员工 where 姓名 like ‘%玛丽%’4、下述选项中不属于JDBC基本功能的是:( D)A、与数据库建立连接  B、提交SQL语句   C、处理查询结果  D、数据库维护管理5、在JSP中使用标记时,不会出现的属性是:(C)A、 name    B、property     C、value        D、 以上皆不会出现6、Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:(D)A、 <%@ page %>作用于整个JSP页面B、可以在一个页面中使用多个<%@ page %>指令C、为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的D、<%@ page %>指令中的属性只能出现一次7、在JSP中调用JavaBean时不会用到的标记是:(A  )A、B、    C、       D、8、关于JavaBean正确的说法是:(A  )A、Java文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写B、在JSP文件中引用Bean,其实就是用语句\nC、被引用的Bean文件的文件名后缀为.java D、Bean文件放在任何目录下都可以被引用9、Servlet程序的入口点是(A  )A、init()  B、main()  C、service()  D、doGet()10、不能在不同用户之间共享数据的方法是(A  )A、通过cookie  B、利用文件系统   C、利用数据库     D、通过ServletContext对象11、cookie.setMaxAge(60*60)的意思是(B)。A、将cookie的保存时间设置为一分钟B、将cookie的保存时间设置为一小时C、将cookie的保存时间设置为60小时D、将cookie的保存时间设置为一天12、page对象属于(C)类对象。A、输入输出B、作用域通信对象C、ServletD、错误13、在传统的HTML页面中加入(D)就构成了一个JSP页面文件。A、JAVA程序片B、JSP标签C、用“<%”、“%>”标记符号括起来的程序D、JAVA程序片和JSP标签14、配置JSP运行环境,若WEB应用服务器选用TOMCAT,以下说法正确的是:(B)A、先安装TOMCAT,再安装JDKB、先安装JDK,再安装TOMCATC、不需安装JDK,安装TOMCAT就可以了D、JDK和TOMCAT只要都安装就可以了,安装顺序没关系15、下面哪项不是request对象的方法(D)。A、getAttribute(Stringstr)B、getCookies()C、getParameter(Stringstr)D、sendRedirect(Stringurl)16、下列不是JavaBeans编码约定的是(A)A、所有属性都是私有的B、属性值的获取采用get加上首字母大写的属性名来命名方法C、默认构造函数可以是私有的D、属性值的设置采用set加上首字母大字的属性名来命名方法17、下列哪个方法不属于Servlet(B)。A、init()B、run()C、service()D、destroy()18、下面(D)不是form的元素。A、inputB、textareaC、selectD、table19、关于JavaBean的说法,正确是的(C)。A、JavaBean的具体类可以不是public的B、JavaBean可以只提供一个带参数的构造器C、jsp:useBean可以向HTML标记一样不关闭D、JavaBean可以保存状态20、关于get和post两种请求,下列说法正确的是(A)。A、get请示是默认的B、get请示数据量大小不受到限制C、post请求地址栏里是可以看到数据的D、post请求可以由doGet方法处理三、判断题:1、JSP内置对象session用于存储一个用户的会话状态。(对)\n2、通过application对象,可以在不同应用间共享信息。(对)3、Servlet程序的入口点是service。(对)4、JSP技术是基于JAVA语言不区分大小写的。(错)5、JSP页面中一定要包含JSP代码。(错)6、JSP中包括两种指令:page指令和include指令。(错)7、每个子应用对应一个单独的RequestProcessor实例。()8、sendRedirect之后不可以使用原来的request对象,而且效率较低。(错)9、forward地址栏不变化,只能在Web应用程序内的页面间跳转。(对)10、Bean文件放任何目录下都可以使用。(错)11、可以在一个页面中使用多个<%@page%>指令。(对)12、JSP在第一次访问的时候很慢,但是再以后的访问却变得很快。(错)13、可能调用结果集对象的execute()方法来执行插入表格的sql语句。(对)四、问答题:1、JSP中属性的生命期有哪几种范围?请详细论述。答:Page:当前页面有效Request:在请求的连接页面间有效Session:在会话内有效Application:在整个tomcat启动内有效2、简述Servlet与JSP的关系。答:JSP是一种脚本语言,包装了JavaServlet系统的界面,简化了Java和Servlet的使用难度,同时通过扩展JSP标签(TAG)提供了网页动态执行的能力。尽管如此,JSP仍没有超出Java和Servlet的范围,不仅JSP页面上可以直接写Java代码,而且JSP是先被译成Servlet之后才实际运行的。JSP与Servlet之间的主要差异在于,JSP提供了一套简单的标签,和HTML融合的比较好,可以使不了解Servlet的人可以做出动态网页来。JSP修改后可以立即看到结果,不需要手工编译,JSP引擎会来做这些工作;而Servelt缺需要编译,重新启动Servlet引擎等一系列动作。3、试简述JSP中动态include和静态include的区别。答:如果文件仅仅是静态文件,那么这种包含仅仅是把包含文件的内容加到JSP文件中去,但这个被包含文件不会被JSP编译器执行。相反,如果这个被包含文件是动态的文件,那么他将被JSP编译器执行。如果是动态文件还可以用传递参数。4、JSP有哪些动作?作用分别是什么?答:操作被用来以“名—值”队的形式为其他标签提供附加信息操作允许在请求是在现成的JSP页面里包含静态或者动态资源操作允许将请求转发到另一个JSP、servlet或静态资源文件标签用来在JSP页面中创建一个JavaBean实例并指定他的名字以及作用范围此操作和setBean一起协作,用来设置JavaBean的属性操作是对操作的补充,用来访问一个Bean的属性用来产生客户端浏览器的特别标签,可以使用它来插入Applet和JavaBean5、简要阐述Servlet运行的生命流程。答:web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的doXX()方法,结束服务,Web容器调用servlet的destroy()方法。(1)Server创建一个Servlet的实例。(2)Server调用Servlet中的init()方法。(3)一个客户端的请求到达Servlet。\n(4)Server创建一个请求对象。(5)Server创建一个响应对象。(6)Server激活Servlet中的service()方法,传递请求和响应对象作为参数;(7)service()方法使用响应对象的方法,将响应传回Server,最终到达客户端。5、Servlet的特点是什么?答:高效、方便、功能强大、可移植性好、节省投资。6、简述forward和redirect的区别。答:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些浏览内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪里来的,所以她的地址栏还是原来的地址。Redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说,浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。7、JDBC驱动有哪4种类型?这4种类型之间有什么区别?答:1、jdbc-odbc桥2、本地API部分java驱动3、网络协议完全java驱动4、本地协议完全java驱动。Jdbc-odbc桥由于它的执行效率不高,更适合做为开发应用时的一种过度方案,或着对于初学者了解jdbc编程也较适用.对于那些需要大数据量操作的应用程序则应该考虑2,3,4型驱动.在intranet方面的应用可以考虑2型驱动,但是由于3,4型驱动在执行效率上比2型驱动有着明显的优势,而且目前开发的趋势是使用纯java.所以3,4型驱动也可以作为考虑对象.至于基于internet方面的应用就只有考虑3,4型驱动了.因为3型驱动可以把多种数据库驱动都配置在中间层服务器.所以3型驱动最适合那种需要同时连接多个不同种类的数据库,并且对并发连接要求高的应用.4型驱动则适合那些连接单一数据库的工作组应用。8、如何注册servlet?答:在c:\bea\wlserver6.0sp1\config\mydomain\applications\defaultWebapp_myserver\web-inf\目录下找到文件web.xml,用记事本打开。将以下内容添加到该文件中保存即可完成注册。TestUseServlettestservlet.TestUseServletTestUseServletDBTestMyservletmypackage.MyservletMyservletMyservlet9、JSP中的异常包括哪两种?答:异常包括JspEorror和JspException两种。10、HttpServletResponse类的sendRedirect方法和RequestDispatcher类的forward方法有何不同?答:两者都可以让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制有着很大的区别。1.RequestDispatcher.forward方法只能将请求转发给同一个WEB应用中的组件;而HttpServletResponse.sendRedirect方法不仅可以重定向到当前应用程序中的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至可以使用绝对URL重定向到其他站点的资源。2.调用HttpServletResponse.sendRedirect方法重定向的访问过程结束后,浏览器地址栏中显示的URL会发生改变,由初始的URL地址变成重定向的目标URL;而调用RequestDispatcher.forward\n方法的请求转发过程结束后,浏览器地址栏保持初始的URL地址不变。3.HttpServletResponse.sendRedirect方法对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出对另外一个URL的访问请求。RequestDispatcher.forward方法在服务器端内部将请求转发给另外一个资源,浏览器只知道发出了请求并得到了响应结果,并不知道在服务器程序内部发生了转发行为。4.RequestDispatcher.forward方法的调用者与被调用者之间共享相同的request对象和response对象,它们属于同一个访问请求和响应过程;而HttpServletResponse.sendRedirect方法调用者与被调用者使用各自的request对象和response对象,它们属于两个独立的访问请求和响应过程。5.无论是RequestDispatcher.forward方法,还是HttpServletResponse.sendRedirect方法,在调用它们之前,都不能有内容已经被实际输出到了客户端。如果缓冲区中已经有了一些内容,这些内容将被从缓冲区中清除。5、怎样使用request、session和application对象进行参数存取?答:6、简述JSP的执行过程。答:1.JSP文件首先要翻译成Java文件(Servlet),在Tomacat中翻译后的java文件在tomcat的work\Catalina\localhost中相应的名字的应用目录里。2.编译Java文件3.运行.class文件14.两种跳转方式分别是什么?有什么区别?答:操作允许在请求是在现成的JSP页面里包含静态或者动态资源。操作允许将请求转发到另一个JSP、servlet或静态资源文件。前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于goto语句。五、阅读与编程:1、分析下面的代码,写出include.jsp的运行结果。include.jsp代码:<%@ page contentType="text/html;charset=GBK" %>这里是显示结果:

<%@ include file="abc.html"%> 

<%@ include file="mytxt.txt"%> 

<%@ include file="mycode.cod"%> 

2、编写程序reg.htm和reg.jsp,做一用户注册界面,注册信息包括:用户名,年龄,性别。然后提交到reg.jsp进行注册检验,若用户名为admin,就提示“欢迎你,管理员”,否则,显示“注册成功”并显示出注册信息。reg.htm用户名:
年龄:
性别:
\nReg.jsp<%@pagecontentType="text/html;charset=GB2312"%><%Stringname=request.getParameter("na");if(name.equals("admin")){out.println("欢迎你,管理员!");}else{out.println("注册成功");out.println("用户名"+name));out.println("年龄"+request.getParameter("age"));out.println("性别"+request.getParameter("sex"));}%>3、编程:(1)编写MyBean的源代码,其中有两个属性name、passwd。Packagebb;publicclassMyBean{Stringname,passwd;publicMyBean(){name="";passwd="";}publicStringgetName(){Returnname;}publicStringgetPasswd(){Returnpasswd;}publicvoidsetName(Stringname){This.name=name;}publicvoidsetPasswd(Stringpasswd){This.passwd=passwd;}}(2)编写简单的

提交name,passwd参数给get.jsp。NAME:PASSWD:(3)使用编写get.jsp,获取并显示name、passwd参数。<%bean.setName(request.getParameter("na"));bean.setPasswd(request.getParameter("pw"));out,println("你输入的信息为:");out,println("name:"+getName());outpintln("passwd:"+getPasswd());%>2、数据库stu中有数据表student,包含三个字段:xm(姓名),xh(学号),xb(性别),zy(专业),\n共有五条记录。请编程访问sqlserver并显示该表中数据。//加载JDBC驱动器类Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);//建立到数据库的连接con=DriverManager.getConnection(“jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=stu”,”sa””sa”);//在数据库中查询表intselectTable=-1;StringstrSelectTable=“SELECTxm,xh,xb,zyfromsudent”;StatementstmtCreate=con.createStatement();ResultSetrs=stmtCreate.executeQuery(strSelectTable);if(rs!=null){while(rs.next()){out.println(“姓名:”+rs.getString(“xm”)+”
”);out.println(“学号:”+rs.getString(“xh”)+”
”);out.println(“性别:”+rs.getString(“xb”)+”
”);out.println(“专业:”+rs.getString(“zy”)+”
”);}}ElseOut.println(“未查到结果!
”);stmtCreate.close();

相关文档