班级 : 姓名密:封 线 学号 : 试题共 页 加白纸 张 广东海洋大学 2016 ——2017 学年第二学期
《 JSP程序设计 》课程试题
注:文档及答案由Adao上传提供,如有不妥之处,请自行解决!
2017年题型:选择+填空+程序填空=60分 简答题=40分 一、选择题(2x12=24分)
稍难的一题:有关全局变量的,全局变量会被其后的赋值替代,具体题目是先定义了全局变量x=AAA,后面在程序片重新赋值为x=aaa。然后再定义全局变量y=BBB,后面在程序片重新赋值为y=bbb;问:输出的xy是:aaabbb。(并非AAABBB) 二、填空题(2x8=16分)
1 response 2 webapps 3 attribute? 4 两(p37第二题课后习题) 5 session 6 application 7 next() 8 variable 三、程序填空题
1 n-i-1 2 count+1 3 a[i]
1.简述JSP页面啊运行原理。(p7)
(1)把JSP页面中的HTML标记(页面的静态部分)发送给用户的浏览器,由浏览器中的HTML解释器负责解释执行HTML标记。
(2)负责处理JSP标记,并将有关的处理结果发送到用户的浏览器。
(3)执行“<%”和“%>”之间的java程序片(JSP页面中的动态部分),并把执行的结果交给用户的浏览器显示。
(4)当多个用户请求一个JSP页面时,Tomcat服务器为每个用户启动一个线程,该线程负责执行常驻内存的字节码文件来响应相应用户的请求。这些写线程有Tomcat服务器来管理,将CPU的使用权在各个线程之间快速切换,以保证每个线程都有机会执行字节码文件,这与传统的CGI为每个用户启动一个进程相比较,效率要高得多。
2.简述include指令标记和include动作标记的不同。(p37)
include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。因此,插入文件后,必须保证新合并成的JSP页面符合JSP语法规则,即能够成为一个JSP页面文件。include动作标记告诉JSP页面动态加载一个文件,不把JSP页面中动作指令include所指定的文件与原JSP页面合并一个新的JSP页面,而是告诉Java解释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才被处理。如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是JSP文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。
3.设Web服务目录mymoon中的JSP页面要使用一个bean,改bean的包名为blue.sky。请说明应当怎样保存bean的字节码。(p246)
把创建bean的字节码保存到mymoon\\WEB-INF\\classes\\blue\\sky中。
4.简述JDBC的概念,JDBC操作数据库的步骤。(p145-146)
概念:JDBC提供了访问数据库的API,即由一些Java类和接口组成,是Java运行平台的核心类库中的
一部分。在JSP中可以使用JDBC实现对数据库中表的记录的查询、修改和删除等操作。JDBC操作不同的数据库仅仅是连接方式上的差异而已,使用JDBC的应用程序一旦和数据库建立连接,就可以使用JDBC提供的API操作数据库了。
步骤:1.注册和加载驱动器 ; 2.与数据库建立连接; 3.发送SQL语句; 4.处理结果; 5.关闭连接;
简答题提纲
1.jsp的运行原理:
A.把JSP页面中的HTML标记(页面的静态部分)发给用户的浏览器,由浏览器中的HTML解释器负责解释执行HTML标记
B.(Tomcat服务器)负责处理JSP标记,并将有关的处理结果发给用户浏览器
C.执行<%和%>之间的java程序片(jsp的动态部分),并把执行结果交给用户的浏览器显示
D.当多个用户请求一个jsp页面时,Tomcat服务器会为每个用户启动一个线程,该线程负责执行常驻内存的字节码文件来响应相应用户的请求。这些线程由Tomcat服务器来管理,将CPU的使用权在各个线程间快速切换,以保证每个线程都有机会执行字节码文件,这与传统的CGI为每个用户启动一个进程相比较,效率要高很多。
Jsp文件转译成java文件,编译这个java文件生成字节码文件,字节码文件响应用户请求。
2.include指令标记和include动作标记的区别
答:include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。因此,插入文件后,必须保证新合并成的JSP页面符合JSP语法规则,即能够成为一个JSP页面文件。
include动作标记告诉JSP页面动态加载一个文件,不把JSP页面中动作指令include所指定的文件与原JSP页面合并一个新的JSP页面,而是告诉Java解释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才被处理。如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是JSP文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。
3.用户可以使用浏览器直接访问一个Tag文件吗!? 答:不可以
4.Tag文件应当存放在怎样的目录中? 答:如果某个Web服务目录下的JSP页面准备调用一个Tag文件,那么必须在该
Web服务目录下,建立目录:Web服务目录\\WEB-INF\\tags,其中,WEB-INF和tags都是固定的子目录名称,而tags下的子目录名字可由用户给定。一个Tag文件必须保存到tags目录或其下的子目录中。
处理汉字
String str=request.getParameter(“girl”); Byte b[]=str.getBytes(“iso-8859-1”); Str=new String(b);
5.Response调用sendRedirect(URL url)方法的作用是实现用户的重定向。
6.(1)一个用户在不同的web服务器目录中的session对象不相同
(2)一个用户在相同的web服务器目录的不同子目录中的session对象相同 (3)如果用户长时间不关闭浏览器,用户的sessoin对象可能消失 (4)用户关闭浏览器后,用户的session对象一定消失
7.RandomAccessFile类创建的流在读/写文件时有什么特点?
答:RandomAccessFile类既不是输入流类InputStream类的子类,也不是输出流类Outputstream类的子类。想对一个文件进行读写操作时,可以创建一个指向该文件的RandomAccessFile流,这样我们既可以从这个流中读取这个文件的数据,也可以通过这个流给这个文件写入数据
8.JSP连接MySQL数据库:
<%@pagelanguage=\contentType=\%> <%@pageimport=\%>
try{ Class.forName(\); }
catch(Exception e){}
try{ String uri=\; String user=\;
String password=\;
con = DriverManager.getConnection(uri,user,password); sql=con.createStatement();
rs=sql.executeQuery(\);
///解决中文乱码 String uri=”
jdbc:mysql://127.0.0.1/Student?user=root&password=asd85440821&charach
erEncoding=gb2312”;
Connection con=DriverManager.getConnection(uri); Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery();
9.设Web服务目录mymoon中的JSP页面要使用一个bean,该bean的包名为blue.sky。请说明应当怎样保存bean的字节码。
答:把创建bean的字节码保存到 mymoon\\WEB-INF\\classes\\blue\\sky中。
10.创建了一个名字为moon的bean,该bean有一个String类型、名字为number的属性。如果创建moon的java类没有提供public String getNumber()方法,在JSP页面中是否允许getProperty标记获取moon的number属性的值? 答:不允许
11.tom.jiafei.Circle是创建bean的类,则正确创建session周期bean的标记是:
12.假设创建bean的类有一个int型的属性number,则设置该属性值的正确方法是:public voidsetNumber(int n){ number=n; }