JSP的四大作用域:page、request、session、application
JSP_期末考试_复习题2
一、填空(共10分,每空1分)1. JSP是_____ Sun Microsystems ___ 公司倡导,由多家公司参与一起建立的一种动态网页技术标准,主要用于开发动态网页。
2. 在Tomcat服务器中部署Web应用程序时,可以直接将Web程序归档文件W AR存放到tomcat服务的_______________ webapps ________目录中。
3. 在Servlet中用来接收客户表单数据的两个常用方法为____ get _________、_____post _________。
4. 在一个应用程序中不同的页面共享数据时,最好的JSP内置对象为__________application /session _______。
5. 假设有一个JavaScript函数为show() ,如果要求在页面加载时就执行,最好使用<body>标记的_____event/onload _________什么事件。
6. 在删除数据时要求用户确认是否真的删除数据,如果使用JavaScript实现,应用使用______onclick/confirm __________对话框。
7. JDBC中_________DriverManager/Connection _接口用于连接数据库。
8. Resulset接口的_________next()_方法可以使结果集指针指向下行数据。
9. 如果要获取请求客户端的IP地址,应使用______象。
二、单选选择(60分,每题1.5分)1.在JSP中如果要导入java.io.* 包,应该使用_________A______指令。
A. pageB. taglibC. includeD. forward2.如果当前JSP页面出现异常时需要转到一个异常页,需要设置page 指令的__D______属性。
A. ExceptionB. isErrorPageC. errorD. errorPage3.在MVC模式中,核心内容为____C____。
request,session,application的区别
关于sevlet中request,session,application三者关系的形象解析几乎所有的Web开发语言都支持Session功能,Servlet也不例外。
Servlet/JSP中的Session功能是通过作用域(scope)这个概念来实现的。
作用域分为四种,分别为:page 在当前页面有效(仅用于JSP中)request 在当前请求中有效session 在当前会话中有效application 在所有应用程序中有效是不是看不太明白?page因为仅用于JSP中,这里只讲述其他三种作用域。
首先要声明的一点,所谓“作用域”就是“信息共享的范围”,也就是说一个信息能够在多大的范围内有效。
话说武松一日来到景阳岗,见一旗帜迎风飘扬,旗子上书五个大字“三碗不过岗”。
武松叫道:“店家,拿三碗酒来,再切两斤熟牛肉!”店小二应声道:“三碗好酒,二斤熟牛肉啰~~”里面厨师赶忙当当当当切好牛肉,店小二倒上三碗酒,店小二端上前来。
武松咕咚咕咚连干三碗,叫一声“好酒!店家,再来三碗!”小二忙又倒上三碗好酒,武松一饮而尽。
就这样前前后后武松一共喝了十八大腕。
付了帐刚要走,店小二道:“客官,这前面山上有大虫,客官刚刚喝完十八碗酒恐怕过不得岗,不如在小店暂住一夜,待明天和猎户一同过岗岂不是好?”之后武松说什么就留待各位看官自己去回忆啦。
在这段武松打虎中,大家有没有看到些熟悉的东西?武松: 浏览器。
酒馆: 服务器。
店小二、厨师: Servlet或者JSP。
来三碗好酒!: 浏览器向服务器发出HTTP请求。
店小二上酒: 服务器的响应。
武松从进店到离开: 一个HTTP对话。
我们可以看到,Web交互的最基本单位为HTTP请求(武松点菜)。
每个用户从进入网站到离开网站这段过程称为一个HTTP会话(武松进店到出店),一个服务器的运行过程中会有多个用户访问,就是多个HTTP会话(酒馆当然不可能只接待武松一个客人)。
那么作用域就可以理解为:request HTTP请求开始到结束这段时间session HTTP会话开始到结束这段时间application 服务器启动到停止这段时间request一个HTTP请求的处理可能需要多个Servlet合作(武松点菜时店小二就要吩咐厨房做菜),几个Servlet之间可以通过某种方式传递信息(店小二就用吆喝的方式通知厨房),但这个信息在请求结束后就无效了(厨房在做完菜之后就不用再管这道菜的事儿了)。
浅谈page,request,session,application四种范围
浅谈page,request,session,application四种范围JaveWeb四种主要的范围:1.page: page表⽰页⾯范围。
页⾯范围对应的时间段为:从客户访问⼀个jsp⽂件开始,到这个jsp⽂件执⾏结束。
2.request: request表⽰请求范围。
请求范围时间段为:从客户请求访问⼀个jsp⽂件开始,到这个jsp返回响应结果结束,如果这个jsp⽂件把请求转发给其他web组件,那么知道其他web组件返回响应结果结束。
请求范围是指服务器响应⼀次客户请求的过程,从servlet容器接收到⼀个客户请求开始,到返回响应结果结束, 请求范围与servletRequest和servletResponse相对应。
3.session: session表⽰会话范围。
会话范围对应着整个会话的⽣存周期。
会话范围是指浏览器与⼀个web应⽤进⾏⼀次会话的过程。
具体实现上,会话范围与httpsession对象的⽣命周期相对应。
因此web组件只要共享同⼀个httpsession对象也就能共享会话范围内的数据。
举例说明: 浏览器进程第⼀次请求访问应⽤中⼀个⽀持会话的⽹页,servlet容器驶⼊寻找请求中表⽰sessionID的cookie,由于还不存在这样的cookie,所以⼀个新的会话开始了,创建⼀个httpsession的对象,然后为它分配唯⼀的sessionID,并把id作为Cookie 放在http响应结果中,当浏览器接收到http响应后,会把sessionID保存的cookie保存在客户端。
浏览器进程继续访问应⽤的任意⼀个⽀持会哈德页⾯,http请求会包含表⽰sessionID的Cookie,servlet容器试图寻找http请求中sessionID的cookie,找到后可以找到与sessionID匹配的httpSession。
4.application(应⽤)范围: web应⽤范围对应整个web应⽤的⽣存周期。
JavaWeb答辩问题
Web项目答辩问题1.css和div 开发的优势?A、显示和内容实现分离B、有利于搜索引擎搜索C、有利于维护和程序的扩展2.谈谈页面间的参数传递有哪些方式?A、通过作用域对象session、request 的setAttribute()和getAttribute()方法进行参数传递。
B、<jsp:forward><jsp:param name= value=></jsp:forward>C、request.gerRequestDispatcher(“1.jsp?name=XX”).forward(requ est,response);D、<jsp:useBean id= class= scope=request/session>3.hidden表单域有什么作用?A、多个表单的区分B、多个提交按钮4.jsp有哪些内置对象?pageContex,request,session,application,request,out,exception ,config,page,5.request的作用有哪些?获取客户端传递的参数值获取客户端请求头信息获取会话获取转发对象可作为容器使用, 利用setAttribute()和getAttribute()方法进行参数传递6.session有什么作用。
因为http协议是无状态的协议,但我们需要保存客户端在多次请求之间状态信息的时候,我们需要session来维护客户端的状态Session对象类似于一个容器,可以存放任何对象,以供不同页面间共享数据7.application有什么作用。
保存的一些全局性的对象信息。
8.在jsp中怎样操作page作用域特定于JSP 的一个类型,代表当前的JSP 页面。
pageContext.setAttribute(“java”,”lovo”);9.jsp有哪些动作?作用分别是什么?<jsp:include /> 包含<jsp:forward /> 转发到另一页面相当于request.gerRequestDispatcher(“1.jsp?name=XX”).forward(request,response);<jsp:usebean /> 设置javaBean<jsp:setProperty /> 设置属性<jsp:getProperty /> 获得属性<jsp:plugin /> 设置插件10.java servlet api中forward() 与redirect()的区别?1.forward客户端请求服务器一次,redirect请求服务器两次,所以forward方式可以获得request作用域的信息,而redirect方式不能获得。
Jsp程序设计复习答案
《J S P程序设计》复习题一、选择题1.在传统的HTML页面中加入(D)就构成了一个JSP页面文件。
2.A、JAVA程序片B、JSP标签3.C、用“<%”、“%>”标记符号括起来的程序D、JAVA程序片和JSP标签4.配置JSP运行环境,若WEB应用服务器选用TOMCAT,以下说法正确的是:(B)5.A、先安装TOMCAT,再安装JDK6.B、先安装JDK,再安装TOMCAT7.C、不需安装JDK,安装TOMCAT就可以了8.D、JDK和TOMCAT只要都安装就可以了,安装顺序没关系9.对于“<%!”、“%>”之间声明的变量,以下说法正确的是:( B)10.A、不是JSP页面的成员变量11.B、多个用户同时访问该页面时,任何一个用户对这些变量的操作,都会影响到其他用户12.C、多个用户同时访问该页面时,每个用户对这些变量的操作都是互相独立的,不会互相影响13.D、是JSP页面的局部变量14.在客户端浏览器的源代码中可以看到( B)15.A、JSP注释B、HTML注释16.C、JSP注释和HTML注释D、JAVA注释17.page指令的作用是:(A)18.A、用来定义整个JSP页面的一些属性和这些属性的值19.B、用来在JSP页面内某处嵌入一个文件20.C、使该JSP页面动态包含一个文件21.D、指示JSP页面加载Java plugin22.page指令的import属性的作用是( C )23.A、定义JSP页面响应的MIME类型24.B、定义JSP页面使用的脚本语言25.C、为JSP页面引入JAVA包中的类26.D、定义JSP页面字符的编码27.( C)可在JSP页面出现该指令的位置处,静态插入一个文件。
28.A、page指令标签B、page指令的import属性29.C、include指令标签D、include动作标签30.以下对象中的(D)不是JSP的内置对象。
31.A、request B、session32.C、application D、bean33.在JSP中,内置对象(B)封装了用户提交的信息,使用该对象可以获取用户提交的信息。
jsp考试知识点
《Java Web程序设计》练习题一、填空题1、JDBC对数据库的操作通过5个JDBC的类/接口来实现,它们是:DriverManager 、Statement、Connection、ResultSet和Class。
2、JSP 的英文全称是Java、Srever 、Page。
3、JSP指令元素主要有3种类型的指令,即include、taglib和page。
4、在JSP中提供了_9_个内置对象,分别是request对象、response对象、out对象、session对象、pageContext对象、exception对象、cofig对象、page对象和application对象。
5、在提交表单时有两种不同的提交方法,分别是POST和get。
6、在JSP中实现客户端和服务器的会话可使用session实现。
7、每过10分钟自动刷新的JSP语句是:response.setHeader(“refresh”,”600”)。
8、ResultSet类的.next( ) 方法可以移动记录指针到下一条记录。
9、在JSP中使用<jsp:useBean> 标记来访问JavaBean。
10、在<jsp:useBean>标记中,有一个scope属性,它是用来设定JavaBean存在的范围。
scope属性一分别为page、request、session和application。
11、JDBC是Java DataBase Connectivity的缩写,它的中文名称是java数据库连接技术。
12、JSP页面组成元素中,除了可以包含静态内容(html、js、css)外,还可以包含:JSP指令、j、脚本元素、动作、注释等。
13、异常的处理,可在该方法的代码段中包含3类代码:try 、catch和finally 块。
14、JSP的三个指令中,定义整个JSP页面属性的是page指令,实现静态包含的是include指令,库的是taglib指令。
(完整版)jsp复习题库
JSP期中复习题库一、单选题【】1.request对象中读取同名复选框表单元素的值时,比较合适的方法是A.getAttribute() B.getParameter() C.getParameters() D.getAttributes()【】2.application对象所依赖的类或接口是A.JspWrite B.ServletContextC.PageContext D.HttpServletContext【】3.下面关于session的用法哪个是正确的?A.HttpSession session = new HttpSession();B.String haha =session.getParameter(“haha”);C.session.removeAttribute(“haha”);D.session. setAttribute(“haha”);【】4.关于<jsp:include page="Relative URL" />说法不正确的是哪个?A.URL的输出在请求时被插入到JSP页面中B.不能含有影响整个页面的JSP内容C.被包含文件改变后不需更改使用它的页面D.被包含文件更改后,需要手动地更新使用它的页面【】5.Java关于异常处理机制的叙述哪个正确A.catch部分捕捉到异常情况时,才会执行finally部分B.当try区段的程序发生异常时,不一定执行catch区段的程序C.不论程序是否发生错误及捕捉到异常情况,都会执行finally部分D.以上都是【】6.下面JSP动作中叙述不正确的是A.jsp:forward动作用来把当前的JSP页面重导到另一个页面上,用户看到的地址是当前页面的地址,而内容是另一个页面的。
B.jsp:param动作可单独使用,用于页面间传递参数。
C.jsp:include动作和include指令是不完全一样的。
D.jsp:setProperty动作用来在一个JSP页面中设置已创建的bean的属性值。
JSP的四大作用域:page、request、session、application
JSP的四大作用域:page、request、session、applicationJSP的四大作用域:page、request、session、applicationpage作用域:代表变量只能在当前页面上生效reques t:代表变量能在一次请求中生效,一次请求可能包含一个页面,也可能包含多个页面,比如页面A请求转发到页面B session:代表变量能在一次会话中生效,基本上就是能在web项目下都有效,session的使用也跟cookie有很大的关系。
一般来说,只要浏览器不关闭,cookie 就会一直生效,cookie生效,session的使用就不会受到影响。
application:代表变量能一个应用下(多个会话),在服务器下的多个项目之间都能够使用。
比如baidu、wenku等共享帐号。
Cookie在jsp中语法:Cookie cookie_name =new Cookie("Parameter","Value");例:Cookie username_Cookie =new Cookie("username","waynezheng");response.addCookie(username_Cookie);读取cookie从提交的HTML表单中获取,用户名String userName=request.getParameter("username");以"username", userName 值/对创建一个CookieCookie theUsername=new Cookie("username",userName);在JSP中,使用setMaxAge(int expiry)方法来设置Cookie的存在时间,参数expiry 应是一个整数。
正值表示cookie将在这么多秒以后失效。
java必背面试题
.011# 面试题11.为什么要使用static?使用方式: 通过类名调用创建多个对象时,共享一个静态属性和方法,当有一个对象修改了,其他对象使用时,也会改变一个类只能有一个同名的静态属性和静态方法,这样每个对象创建时,就不会再分配额外空间了,存储在方法区(静态区)节省空间。
2. jvm 内存模型有哪些,分别介绍一下?包括: 堆虚拟机栈本地方法栈程序计数器方法区堆:存储对象数组集合存储new出来的东西方法区: 存储类的信息常量(常量池中)静态变量编译器编译后的数据程序计数器: 相当于当前程序制定的字节码行号,指向下一行代码(因为多线程并发,如何实现轮流切换的,是因为每一个线程都会独立有一个程序计数器,可以保证每个线程切换之后,可以回到原来的位置)虚拟机栈: 存放的是每一个栈帧,每一个栈帧对应的一个被调用的方法栈帧包括: 局部变量表操作数栈常量池引用返回地址 .....局部变量表 : 存储局部变量操作数栈 : 程序中所有的计算过程都是它来完成常量池引用: 在方法运行时,用于引用类中的常量返回地址: 当方法被调用时,方法执行结束,还要回到调用的位置所以要保存一个方法返回地址。
本地方法栈:类似于虚拟机栈,只不过虚拟机栈运行是 java 方法,而它是运行native修饰的方法(本地方法)本地方法是操作系统帮你实现的,java只负责调用即可。
3.创建对象的方式有哪些?1.new2. 克隆3.反射4.反序列化调用构造的: 1. new 2. 反射 newInstance() 调用底层无参构造不用构造: 1. 克隆 : 在堆内存直接将已经存在的对象拷贝一份。
2.反序列化: 表示将本地文件生成一个java对象。
克隆:实现一个接口Cloneable 重写clone()User u = new User();User u2 = u.clone();深克隆:如果对象属性中也有引用类型,这些引用类型也需要实现Cloneable接口,重写clone(), 如果不重写克隆出来的对象基本类型可以克隆,引用类型不会克隆,是指向同一个对象4.什么是自动装箱和拆箱?装箱:就是自动将基本类型转换成封装类型拆箱:就是自动将封装类型转成基本类型。
Java期末试卷以及答案
一、选择题1. 下列选项中,()可以准确地获取请求页面的一个文本框的输入(文本框的名称为name)。
A. request.getParameter(name)B. request.getParameter(”name”)C. request.getParameterValues(name)D. request.getParameterValues(“name”)2. 使用response对象进行重定向时,使用的方法是()。
A. getAttributeB. setContentTypeC. sendRedirectD. setAttribute3. session对象中用于设定指定名字的属性值,并且把它存储在session对象中的方法是()。
A. setAttributeB. getAttributeNamesC. getValueD. getAttribute4. 在application对象中用()方法可以获得application对象中的所有变量名。
A. getServerInfoB. nextElements()C. removeAttributeD. getRealPath5. 要使用JSTL的核心标签库,需要在JSP源文件的首部加入如下声明语句()A. <%@ taglib prefix="c"uri="/jsp/jstl/core" %>B. <%@ taglib prefix=”x”uri=”/jsp/jstl/xml”%>C. <%@ taglib prefix=”fmt”uri=”/jsp/jstl/fmt”%>D. <%@ taglib prefix=”sql”uri=”/jsp/jstl/sql”%>6. 以下()标签用于实现循环功能,类似与Java语句中的for循环。
A. <c:set>B. <c:forEach>C.<c:Tokens>D. <c:import>7.在编写Servlet时,需要继承 HttpServlet 类,在Servlet中声明doGet()和doPost()需要request 和 response 类型的两个参数。
web复习题
一、单项选择题。
1、Tomcat服务器的默认TCP端口号是:( d )A、80B、21C、7001D、80802、JavaBean的生命周期中,哪个是用来跟踪用户的会话的?( a )A、sessionB、requestC、pageD、application3、有关C/S、B/S结构下列说法错误的是:( d )A、:在C/S结构,即客户端/服务器结构中,有专门的数据库服务器,但客户端还要运行客户端应用程序,这也叫做胖客户端。
B、在B/S结构中,客户端在浏览器中只负责表示层逻辑的实现,业务逻辑和数据库都在服务器端运行。
也就是说,应用程序部署在服务器端,客户端通过浏览器访问应用程序。
C、通常B/S结构中,客户端发送HTTP请求消息传给服务器,服务器将请求传递给Web 应用程序,Web应用程序处理请求,并把相应的HTML页面传给客户端。
D、Web应用是基于C/S结构的,也就是客户端/服务器结构。
4、以下从四种不同的作用域中得到Bean的实例,说法错误的是:( a )A、page是指当前Web应用程序的所有JSP文件中取得实例,从Page对象中获取JavaBean;B、request是指在当前的用户请求中取得实例,从ServletRequest对象中获取JavaBean ;、C、session是指在当前的用户会话中取得实例,常用于一个用户登录在网站上全过程不同请求之间共享数据,从HttpSession对象中获取JavaBean ;D、application是指在当前的应用程序中取得实例,常用于同一个应用程序不同用户访问时共享数据,从ServletContext对象中获取JavaBean 。
5、J2EE架构中各层的组件分布说明错误的是?( b )A、Application Client是客户层中包含的组件B、Applets是Web层中包含的组件C、JSP,Servlet是Web层中包含的组件D、Enterprise JavaBean放置在业务层。
JAVA综合考试题(一)
3、 项目中如何体现 Spring 中的切面编程,请距离说明?
4、什么是 MyBatis 的接口绑定,有什么好处?
5、 SpringMVC 中都有哪些配置?
6、 请简述 doget 和 dopost 它们的区别?
7、 什么是抽象类?什么是抽象方法?有什么特点?
8、请详细的描述九大内置对象?
2、有关线程的哪些叙述是对的() A、旦一个线程被创建,它就立即开始运行。 B、用 start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。 C、一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。 D、个线程可能因为不同的原因停止并进入就绪状态。
3、下面的哪些声明是合法的?() A、ong 1 = 499 B、nt i = 4L C、loat f =1.1 D、ouble d = 34.4
System.out.printIn(sooper.getLength()+ “,” + sub.getLength() };} A、,4 B、,5 C、,4 D、,5 E、码不能被编译
5、关于 Java 语言,下列描述正确的是()
A、witch 不能够作用在 String 类型上
B、ist,et,ap 都继承自 Collection 接口
instance = new A(); return instance; } } A、Factory B、Abstract Factory C、 Singleton D、 Builder 7、关于线程设计,下列描述正确的是()
A、线程对象必须实现 Runnable 接口
B、启动一个线程直接调用线程对象的 run()方法
C、Java 提供对多线程同步提供语言级的支持
JSP简答
第一章1.什么是URL,什么是URI,它们都由哪几部分组成?URL与URI有什么关系?答:URL称为统一资源定位符,URL通常由4部分组成:协议名称,主机的DNS名,可选的端口号和资源的名称。
URI成为统一资源标识符,是以特定语法标识一个资源的字符串。
URI由模式和模式特有的部分组成,它们之间用冒号隔开,一般格式如下:schema:schema-specific-partURI是URL和URN的超集。
2.动态Web技术文档有哪些?服务器端动态文档技术和客户端动态文档技术有何不同?答:动态Web文档技术包括服务器端动态文档技术和客户端动态文档技术,前者包括CGI技术。
服务器扩展技术和HTML页面中嵌入脚本技术。
其中HTML页面中嵌入脚本技术包括ASP,PHP和JSP技术。
最流行的客户端动态文档技术是在HTML页面中嵌入JavaScript脚本代码。
使用JavaScript可以设计交互式页面。
与服务器端动态文档不同,JavaScript脚本是在客户端执行的。
3.什么是Servlet?什么是Servlet容器?它的主要作用是什么?Servlet是用ServletAPI开发的Java程序,它运行在Servlet容器中,Servlet容器是运行Servlet的软件,主要用来扩展Web服务器的功能。
4.什么是MVC设计模式,它有什么优点?MVC设计模式称为模型-视图-控制器,在这种模式中,将Web组件分为模型,视图和控制器,每种组件完成各自的任务。
该模式的最大优点是将业务逻辑和数据访问从表示层分离出来,第二章1.HTTP请求结构由哪几部分组成?请求行由哪几部分组成?答;HTTP请求结构由请求行,请求头,空行和请求数据组成。
请求行由方法名,请求资源的URI和使用的HTTP版本三部分组成。
2.HTTP响应结构由哪几部分组成?状态行由哪几部分组成?答:HTTP响应结构由状态行,响应头和响应数据三部分组成。
状态行由HTTP 版本,状态行和简短描述三部分组成。
jsp考试题及答案
jsp考试题及答案一、填空(30分) 211、Tomcat服务器的默认端口是 8080 。
怎样修改tomcat的端口__在Tomcat下打开conf文件夹找到server.xml文件用记事本打开在<Connector port=”8080”>中把8080更改即可_____,2、异常的处理,可在该方法的代码段中包含3类代码: try 、 catch 和finally代码块。
3、jsp主要内置对象有:application 、exception 、pageContext 、 request 、 session 、_____response_____out、config、page。
4、理论上,GET是用于获取服务器信息并将其作为响应返回给客户端,POST是用于客户端把数据传送到服务器。
5、application对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而session对象则是每个客户专用的。
6、JDBC的主要任务是:与数据库建立连接、发送SQL语句、处理结果。
7、一个Bean由三部分组成:实现java.io.serializable接口、提供无参数的构造方法、提供getter()和setter()方法访问它的属性。
8、Java Servlet的主要特点是:、方便、、、节省投资。
运行servlet需要在___web.xml_____注册.9、Servlet的生命周期分三个时期:装载Servlet 、创建一个Servlet实例、销毁。
10、JSP开发网站的两种模式分为_____jsp+javabean___________和 jsp+javabean+servlet 。
二、选择题(20分) 141、下面哪一个不是JSP本身已加载的基本类?(b )A、ng.*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中使用<jsp:getProperty>标记时,不会出现的属性是:( c )A. nameB. propertyC. valueD. 以上皆不会出现6、Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:(D )A. <%@ page %>作用于整个JSP页面。
JSP语法基础
JSP语法基础1、JSP基本概念JSP(Java Server Pages,Java服务器页面)是一种Web动态页面技术,JSP是嵌入了Java程序段的HTML 文件,由HTML元素(静态部分)、JSP元素(动态部分)和JSP注释组成。
JSP文件后缀名为.jsp。
JSP运行时会被容器翻译为Servlet源代码(xxx_jsp.java)、自动编译为.class文件(xxx_jsp.class)、载入.class文件,然后生成Servlet对象。
JSP和Servlet一样是服务器端技术,允许运行在Web服务器端。
JSP定义在JavaWeb工程中WebRoot根路径下或其下的某个目录,其访问方式和访问HTML文件一致。
注意:如果JSP文件放在WEB-INF目录中时,不能直接访问,需通过Servlet转发。
JSP在运行时会动态编译成一个Servlet,其本质上是就是一个Servlet,JSP是对Servlet技术的扩展。
Servlet完全由Java程序代码构成,擅长于流程控制和业务逻辑处理,一般用作控制器(Controller);JSP 由HTML元素和JSP元素构成,对页面的静态内容和动态内容进行了有效分离,擅长于内容的展示,一般用作视图(View)。
注:翻译生成的xxx_jsp.java和xxx_jsp.class文件的位置:Tomcat中,在apache-tomcat\work\Catalina目录需;在Eclipse中,在workspace下\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\XXX\org\apache\jsp。
2、JSP元素JSP元素包括脚本元素、指令元素和动作元素。
脚本元素(3种)用来声明类成员与方法。
使用<%!与%>声明变量时,必须小心数据共享与线程安全的问题。
JSP九大内置对象及四个作用域
JSP九大内置对象及四个作用域九大对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用1-out: out对象是JspWriter类的实例,是向客户端输出内容常用的对象javax.servlet.jsp.JspWriter类型,代表输出流的对象。
作用域为page(页面执行期)request:javax.servlet.ServletRequest的子类型,此对象封装了由WEB浏览器或其它客户端生成地HTTP客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。
它是HttpServletRequest类的实例。
请求的细节(参数,属性,头标和数据)。
作用域为request(用户请求期)。
方法由可查看APIresponse:javax.servlet.ServletResponse的子类型,此对象封装了返回到HTTP客户端的输出,向页面作者提供设置响应头标和状态码的方式。
经常用来设置HTTP标题,添加cookie,设置响应内容的类型和状态,发送HTTP重定向和编码URL。
作用域为page (页面执行期)。
response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。
它是HttpServletResponse类的实例。
pageContext:javax.servlet.jsp.PageContext(抽象类)类型,作用域为page(页面执行期)。
此对象提供所有四个作用域层次的属性查询和修改能力,它也提供了转发请求到其它资源和包含其他资源的方法:pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。
该对象的方法都是抽象方法session:javax.servlet.http.HttpSession类型,主要用于跟踪对话。
JSP面试题及答案
JSP面试题及答案1.浏览器jsp,html之间的关系1.JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览2.在大多数Browser/Server结构的Web应用中,浏览器直接通过HTML或者JSP的形式与用户交互,响应用户的请求3.JSP在服务器上执行,并将执行结果输出到客户端浏览器,我们可以说基本上与浏览器无关2.自定义标签要继承哪个类这个类可以继承TagSupport或者BodyTagSupport,两者的差别是前者适用于没有主体的标签,而后者适用于有主体的标签。
如果选择继承TagSupport,可以实现doStartTag和doEndTag两个方法实现Tag 的功能,如果选择继承BodyTagSupport,可以实现doAfterBody这个方法。
3.过滤器Filter的作用及配置过滤器的作用:过滤器是一个对象,可以传输请求或修改响应。
它可以在请求到达Servlet/JSP之前对其进行预处理,而且能够在响应离开Servlet/JSP之后对其进行后处理。
所以如果你有几个Servlet/JSP需要执行同样的数据转换或页面处理的话,你就可以写一个过滤器类,然后在部署描述文件(web.xml)中把该过滤器与对应的Servlet/JSP联系起来。
你可以一个过滤器以作用于一个或一组servlet,零个或多个过滤器能过滤一个或多个servlet。
一个过滤器实现java.servlet.Filter接口并定义它的三个方法:1.void init(FilterConfig config) throws ServletException:在过滤器执行service前被调用,以设置过滤器的配置对象。
2 void destroy();在过滤器执行service后被调用。
3 Void doFilter(ServletRequest req,ServletResponse res,FilterChain chain) throws IOException,ServletException;4.forward,与redirect 的区别?有哪些方式实现forward是把另一个页面加载到本页面,不改变浏览器的路径,redirect是跳转到另一个页面,会改变浏览器的路径重定向: response.sendRedirect("重定向的路径")转发: request.getRequestDispatcher("转发路径").forward(request, response);5.jsp内置对象和作用?有九个内置对象:request、response、out、session、application、pageContext、config、page、exception作用如下:(1) HttpServletRequest类的Request对象作用:代表请求对象,主要用于接受客户端通过HTTP协议连接传输到服务器端的数据。
(科创)笔试试题
科创笔试试题答题时间:60分钟第一大题 JavaScript编程(任选一题)1、JavaScript编程,填写程序片断。
实现单击multitext文本框,将已选择的书目显示在multitext文本框中。
<html><head><title>复选框-图书选购</title><script name="JavaScript">function check(f){//f.getElementsByName("books");//Multitext.value=f.books;var out = "";var datas = f.books;for(var i=0;i<datas.length;i++){if(datas[i].checked){out+=datas[i].value;out+=" ";}}f.multitext.value=out;//alert(out);}</script></head><body bgColor="#EEEEEE"><form name="formchbox" > 请选择图书:<p><input type="checkbox" name="books" value="红楼梦">红楼梦<br><input type="checkbox" name="books" value="西游记" checked>西游记<br><input type=checkbox name="books" value="三国演义">三国演义<br><input type=checkbox name="books" value="封神演义">封神演义<br><p><font size="-1">单击下面的方框,显示已经选择的书目:<textarea name="multitext" rows=5 cols=30onFocus="check(this.form”)) ></textarea></form></body></html>2、用JavaScript实现密码验证功能1)当用户在密码框中输入密码且密码框失去焦点时,验证密码的正确性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JSP的四大作用域:page、request、session、application
page作用域:代表变量只能在当前页面上生效
reques t:代表变量能在一次请求中生效,一次请求可能包含一个页面,也可能包含多个页面,比如页面A请求转发到页面B
session:代表变量能在一次会话中生效,基本上就是能在web项目下都有效,session的使用也跟cookie有很大的关系。
一般来说,只要浏览器不关闭,cookie 就会一直生效,cookie生效,session的使用就不会受到影响。
application:代表变量能一个应用下(多个会话),在服务器下的多个项目之间都能够使用。
比如baidu、wenku等共享帐号。
Cookie在jsp中语法:
Cookie cookie_name =new Cookie("Parameter","Value");
例:
Cookie username_Cookie =new Cookie("username","waynezheng");
response.addCookie(username_Cookie);
读取cookie
从提交的HTML表单中获取,用户名
String userName=request.getParameter("username");
以"username", userName 值/对创建一个Cookie
Cookie theUsername=new Cookie("username",userName);
在JSP中,使用setMaxAge(int expiry)方法来设置Cookie的存在时间,参数expiry 应是一个整数。
正值表示cookie将在这么多秒以后失效。
注意这个值是cookie 将要存在的最大时间,而不是cookie现在的存在时间。
负值表示当浏览器关闭时,Cookie将会被删除。
零值则是要删除该Cookie。
如:
Cookie deleteNewCookie=new Cookie("newcookie",null);
deleteNewCookie.setMaxAge(0);
删除该Cookie
deleteNewCookie.setPath("/");
response.addCookie(deleteNewCookie);
实例:
<%
String cookieName="Sender";
Cookie cookie=new Cookie(cookieName, "Test_Content");
cookie.setMaxAge(10);
response.addCookie(cookie); %>
其中cookie的存活期为10秒。
Sessionn与cookie的对比:
Session在服务器端保存用户信息
Cookie在客户端保存用户信息
Session中保存的是object类型
Cookie保存的是String类型
Session随会话结束而将其存储的数据销毁
Cookie可以长期保存在客户端
Session保存重要的信息
Cookie保存不重要的用户信息
JSP常用内置对象
Out对象:用于向客户端输出数据
Request对象:主要用于处理客户端请求的数据信息
Response对象:用于响应客户端请求并向客户端输出信息
Session对象:用于记录会话状态的相关信息
Application对象:类似于系统的全局变量,用于实现web应用中的资源共享
JDBC
JDBC访问数据库的步骤
1.DricerManager加载驱动
2.获取connection链接
3.创建seatement执行sql语句
4.返回resultset查询结果
实例:
1.加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
2.获得链接对象
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
3.获得Statement对象stmt=conn.createStatement();
4.写Sql语句
String sql=" ";
5.获得ResultSet结果集
int a=stmt.executeUpdate(sql);
ResultSet结果集
用于存储查询结果
只在执行select语句时返回
方法及说明:
Boolean next()将光标从当前位置向下移动一行
Void close() 关闭ResultSet对象
String getstring(String colLabel)根据列名称对应的值
String getString(int collndex)根据列的位置获取对应的值
Int getInt(Int collndex)根据列的位置获取对应值
Int getint(string collabel)根据列的名称获取对应的值。